From 84f61f2bcedaf4ef02205278699e30c24674d1fb Mon Sep 17 00:00:00 2001 From: DongHun Kwak Date: Wed, 28 Jun 2017 10:42:13 +0900 Subject: [PATCH] Imported Upstream version 5.23.0 Change-Id: I8a9bb43daa24232995e474fbdf78a6edbad9a8c7 Signed-off-by: DongHun Kwak --- AUTHORS | 7 +- Configure | 342 +- Cross/config.sh-arm-linux | 49 +- Cross/config.sh-arm-linux-n770 | 42 +- INSTALL | 37 +- MANIFEST | 41 +- META.json | 7 +- META.yml | 5 +- Makefile.SH | 38 +- NetWare/Makefile | 4 +- NetWare/config.wc | 7 + NetWare/config_H.wc | 50 +- Porting/Glossary | 58 +- Porting/Maintainers.pl | 241 +- Porting/bisect-runner.pl | 140 +- Porting/bisect.pl | 48 +- Porting/checkAUTHORS.pl | 12 +- Porting/config.sh | 51 +- Porting/config_H | 18 +- Porting/epigraphs.pod | 1037 - Porting/makerel | 1 - Porting/perldelta_template.pod | 6 +- Porting/release_managers_guide.pod | 166 +- Porting/release_schedule.pod | 60 +- Porting/todo.pod | 4 +- README | 2 +- README.cygwin | 3 - README.haiku | 4 +- README.macosx | 8 +- README.os2 | 2 +- README.vms | 4 +- README.win32 | 10 +- av.c | 22 +- cflags.SH | 6 +- charclass_invlists.h | 4377 +- config_h.SH | 62 +- configure.com | 32 +- cop.h | 9 +- cpan/.dir-locals.el | 1 + cpan/Archive-Tar/bin/ptar | 1 - cpan/Archive-Tar/bin/ptardiff | 1 - cpan/Archive-Tar/bin/ptargrep | 1 - cpan/Archive-Tar/lib/Archive/Tar.pm | 2 +- cpan/Archive-Tar/lib/Archive/Tar/Constant.pm | 2 +- cpan/Archive-Tar/lib/Archive/Tar/File.pm | 2 +- .../lib/CPAN/Meta/Requirements.pm | 54 +- cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm | 58 +- cpan/CPAN-Meta-YAML/t/00-report-prereqs.dd | 66 + cpan/CPAN-Meta-YAML/t/10_read.t | 9 +- cpan/CPAN-Meta-YAML/t/12_write.t | 9 +- cpan/CPAN-Meta-YAML/t/21_yamlpm_compat.t | 7 +- cpan/CPAN-Meta-YAML/t/30_yaml_spec_tml.t | 8 +- cpan/CPAN-Meta-YAML/t/86_fail.t | 30 + cpan/CPAN-Meta-YAML/t/README.md | 8 +- cpan/CPAN-Meta-YAML/t/lib/TestBridge.pm | 47 +- cpan/CPAN-Meta-YAML/t/lib/TestUtils.pm | 7 +- cpan/CPAN-Meta-YAML/t/tml | 1 + .../t/tml-local/load-warning/document.tml | 5 + .../t/tml-local/yaml-roundtrip/collection.tml | 9 + .../t/tml-local/yaml-roundtrip/quoting.tml | 7 +- cpan/CPAN-Meta-YAML/t/tml-world/YAML-Tiny-META.tml | 4 +- cpan/CPAN-Meta/lib/CPAN/Meta.pm | 35 +- cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm | 10 +- cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm | 11 +- cpan/CPAN-Meta/lib/CPAN/Meta/History.pm | 4 +- cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_0.pod | 3 +- cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_1.pod | 3 +- cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_2.pod | 3 +- cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_3.pod | 3 +- cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_4.pod | 3 +- cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm | 25 +- cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm | 15 +- cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm | 4 +- cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm | 11 +- cpan/CPAN-Meta/t/converter-bad.t | 2 +- cpan/CPAN-Meta/t/converter-fail.t | 2 +- cpan/CPAN-Meta/t/converter-fragments.t | 4 +- cpan/CPAN-Meta/t/converter.t | 12 + .../t/data-test/preserve-release-status.yml | 13 + cpan/CPAN-Meta/t/load-bad.t | 8 +- cpan/CPAN-Meta/t/merge.t | 64 +- cpan/CPAN-Meta/t/meta-obj.t | 1 + cpan/CPAN-Meta/t/no-index.t | 1 + cpan/CPAN-Meta/t/optional_feature-merge.t | 8 +- cpan/CPAN-Meta/t/prereqs-finalize.t | 5 +- cpan/CPAN-Meta/t/prereqs-merge.t | 1 + cpan/CPAN-Meta/t/prereqs.t | 2 +- cpan/CPAN-Meta/t/repository.t | 1 + cpan/CPAN-Meta/t/save-load.t | 22 + cpan/CPAN-Meta/t/validator.t | 3 +- cpan/CPAN/lib/App/Cpan.pm | 23 +- cpan/CPAN/lib/CPAN.pm | 6 +- cpan/CPAN/scripts/cpan | 1 - cpan/Digest-SHA/lib/Digest/SHA.pm | 2 +- cpan/Digest-SHA/shasum | 1 - cpan/Digest/Digest.pm | 8 +- cpan/Encode/Encode.pm | 12 +- cpan/Encode/bin/enc2xs | 1 - cpan/Encode/bin/encguess | 1 - cpan/Encode/bin/piconv | 1 - cpan/Encode/bin/ucmlint | 1 - cpan/Encode/bin/unidump | 1 - cpan/Encode/encoding.pm | 143 +- cpan/Encode/t/isa.t | 10 + cpan/ExtUtils-Command/lib/ExtUtils/Command.pm | 7 +- cpan/ExtUtils-MakeMaker/bin/instmodsh | 1 - cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm | 2 +- .../ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm | 2 +- .../lib/ExtUtils/MakeMaker/Config.pm | 2 +- .../ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm | 2 +- cpan/File-Fetch/lib/File/Fetch.pm | 12 +- cpan/Getopt-Long/lib/Getopt/Long.pm | 12 +- cpan/HTTP-Tiny/corpus/redirect-10.txt | 35 + cpan/HTTP-Tiny/lib/HTTP/Tiny.pm | 133 +- cpan/HTTP-Tiny/t/001_api.t | 2 +- cpan/IO-Compress/bin/zipdetails | 1 - cpan/IO-Compress/lib/Compress/Zlib.pm | 2 +- cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm | 2 +- .../IO-Compress/lib/IO/Compress/Adapter/Deflate.pm | 2 +- .../lib/IO/Compress/Adapter/Identity.pm | 2 +- cpan/IO-Compress/lib/IO/Compress/Base.pm | 2 +- cpan/IO-Compress/lib/IO/Compress/Base/Common.pm | 2 +- cpan/IO-Compress/lib/IO/Compress/Bzip2.pm | 2 +- cpan/IO-Compress/lib/IO/Compress/Deflate.pm | 2 +- cpan/IO-Compress/lib/IO/Compress/Gzip.pm | 2 +- cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm | 2 +- cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm | 2 +- cpan/IO-Compress/lib/IO/Compress/Zip.pm | 2 +- cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm | 2 +- cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm | 2 +- cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm | 2 +- .../lib/IO/Uncompress/Adapter/Bunzip2.pm | 2 +- .../lib/IO/Uncompress/Adapter/Identity.pm | 2 +- .../lib/IO/Uncompress/Adapter/Inflate.pm | 2 +- cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm | 2 +- .../IO-Compress/lib/IO/Uncompress/AnyUncompress.pm | 4 +- cpan/IO-Compress/lib/IO/Uncompress/Base.pm | 2 +- cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm | 2 +- cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm | 2 +- cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm | 2 +- cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm | 2 +- cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm | 2 +- cpan/IPC-Cmd/lib/IPC/Cmd.pm | 6 +- cpan/JSON-PP/bin/json_pp | 1 - cpan/JSON-PP/lib/JSON/PP.pm | 2 +- cpan/Locale-Codes/lib/Locale/Codes.pm | 2 +- cpan/Locale-Codes/lib/Locale/Codes.pod | 70 +- cpan/Locale-Codes/lib/Locale/Codes/API.pod | 117 +- cpan/Locale-Codes/lib/Locale/Codes/Changes.pod | 13 +- cpan/Locale-Codes/lib/Locale/Codes/Constants.pm | 2 +- cpan/Locale-Codes/lib/Locale/Codes/Constants.pod | 41 - cpan/Locale-Codes/lib/Locale/Codes/Country.pm | 2 +- cpan/Locale-Codes/lib/Locale/Codes/Country.pod | 48 +- .../Locale-Codes/lib/Locale/Codes/Country_Codes.pm | 4 +- .../lib/Locale/Codes/Country_Retired.pm | 4 +- cpan/Locale-Codes/lib/Locale/Codes/Currency.pm | 2 +- cpan/Locale-Codes/lib/Locale/Codes/Currency.pod | 39 +- .../lib/Locale/Codes/Currency_Codes.pm | 4 +- .../lib/Locale/Codes/Currency_Retired.pm | 4 +- cpan/Locale-Codes/lib/Locale/Codes/LangExt.pm | 2 +- cpan/Locale-Codes/lib/Locale/Codes/LangExt.pod | 36 +- .../Locale-Codes/lib/Locale/Codes/LangExt_Codes.pm | 74 +- .../lib/Locale/Codes/LangExt_Retired.pm | 4 +- cpan/Locale-Codes/lib/Locale/Codes/LangFam.pm | 2 +- cpan/Locale-Codes/lib/Locale/Codes/LangFam.pod | 36 +- .../Locale-Codes/lib/Locale/Codes/LangFam_Codes.pm | 4 +- .../lib/Locale/Codes/LangFam_Retired.pm | 30 +- cpan/Locale-Codes/lib/Locale/Codes/LangVar.pm | 2 +- cpan/Locale-Codes/lib/Locale/Codes/LangVar.pod | 36 +- .../Locale-Codes/lib/Locale/Codes/LangVar_Codes.pm | 587 +- .../lib/Locale/Codes/LangVar_Retired.pm | 5 +- cpan/Locale-Codes/lib/Locale/Codes/Language.pm | 2 +- cpan/Locale-Codes/lib/Locale/Codes/Language.pod | 40 +- .../lib/Locale/Codes/Language_Codes.pm | 40874 ++++++++++--------- .../lib/Locale/Codes/Language_Retired.pm | 4 +- cpan/Locale-Codes/lib/Locale/Codes/Script.pm | 2 +- cpan/Locale-Codes/lib/Locale/Codes/Script.pod | 38 +- cpan/Locale-Codes/lib/Locale/Codes/Script_Codes.pm | 4 +- .../lib/Locale/Codes/Script_Retired.pm | 4 +- cpan/Locale-Codes/lib/Locale/Country.pm | 2 +- cpan/Locale-Codes/lib/Locale/Country.pod | 48 +- cpan/Locale-Codes/lib/Locale/Currency.pm | 2 +- cpan/Locale-Codes/lib/Locale/Currency.pod | 39 +- cpan/Locale-Codes/lib/Locale/Language.pm | 2 +- cpan/Locale-Codes/lib/Locale/Language.pod | 40 +- cpan/Locale-Codes/lib/Locale/Script.pm | 2 +- cpan/Locale-Codes/lib/Locale/Script.pod | 38 +- .../lib/Locale/Maketext/Simple.pm | 9 +- cpan/Memoize/Memoize.pm | 8 +- cpan/Module-Metadata/lib/Module/Metadata.pm | 57 +- cpan/Module-Metadata/t/metadata.t | 1 - cpan/Module-Metadata/t/taint.t | 4 +- .../Parse-CPAN-Meta/{t/data => corpus}/BadMETA.yml | 0 .../{t/data => corpus}/META-VR.json | 0 .../Parse-CPAN-Meta/{t/data => corpus}/META-VR.yml | 0 .../{t/data => corpus}/bareyaml.meta | 0 cpan/Parse-CPAN-Meta/{t/data => corpus}/json.meta | 0 cpan/Parse-CPAN-Meta/{t/data => corpus}/yaml.meta | 0 cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm | 23 +- cpan/Parse-CPAN-Meta/t/02_api.t | 55 +- cpan/Parse-CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm | 2 +- cpan/Pod-Perldoc/lib/Pod/Perldoc.pm | 7 +- cpan/Pod-Simple/lib/Pod/Simple.pm | 80 +- cpan/Pod-Simple/lib/Pod/Simple.pod | 12 +- cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm | 120 +- cpan/Pod-Simple/lib/Pod/Simple/Checker.pm | 12 +- cpan/Pod-Simple/lib/Pod/Simple/Debug.pm | 2 +- cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm | 2 +- cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm | 10 +- cpan/Pod-Simple/lib/Pod/Simple/HTML.pm | 36 +- cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm | 2 +- cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm | 4 +- cpan/Pod-Simple/lib/Pod/Simple/Methody.pm | 2 +- cpan/Pod-Simple/lib/Pod/Simple/Progress.pm | 2 +- cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm | 2 +- .../lib/Pod/Simple/PullParserEndToken.pm | 2 +- .../lib/Pod/Simple/PullParserStartToken.pm | 2 +- .../lib/Pod/Simple/PullParserTextToken.pm | 8 +- cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm | 2 +- cpan/Pod-Simple/lib/Pod/Simple/RTF.pm | 53 +- cpan/Pod-Simple/lib/Pod/Simple/Search.pm | 131 +- cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm | 2 +- cpan/Pod-Simple/lib/Pod/Simple/Subclassing.pod | 18 +- cpan/Pod-Simple/lib/Pod/Simple/Text.pm | 12 +- cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm | 8 +- cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm | 2 +- cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm | 2 +- cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm | 61 +- cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm | 2 +- cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm | 2 +- cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm | 10 +- cpan/Pod-Simple/t/ascii_order.pl | 26 + cpan/Pod-Simple/t/basic.t | 6 +- cpan/Pod-Simple/t/corpus.t | 6 +- cpan/Pod-Simple/t/corpus/encwarn01.xml | 2 +- cpan/Pod-Simple/t/corpus/lat1frim.xml | 2 +- cpan/Pod-Simple/t/encod04.t | 148 +- cpan/Pod-Simple/t/search10.t | 20 +- cpan/Pod-Simple/t/search12.t | 19 +- cpan/Pod-Simple/t/search20.t | 19 +- cpan/Pod-Simple/t/search22.t | 19 +- cpan/Pod-Simple/t/search26.t | 15 +- cpan/Pod-Simple/t/search28.t | 13 +- cpan/Pod-Simple/t/search50.t | 16 +- cpan/Pod-Simple/t/xhtml01.t | 2 +- cpan/Pod-Usage/lib/Pod/Usage.pm | 108 +- cpan/Pod-Usage/scripts/pod2usage.PL | 388 +- cpan/Pod-Usage/t/pod/headwithmarkup.pl | 22 + cpan/Pod-Usage/t/pod/headwithmarkup.t | 13 + cpan/Pod-Usage/t/pod/p2u_data.pl | 36 +- cpan/Pod-Usage/t/pod/pod2usage.t | 36 +- cpan/Pod-Usage/t/pod/pod2usage.xr | 5 +- cpan/Pod-Usage/t/pod/pod2usage2.t | 718 +- cpan/Pod-Usage/t/pod/selectheaders.pl | 34 + cpan/Pod-Usage/t/pod/selectheaders.t | 17 + cpan/Pod-Usage/t/pod/selectsections.pl | 70 + cpan/Pod-Usage/t/pod/selectsections.t | 17 + cpan/Pod-Usage/t/pod/testcmp.pl | 188 +- cpan/Pod-Usage/t/pod/testp2pt.pl | 384 +- cpan/Pod-Usage/t/pod/usage.pod | 36 +- cpan/Pod-Usage/t/pod/usage2.pod | 112 +- cpan/Scalar-List-Utils/ListUtil.xs | 193 +- cpan/Scalar-List-Utils/lib/List/Util.pm | 167 +- cpan/Scalar-List-Utils/lib/List/Util/XS.pm | 2 +- cpan/Scalar-List-Utils/lib/Scalar/Util.pm | 6 +- cpan/Scalar-List-Utils/lib/Sub/Util.pm | 6 +- cpan/Scalar-List-Utils/t/pair.t | 16 +- cpan/Scalar-List-Utils/t/refaddr.t | 2 +- cpan/Socket/Socket.pm | 2 +- cpan/Socket/Socket.xs | 55 + cpan/Sys-Syslog/Syslog.pm | 4 +- cpan/Test-Harness/bin/prove | 1 - cpan/Test-Harness/lib/App/Prove.pm | 2 +- cpan/Test-Harness/lib/App/Prove/State.pm | 2 +- cpan/Test-Harness/lib/App/Prove/State/Result.pm | 2 +- .../lib/App/Prove/State/Result/Test.pm | 2 +- cpan/Test-Harness/lib/TAP/Base.pm | 2 +- cpan/Test-Harness/lib/TAP/Formatter/Base.pm | 2 +- cpan/Test-Harness/lib/TAP/Formatter/Color.pm | 2 +- cpan/Test-Harness/lib/TAP/Formatter/Console.pm | 2 +- .../lib/TAP/Formatter/Console/ParallelSession.pm | 2 +- .../lib/TAP/Formatter/Console/Session.pm | 2 +- cpan/Test-Harness/lib/TAP/Formatter/File.pm | 2 +- .../Test-Harness/lib/TAP/Formatter/File/Session.pm | 2 +- cpan/Test-Harness/lib/TAP/Formatter/Session.pm | 2 +- cpan/Test-Harness/lib/TAP/Harness.pm | 2 +- cpan/Test-Harness/lib/TAP/Harness/Env.pm | 2 +- cpan/Test-Harness/lib/TAP/Object.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Grammar.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Iterator.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm | 2 +- .../lib/TAP/Parser/Iterator/Process.pm | 2 +- .../Test-Harness/lib/TAP/Parser/Iterator/Stream.pm | 2 +- .../Test-Harness/lib/TAP/Parser/IteratorFactory.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Result.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm | 2 +- .../lib/TAP/Parser/Scheduler/Spinner.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/Source.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm | 2 +- .../lib/TAP/Parser/SourceHandler/Executable.pm | 2 +- .../lib/TAP/Parser/SourceHandler/File.pm | 2 +- .../lib/TAP/Parser/SourceHandler/Handle.pm | 2 +- .../lib/TAP/Parser/SourceHandler/Perl.pm | 2 +- .../lib/TAP/Parser/SourceHandler/RawTAP.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm | 2 +- cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm | 2 +- cpan/Test-Harness/lib/Test/Harness.pm | 2 +- cpan/Test/lib/Test.pm | 9 +- cpan/Time-Piece/Piece.pm | 93 +- cpan/Time-Piece/Piece.xs | 77 +- cpan/Time-Piece/Seconds.pm | 76 +- cpan/Time-Piece/t/01base.t | 22 +- cpan/Time-Piece/t/02core.t | 26 +- cpan/Time-Piece/t/02core_dst.t | 139 + cpan/Time-Piece/t/06subclass.t | 10 +- cpan/Time-Piece/t/lib/Time/Piece/Twin.pm | 4 + cpan/Win32/Win32.pm | 84 +- cpan/Win32/t/GetOSName.t | 5 - cpan/autodie/lib/Fatal.pm | 185 +- cpan/autodie/lib/autodie.pm | 2 +- cpan/autodie/lib/autodie/Scope/Guard.pm | 2 +- cpan/autodie/lib/autodie/Scope/GuardStack.pm | 2 +- cpan/autodie/lib/autodie/ScopeUtil.pm | 80 - cpan/autodie/lib/autodie/Util.pm | 250 + cpan/autodie/lib/autodie/exception.pm | 112 +- cpan/autodie/lib/autodie/exception/system.pm | 2 +- cpan/autodie/lib/autodie/hints.pm | 2 +- cpan/autodie/lib/autodie/skip.pm | 2 +- cpan/autodie/t/chmod.t | 9 +- cpan/autodie/t/dbmopen.t | 14 +- cpan/autodie/t/internal.t | 41 +- cpan/autodie/t/lib/my/pragma.pm | 1 + cpan/autodie/t/mkdir.t | 18 +- cpan/libnet/Makefile.PL | 23 +- cpan/libnet/lib/Net/Cmd.pm | 12 +- cpan/libnet/lib/Net/Config.pm | 31 +- cpan/libnet/lib/Net/Domain.pm | 12 +- cpan/libnet/lib/Net/FTP.pm | 40 +- cpan/libnet/lib/Net/FTP/A.pm | 2 +- cpan/libnet/lib/Net/FTP/E.pm | 2 +- cpan/libnet/lib/Net/FTP/I.pm | 2 +- cpan/libnet/lib/Net/FTP/L.pm | 2 +- cpan/libnet/lib/Net/FTP/dataconn.pm | 2 +- cpan/libnet/lib/Net/NNTP.pm | 16 +- cpan/libnet/lib/Net/Netrc.pm | 12 +- cpan/libnet/lib/Net/POP3.pm | 16 +- cpan/libnet/lib/Net/SMTP.pm | 42 +- cpan/libnet/lib/Net/Time.pm | 12 +- cpan/libnet/t/nntp_ssl.t | 4 +- cpan/libnet/t/pop3_ipv6.t | 2 +- cpan/libnet/t/pop3_ssl.t | 8 +- cpan/libnet/t/smtp_ipv6.t | 2 +- cpan/libnet/t/smtp_ssl.t | 8 +- cpan/parent/lib/parent.pm | 19 +- cpan/parent/t/parent-pmc.t | 14 +- cpan/parent/t/parent.t | 9 +- deb.c | 1 + dist/ExtUtils-CBuilder/Changes | 14 + dist/ExtUtils-CBuilder/LICENSE | 6 +- dist/ExtUtils-CBuilder/Makefile.PL | 14 +- dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm | 2 +- .../lib/ExtUtils/CBuilder/Base.pm | 38 +- .../lib/ExtUtils/CBuilder/Platform/Unix.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/VMS.pm | 34 +- .../lib/ExtUtils/CBuilder/Platform/Windows.pm | 8 +- .../lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/aix.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/android.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/cygwin.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/darwin.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/dec_osf.pm | 2 +- .../lib/ExtUtils/CBuilder/Platform/os2.pm | 2 +- dist/ExtUtils-CBuilder/t/04-base.t | 23 +- dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp | 1 - dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm | 4 +- dist/IO/IO.pm | 4 +- dist/Locale-Maketext/lib/Locale/Maketext.pm | 4 +- dist/Math-BigInt/lib/Math/BigFloat.pm | 176 +- dist/Math-BigInt/lib/Math/BigInt.pm | 321 +- dist/Math-BigInt/lib/Math/BigInt/Calc.pm | 2 +- dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm | 2 +- dist/Math-BigInt/t/bare_mbf.t | 2 +- dist/Math-BigInt/t/bare_mbi.t | 2 +- dist/Math-BigInt/t/bigfltpm.inc | 20 +- dist/Math-BigInt/t/bigfltpm.t | 2 +- dist/Math-BigInt/t/bigintpm.inc | 62 +- dist/Math-BigInt/t/bigintpm.t | 2 +- dist/Math-BigInt/t/inf_nan.t | 93 +- dist/Math-BigInt/t/sub_mbf.t | 2 +- dist/Math-BigInt/t/sub_mbi.t | 2 +- dist/Math-BigInt/t/upgrade.inc | 39 +- dist/Math-BigInt/t/upgrade.t | 2 +- dist/Math-BigInt/t/with_sub.t | 2 +- dist/Math-BigRat/lib/Math/BigRat.pm | 200 +- dist/Math-BigRat/t/bigratpm.inc | 17 +- dist/Math-BigRat/t/bigratpm.t | 2 +- dist/Module-CoreList/Changes | 69 - dist/Module-CoreList/corelist | 1 - dist/Module-CoreList/lib/Module/CoreList.pm | 2405 +- dist/Module-CoreList/lib/Module/CoreList.pod | 22 +- .../lib/Module/CoreList/TieHashDelta.pm | 5 +- dist/Module-CoreList/lib/Module/CoreList/Utils.pm | 170 +- dist/Module-CoreList/t/corelist.t | 17 +- dist/Module-CoreList/t/is_core.t | 9 +- dist/Net-Ping/lib/Net/Ping.pm | 8 +- dist/PathTools/Cwd.pm | 7 +- dist/PathTools/Cwd.xs | 1 - dist/PathTools/lib/File/Spec.pm | 2 +- dist/PathTools/lib/File/Spec/Cygwin.pm | 8 +- dist/PathTools/lib/File/Spec/Epoc.pm | 2 +- dist/PathTools/lib/File/Spec/Functions.pm | 2 +- dist/PathTools/lib/File/Spec/Mac.pm | 2 +- dist/PathTools/lib/File/Spec/OS2.pm | 2 +- dist/PathTools/lib/File/Spec/Unix.pm | 2 +- dist/PathTools/lib/File/Spec/VMS.pm | 7 +- dist/PathTools/lib/File/Spec/Win32.pm | 8 +- dist/PathTools/t/taint.t | 19 +- dist/Storable/Storable.pm | 10 +- dist/Storable/Storable.xs | 1 - dist/XSLoader/XSLoader_pm.PL | 41 +- dist/XSLoader/t/XSLoader.t | 27 +- dist/bignum/lib/bigint.pm | 4 +- dist/bignum/lib/bignum.pm | 4 +- dist/bignum/lib/bigrat.pm | 4 +- dist/threads/lib/threads.pm | 4 +- dist/threads/t/exit.t | 10 +- dist/threads/t/thread.t | 2 +- doio.c | 12 +- dump.c | 7 +- embed.fnc | 16 - embed.h | 19 +- ext/POSIX/POSIX.xs | 296 +- ext/POSIX/lib/POSIX.pm | 6 +- ext/POSIX/lib/POSIX.pod | 111 +- ext/POSIX/t/export.t | 4 + ext/POSIX/t/math.t | 94 +- ext/POSIX/t/posix.t | 1 + ext/POSIX/t/strerror_errno.t | 7 - ext/POSIX/t/wrappers.t | 1 + ext/POSIX/typemap | 14 +- ext/PerlIO-scalar/scalar.pm | 2 +- ext/PerlIO-scalar/scalar.xs | 2 +- ext/Pod-Html/bin/pod2html | 1 - ext/Pod-Html/lib/Pod/Html.pm | 2 +- ext/XS-APItest/APItest.pm | 2 +- ext/XS-APItest/APItest.xs | 74 +- ext/XS-APItest/t/call.t | 55 +- ext/XS-APItest/t/callregexec.t | 6 +- ext/XS-APItest/t/multicall.t | 107 +- ext/XS-APItest/t/win32.t | 39 - ext/XS-APItest/typemap | 12 - globvar.sym | 2 + gv.c | 2 +- handy.h | 6 + hints/aix.sh | 46 + hints/catamount.sh | 4 +- hints/darwin.sh | 10 - hints/irix_6.sh | 3 - hv.c | 10 +- hv_func.h | 14 +- intrpvar.h | 4 +- lib/B/Op_private.pm | 2 +- lib/UNIVERSAL.pm | 8 +- lib/Unicode/UCD.t | 6 +- lib/feature.pm | 11 +- lib/perl5db.pl | 15 +- lib/perl5db.t | 27 +- lib/perl5db/t/test-a-statement-2 | 10 + lib/unicore/ArabicShaping.txt | 34 +- lib/unicore/BidiBrackets.txt | 6 +- lib/unicore/BidiMirroring.txt | 10 +- lib/unicore/Blocks.txt | 25 +- lib/unicore/CJKRadicals.txt | 22 +- lib/unicore/CaseFolding.txt | 147 +- lib/unicore/CompositionExclusions.txt | 6 +- lib/unicore/DAge.txt | 74 +- lib/unicore/DCoreProperties.txt | 483 +- lib/unicore/DNormalizationProps.txt | 157 +- lib/unicore/EastAsianWidth.txt | 121 +- lib/unicore/EmojiSources.txt | 8 +- lib/unicore/HangulSyllableType.txt | 6 +- lib/unicore/Index.txt | 33 + ...traCategory.txt => IndicPositionalCategory.txt} | 313 +- lib/unicore/IndicSyllabicCategory.txt | 159 +- lib/unicore/Jamo.txt | 8 +- lib/unicore/LineBreak.txt | 132 +- lib/unicore/NameAliases.txt | 15 +- lib/unicore/NamedSequences.txt | 6 +- lib/unicore/NamedSqProv.txt | 22 +- lib/unicore/NamesList.txt | 2967 +- lib/unicore/NormalizationCorrections.txt | 6 +- lib/unicore/PropList.txt | 66 +- lib/unicore/PropValueAliases.txt | 59 +- lib/unicore/PropertyAliases.txt | 8 +- lib/unicore/ReadMe.txt | 8 +- lib/unicore/ScriptExtensions.txt | 143 +- lib/unicore/Scripts.txt | 180 +- lib/unicore/SpecialCasing.txt | 4 +- lib/unicore/StandardizedVariants.txt | 34 +- lib/unicore/UnicodeData.txt | 2161 +- lib/unicore/auxiliary/GCBTest.txt | 6 +- lib/unicore/auxiliary/GraphemeBreakProperty.txt | 33 +- lib/unicore/auxiliary/SBTest.txt | 16 +- lib/unicore/auxiliary/SentenceBreakProperty.txt | 90 +- lib/unicore/auxiliary/WBTest.txt | 125 +- lib/unicore/auxiliary/WordBreakProperty.txt | 69 +- lib/unicore/extracted/DBidiClass.txt | 140 +- lib/unicore/extracted/DBinaryProperties.txt | 6 +- lib/unicore/extracted/DCombiningClass.txt | 125 +- lib/unicore/extracted/DDecompositionType.txt | 6 +- lib/unicore/extracted/DEastAsianWidth.txt | 120 +- lib/unicore/extracted/DGeneralCategory.txt | 237 +- lib/unicore/extracted/DJoinGroup.txt | 12 +- lib/unicore/extracted/DJoinType.txt | 38 +- lib/unicore/extracted/DLineBreak.txt | 161 +- lib/unicore/extracted/DNumType.txt | 17 +- lib/unicore/extracted/DNumValues.txt | 255 +- lib/unicore/mktables | 91 +- lib/unicore/version | 2 +- lib/utf8_heavy.pl | 6 +- lib/vars_carp.t | 1 + lib/warnings.pm | 8 +- locale.c | 16 +- mg.c | 2 +- numeric.c | 18 +- op.c | 68 +- op_reg_common.h | 6 +- patchlevel.h | 6 +- perl.c | 90 +- perl.h | 645 +- perlio.c | 112 +- perlio.h | 114 +- perliol.h | 210 +- perly.c | 2 +- plan9/config.plan9 | 10 +- plan9/config_sh.sample | 47 +- pod/.gitignore | 2 +- pod/perl.pod | 3 - pod/perl5200delta.pod | 5 - pod/perl5203delta.pod | 312 - pod/perl5220delta.pod | 3 +- pod/perl5221delta.pod | 338 - pod/perl5222delta.pod | 386 - pod/perlapio.pod | 18 +- pod/perlcommunity.pod | 19 +- pod/perldata.pod | 11 +- pod/perldebguts.pod | 1 - pod/perldelta.pod | 244 +- pod/perldiag.pod | 56 +- pod/perlfunc.pod | 23 +- pod/perlhacktips.pod | 39 +- pod/perlhist.pod | 89 +- pod/perlobj.pod | 4 +- pod/perlop.pod | 2 +- pod/perlpolicy.pod | 15 +- pod/perlport.pod | 4 +- pod/perlre.pod | 39 +- pod/perlrebackslash.pod | 14 - pod/perlref.pod | 4 +- pod/perlreref.pod | 19 +- pod/perlretut.pod | 4 - pod/perlrun.pod | 86 +- pod/perlsub.pod | 3 +- pod/perltie.pod | 15 +- pod/perlvar.pod | 17 +- pp.c | 47 +- pp_ctl.c | 387 +- pp_hot.c | 8 +- pp_pack.c | 15 +- pp_sort.c | 44 +- pp_sys.c | 40 +- proto.h | 86 +- reentr.c | 8 +- regcharclass.h | 90 +- regcomp.c | 180 +- regcomp.h | 3 +- regcomp.sym | 1 - regen/feature.pl | 8 +- regen/mk_invlists.pl | 5 +- regen/reentr.pl | 8 +- regen/regcharclass.pl | 6 +- regen/warnings.pl | 17 +- regexec.c | 234 +- regexp.h | 2 +- regnodes.h | 320 +- sv.c | 114 +- sv.h | 3 +- symbian/config.sh | 7 + symbian/symbianish.h | 4 - t/base/lex.t | 8 +- t/io/eintr.t | 6 +- t/io/errno.t | 6 +- t/io/open.t | 10 +- t/io/semctl.t | 2 - t/lib/Cname.pm | 10 - t/lib/croak/pp_sys | 16 - t/lib/croak/toke | 23 - t/lib/strict/subs | 10 - t/lib/warnings/7fatal | 18 + t/lib/warnings/regcomp | 7 - t/lib/warnings/regexec | 1 - t/loc_tools.pl | 19 +- t/op/attrs.t | 19 - t/op/bop.t | 36 +- t/op/chdir.t | 30 +- t/op/eval.t | 12 +- t/op/gv.t | 20 +- t/op/heredoc.t | 19 +- t/op/hexfp.t | 72 +- t/op/lc.t | 26 +- t/op/list.t | 5 +- t/op/method.t | 19 +- t/op/pack.t | 22 +- t/op/sigdispatch.t | 5 +- t/op/sort.t | 28 +- t/op/sprintf.t | 9 +- t/op/sprintf2.t | 94 +- t/op/sub.t | 45 +- t/op/tie_fetch_count.t | 18 +- t/op/time.t | 6 +- t/porting/customized.dat | 182 +- t/porting/known_pod_issues.dat | 3 +- t/re/pat.t | 18 +- t/re/pat_advanced.t | 83 - t/re/pat_rt_report.t | 69 +- t/re/re_tests | 17 - t/re/reg_mesg.t | 5 +- t/re/regex_sets.t | 34 - t/re/subst.t | 26 +- t/run/locale.t | 11 +- t/run/switchDx.t | 50 - t/win32/crypt.t | 41 - toke.c | 165 +- uconfig.h | 82 +- uconfig.sh | 23 +- uconfig64.sh | 23 +- unicode_constants.h | 2 +- universal.c | 2 +- util.c | 21 +- utils/c2ph.PL | 1 - utils/h2ph.PL | 2 - utils/h2xs.PL | 2 - utils/libnetcfg.PL | 1 - utils/perlbug.PL | 1 - utils/perldoc.PL | 5 +- utils/perlivp.PL | 2 - utils/splain.PL | 6 - vms/descrip_mms.template | 2 +- vms/vms.c | 4 +- win32/GNUmakefile | 1380 + win32/Makefile | 55 +- win32/Makefile.ce | 2 +- win32/config.ce | 7 + win32/config.gc | 7 + win32/config.vc | 7 + win32/config_H.ce | 44 +- win32/config_H.gc | 56 +- win32/config_H.vc | 56 +- win32/config_h.PL | 7 +- win32/config_sh.PL | 25 +- win32/fcrypt.c | 14 - win32/makefile.mk | 57 +- win32/perlexe.manifest | 14 - win32/perlhost.h | 9 +- win32/pod.mak | 20 +- win32/vdir.h | 23 +- win32/win32.c | 8 +- win32/win32.h | 11 - win32/wince.c | 6 - 706 files changed, 42615 insertions(+), 35355 deletions(-) create mode 100644 cpan/CPAN-Meta-YAML/t/00-report-prereqs.dd create mode 100644 cpan/CPAN-Meta-YAML/t/86_fail.t create mode 100644 cpan/CPAN-Meta-YAML/t/tml-local/load-warning/document.tml create mode 100644 cpan/CPAN-Meta/t/data-test/preserve-release-status.yml create mode 100644 cpan/Encode/t/isa.t create mode 100644 cpan/HTTP-Tiny/corpus/redirect-10.txt delete mode 100644 cpan/Locale-Codes/lib/Locale/Codes/Constants.pod rename cpan/Parse-CPAN-Meta/{t/data => corpus}/BadMETA.yml (100%) rename cpan/Parse-CPAN-Meta/{t/data => corpus}/META-VR.json (100%) rename cpan/Parse-CPAN-Meta/{t/data => corpus}/META-VR.yml (100%) rename cpan/Parse-CPAN-Meta/{t/data => corpus}/bareyaml.meta (100%) rename cpan/Parse-CPAN-Meta/{t/data => corpus}/json.meta (100%) rename cpan/Parse-CPAN-Meta/{t/data => corpus}/yaml.meta (100%) create mode 100644 cpan/Pod-Simple/t/ascii_order.pl create mode 100644 cpan/Pod-Usage/t/pod/headwithmarkup.pl create mode 100644 cpan/Pod-Usage/t/pod/headwithmarkup.t create mode 100644 cpan/Pod-Usage/t/pod/selectheaders.pl create mode 100644 cpan/Pod-Usage/t/pod/selectheaders.t create mode 100644 cpan/Pod-Usage/t/pod/selectsections.pl create mode 100644 cpan/Pod-Usage/t/pod/selectsections.t create mode 100644 cpan/Time-Piece/t/02core_dst.t create mode 100644 cpan/Time-Piece/t/lib/Time/Piece/Twin.pm delete mode 100644 cpan/autodie/lib/autodie/ScopeUtil.pm create mode 100644 cpan/autodie/lib/autodie/Util.pm delete mode 100644 ext/XS-APItest/t/win32.t create mode 100644 lib/perl5db/t/test-a-statement-2 rename lib/unicore/{IndicMatraCategory.txt => IndicPositionalCategory.txt} (62%) delete mode 100644 pod/perl5203delta.pod delete mode 100644 pod/perl5221delta.pod delete mode 100644 pod/perl5222delta.pod delete mode 100644 t/lib/croak/pp_sys delete mode 100644 t/run/switchDx.t delete mode 100644 t/win32/crypt.t create mode 100644 win32/GNUmakefile diff --git a/AUTHORS b/AUTHORS index 3dce08e..c191a7d 100644 --- a/AUTHORS +++ b/AUTHORS @@ -102,7 +102,6 @@ Andrew Vignaux Andrew Wilcox Andrey Sapozhnikov Andy Armstrong -Andy Broad Andy Bussey Andy Dougherty Andy Lester @@ -230,7 +229,6 @@ Chris Heath Chris Lightfoot Chris Nandor Chris Pepper -Chris Travers Chris Tubutis Chris Wick Chris Williams @@ -532,7 +530,7 @@ James McCoy James Raspass Jamshid Afshar Jan D. -Jan Dubois +Jan Dubois Jan Pazdziora Jan Starzynski Jan-Erik Karlsson @@ -786,6 +784,7 @@ Marko Asplund Marnix van Ammers Martien Verbruggen Martijn Koster +Martijn Lievaart Martin Hasch Martin Husemann Martin J. Bligh @@ -1210,10 +1209,10 @@ Tye McQueen Ulrich Habel Ulrich Kunitz Ulrich Pfeifer +Unicode Consortium Vadim Konovalov Valeriy E. Ushakov Vernon Lyon -Victor Adam Victor Efimov Viktor Turskyi Ville Skyttä diff --git a/Configure b/Configure index 5f5f279..ef22432 100755 --- a/Configure +++ b/Configure @@ -631,7 +631,10 @@ d_log2='' d_logb='' d_ldexpl='' d_longdbl='' +longdblinfbytes='' longdblkind='' +longdblmantbits='' +longdblnanbytes='' longdblsize='' d_longlong='' longlongsize='' @@ -1096,6 +1099,9 @@ d_PRIfldbl='' d_PRIgldbl='' d_SCNfldbl='' doublekind='' +doubleinfbytes='' +doublemantbits='' +doublenanbytes='' sPRIEUldbl='' sPRIFUldbl='' sPRIGUldbl='' @@ -1174,6 +1180,7 @@ ivsize='' ivtype='' nv_overflows_integers_at='' nv_preserves_uv_bits='' +nvmantbits='' nvsize='' nvtype='' u16size='' @@ -1299,7 +1306,6 @@ use64bitall='' use64bitint='' usecbacktrace='' dtrace='' -dtraceobject='' usedtrace='' usefaststdio='' usekernprocpathname='' @@ -1455,7 +1461,7 @@ libswanted_uselargefiles='' : set usesocks on the Configure command line to enable socks. : List of libraries we want. : If anyone needs extra -lxxx, put those in a hint file. -libswanted="cl pthread socket bind inet nsl ndbm gdbm dbm db malloc dl ld" +libswanted="cl pthread socket bind inet nsl nm ndbm gdbm dbm db malloc dl ld" libswanted="$libswanted sun m crypt sec util c cposix posix ucb bsd BSD" : We probably want to search /usr/shlib before most other libraries. : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. @@ -6926,17 +6932,16 @@ int main() { } #endif /* For alignment 32-bit platforms have the 80 bits in 12 bytes, - * while 64-bits platforms have it in 16 bytes. The trailing bytes - * cannot be trusted. */ + * while 64-bits platforms have it in 16 bytes. */ #if LDBL_MANT_DIG == 64 && (LONGDBLSIZE == 16 || LONGDBLSIZE == 12) - if (b[0] == 0xCD && b[9] == 0xBF) { + if (b[0] == 0xCD && b[9] == 0xBF && b[10] == 0x00) { /* x86 80-bit little-endian, sizeof 12 (ILP32, Solaris x86) * or 16 (LP64, Linux and OS X), 4 or 6 bytes of padding. * Also known as "extended precision". */ printf("3\n"); exit(0); } - if (b[0] == 0xBF && b[9] == 0xCD) { + if (b[0] == 0xBF && b[9] == 0xCD && b[10] == 0x00) { /* is there ever big-endian 80-bit, really? */ printf("4\n"); exit(0); @@ -6946,35 +6951,17 @@ int main() { /* software "double double", the 106 is 53+53. * but irix thinks it is 107. */ if (b[0] == 0x9A && b[7] == 0x3C && b[8] == 0x9A && b[15] == 0xBF) { - /* double double 128-bit fully little-endian, - * little-endian doubles in little-endian order, + /* double double 128-bit little-endian, * 9a 99 99 99 99 99 59 3c 9a 99 99 99 99 99 b9 bf */ printf("5\n"); exit(0); } if (b[0] == 0xBF && b[7] == 0x9A && b[8] == 0x3C && b[15] == 0x9A) { - /* double double 128-bit fully big-endian, - * big-endian doubles in big-endian order, - * e.g. PPC/Power and MIPS: + /* double double 128-bit big-endian, e.g. PPC/Power and MIPS: * bf b9 99 99 99 99 99 9a 3c 59 99 99 99 99 99 9a */ printf("6\n"); exit(0); } - if (b[0] == 0x9A && b[7] == 0xBF && b[8] == 0x9A && b[15] == 0x3C) { - /* double double 128-bit mixed endian. - * little-endian doubles in big-endian order, - * e.g. ppc64el, - * 9a 99 99 99 99 99 b9 bf 9a 99 99 99 99 99 59 3c */ - printf("7\n"); - exit(0); - } - if (b[0] == 0x3C && b[7] == 0x9A && b[8] == 0xBF && b[15] == 0x9A) { - /* double double 128-bit mixed endian, - * big-endian doubles in little-endian order, - * 3c 59 99 99 99 99 99 9a bf b9 99 99 99 99 99 9a */ - printf("8\n"); - exit(0); - } #endif printf("-1\n"); /* unknown */ exit(0); @@ -6995,10 +6982,8 @@ case "$longdblkind" in 2) echo "You have IEEE 754 128-bit big endian long doubles." >&4 ;; 3) echo "You have x86 80-bit little endian long doubles." >& 4 ;; 4) echo "You have x86 80-bit big endian long doubles." >& 4 ;; -5) echo "You have 128-bit fully little-endian double-double long doubles (64-bit LEs in LE)." >& 4 ;; -6) echo "You have 128-bit fully big-endian double-double long doubles (64-bit BEs in BE)." >& 4 ;; -7) echo "You have 128-bit mixed double-double long doubles (64-bit LEs in BE)." >& 4 ;; -8) echo "You have 128-bit mixed double-double long doubles (64-bit BEs in LE)." >& 4 ;; +5) echo "You have 128-bit little-endian double-double long doubles." >& 4 ;; +6) echo "You have 128-bit big-endian double-double long doubles." >& 4 ;; *) echo "Cannot figure out your long double." >&4 ;; esac $rm_try @@ -8125,33 +8110,6 @@ EOM esac done -case "$usedtrace" in -$define) - case "$dtraceobject" in - $define|true|[yY]*) - dtraceobject=$define - ;; - ' '|'') - $dtrace -h -s ../perldtrace.d -o perldtrace.h - $cat >try.c <&4 +$cat >try.c < +#endif +#include +/* Note that whether the sign bit is on or off + * for NaN depends on the CPU/FPU, and possibly + * can be affected by the build toolchain. + * + * For example for older MIPS and HP-PA 2.0 the quiet NaN is: + * 0x7f, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + * 0x7f, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + * (respectively) as opposed to the more usual + * 0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + */ +static void bytes(unsigned char *p, unsigned int n) { + int i; + for (i = 0; i < n; i++) { + printf("0x%02x%s", p[i], i < n - 1 ? ", " : "\n"); + } +} +int main(int argc, char *argv[]) { + /* We cannot use 1.0/0.0 and 0.0/0.0 (with L suffixes for long double) + * because some compilers are 'smart' and not only warn but refuse to + * compile such 'illegal' values. */ + double dinf = exp(1e9); + double dnan = sqrt(-1.0); +#ifdef HAS_LONG_DOUBLE + long double ldinf = (long double)exp(1e9); + long double ldnan = (long double)sqrt(-1.0); +#endif + if (argc == 2) { + switch (argv[1][0]) { + case '1': bytes(&dinf, sizeof(dinf)); break; + case '2': bytes(&dnan, sizeof(dnan)); break; +#ifdef HAS_LONG_DOUBLE +# if LONG_DOUBLEKIND == 3 || LONG_DOUBLEKIND == 4 +/* the 80-bit long doubles might have garbage in their excess bytes */ + memset((char *)&ldinf + 10, '\0', LONG_DOUBLESIZE - 10); +# endif + case '3': bytes(&ldinf, sizeof(ldinf)); break; + case '4': bytes(&ldnan, sizeof(ldnan)); break; +#endif + } + } + return 0; +} +EOP +set try +if eval $compile; then + doubleinfbytes=`$run ./try 1` + doublenanbytes=`$run ./try 2` + case "$d_longdbl" in + $define) + longdblinfbytes=`$run ./try 3` + longdblnanbytes=`$run ./try 4` + ;; + esac +else + # Defaults in case the above test program failed. + case "$doublekind" in + 1) # IEEE 754 32-bit LE + doubleinfbytes='0x00, 0x00, 0xf0, 0x7f' + doublenanbytes='0x00, 0x00, 0xf8, 0x7f' + ;; + 2) # IEEE 754 32-bit BE + doubleinfbytes='0x7f, 0xf0, 0x00, 0x00' + doublenanbytes='0x7f, 0xf8, 0x00, 0x00' + ;; + 3) # IEEE 754 64-bit LE + doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f' + doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f' + ;; + 4) # IEEE 754 64-bit BE + doubleinfbytes='0x7f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' + doublenanbytes='0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' + ;; + 5) # IEEE 754 128-bit LE + doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f' + doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f' + ;; + 6) # IEEE 754 128-bit BE + doubleinfbytes='0x7f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' + doublenanbytes='0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' + ;; + 7) # IEEE 754 64-bit mixed: 32-bit LEs in BE + doubleinfbytes='0x00, 0x00, 0xf0, 0x7f, 0x00, 0x00, 0x00, 0x00' + doublenanbytes='0x00, 0x00, 0xf8, 0x7f, 0x00, 0x00, 0x00, 0x00' + ;; + 8) # IEEE 754 64-bit mixed: 32-bit BEs in LE + doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x7f, 0xf0, 0x00, 0x00' + doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x7f, 0xf8, 0x00, 0x00' + ;; + *) # No idea. + doubleinfbytes=$undef + doublenanbytes=$undef + ;; + esac + case "$longdblkind" in + 1) # IEEE 754 128-bit LE + longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f' + longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f' + ;; + 2) # IEEE 754 128-bit BE + longdblinfbytes='0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' + longdblnanbytes='0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' + ;; + 3) # IEEE 754 80-bit LE, 12 or 16 bytes (x86) + case "$longdblsize" in + 12) # x86 32-bit (96 bits, or 4 x 32, or 12 x 8) + longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00' + longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x7f, 0x00, 0x00' + ;; + 16) # x86_64 + longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' + longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' + ;; + *) # No idea. + longdblinfbytes=$undef + longdlnan=$undef + ;; + esac + ;; + 4) # IEEE 754 80-bit BE, 12 or 16 bytes + case "$longdblsize" in + 12) # 32-bit system + longdblinfbytes='0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' + longdblnanbytes='0x7f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' + ;; + 16) # 64-bit system + longdblinfbytes='0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' + longdblnanbytes='0x7f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' + ;; + *) # No idea. + longdblinfbytes=$undef + longdlnan=$undef + ;; + esac + ;; + 5) # 128-bit LE "double double" + longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f' + longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f' + ;; + 6) # 128-bit BE "double double" + longdblinfbytes='0x7f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' + longdblnanbytes='0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' + ;; + *) # No idea. + longdblinfbytes=$undef + longdlnan=$undef + ;; + esac +fi +$rm_try + : Check print/scan long double stuff echo " " @@ -18636,6 +18762,94 @@ set d_signbit eval $setvar $rm_try +$echo "Checking how many mantissa bits your doubles have..." >&4 +$cat >try.c < +#endif +#ifdef I_SUNMATH +# include +#endif +#ifdef DBL_MANT_DIG +# define BITS (DBL_MANT_DIG - 1) /* the implicit bit does not count */ +#endif +#include +int main(int argc, char *argv[]) { +#ifdef BITS + printf("%d\n", BITS); +#endif + return 0; +} +EOP +set try +if eval $compile; then + doublemantbits=`$run ./try` +else + doublemantbits="$undef" +fi +$rm_try + +$echo "Checking how many mantissa bits your long doubles have..." >&4 +$cat >try.c < +#endif +#ifdef I_SUNMATH +# include +#endif +#$d_longdbl HAS_LONG_DOUBLE +#if defined(HAS_LONG_DOUBLE) && defined(LDBL_MANT_DIG) +# if ($longdblkind == 3) || ($longdblkind == 4) /* 80-bit extended precision */ +/* This format has no implicit bit. Beware, however, that for + * this format the bare LDBL_MANT_DIG is misleading for inf/nan: + * the top three bits are used for inf (100) / qnan (11x) / snan (101), + * and the top bit must have been one since 387, zero is plain invalid. + * For normal fp values, the LDBL_MANT_DIG is fine, though. */ +# define BITS LDBL_MANT_DIG +# elif ($longdblkind == 5 || $longdblkind == 6) /* double double */ +/* LDBL_MANT_DIG of 106 (twice 53) would be logical, but for some + * reason e.g. Irix thinks 107. But in any case, we want only + * the number of real bits, the implicit bits are of no interest. */ +# define BITS 2 * (DBL_MANT_DIG - 1) +# else +# define BITS (LDBL_MANT_DIG - 1) /* the implicit bit does not count */ +# endif +#endif +#include +int main(int argc, char *argv[]) { +#ifdef BITS + printf("%d\n", BITS); +#endif + return 0; +} +EOP +set try +if eval $compile; then + longdblmantbits=`$run ./try` +else + longdblmantbits="$undef" +fi +$rm_try + +$echo "Checking how many mantissa bits your NVs have..." >&4 +if test "X$usequadmath" = "X$define"; then + nvmantbits=112 # 128-1-15 +else + if test "X$nvsize" = "X$doublesize"; then + nvmantbits="$doublemantbits" + else + if test "X$nvsize" = "X$longdblsize"; then + nvmantbits="$longdblmantbits" + else + nvmantbits="$undef" + fi + fi +fi + : see if sigprocmask exists set sigprocmask d_sigprocmask eval $inlibc @@ -23010,7 +23224,7 @@ fi : add -D_FORTIFY_SOURCE if feasible and not already there case "$gccversion" in -[45].*) case "$optimize$ccflags" in +4.*) case "$optimize$ccflags" in *-O*) case "$ccflags$cppsymbols" in *_FORTIFY_SOURCE=*) # Don't add it again. echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4 @@ -23020,11 +23234,11 @@ case "$gccversion" in ;; esac ;; - *) echo "You have gcc 4.* or later but not optimizing, not adding -D_FORTIFY_SOURCE." >&4 + *) echo "You have gcc 4.* but not optimizing, not adding -D_FORTIFY_SOURCE." >&4 ;; esac ;; -*) echo "You seem not to have gcc 4.* or later, not adding -D_FORTIFY_SOURCE." >&4 +*) echo "You seem not to have gcc 4.*, not adding -D_FORTIFY_SOURCE." >&4 ;; esac @@ -24335,12 +24549,14 @@ db_version_patch='$db_version_patch' direntrytype='$direntrytype' dlext='$dlext' dlsrc='$dlsrc' +doubleinfbytes='$doubleinfbytes' doublekind='$doublekind' +doublemantbits='$doublemantbits' +doublenanbytes='$doublenanbytes' doublesize='$doublesize' drand01='$drand01' drand48_r_proto='$drand48_r_proto' dtrace='$dtrace' -dtraceobject='$dtraceobject' dynamic_ext='$dynamic_ext' eagain='$eagain' ebcdic='$ebcdic' @@ -24584,7 +24800,10 @@ lns='$lns' localtime_r_proto='$localtime_r_proto' locincpth='$locincpth' loclibpth='$loclibpth' +longdblinfbytes='$longdblinfbytes' longdblkind='$longdblkind' +longdblmantbits='$longdblmantbits' +longdblnanbytes='$longdblnanbytes' longdblsize='$longdblsize' longlongsize='$longlongsize' longsize='$longsize' @@ -24637,6 +24856,7 @@ nv_preserves_uv_bits='$nv_preserves_uv_bits' nveformat='$nveformat' nvfformat='$nvfformat' nvgformat='$nvgformat' +nvmantbits='$nvmantbits' nvsize='$nvsize' nvtype='$nvtype' o_nonblock='$o_nonblock' diff --git a/Cross/config.sh-arm-linux b/Cross/config.sh-arm-linux index 9301673..3d1eb4d 100644 --- a/Cross/config.sh-arm-linux +++ b/Cross/config.sh-arm-linux @@ -33,11 +33,11 @@ ansi2knr='' aphostname='/bin/hostname' api_revision='5' api_subversion='0' -api_version='22' -api_versionstring='5.22.0' +api_version='23' +api_versionstring='5.23.0' ar='ar' -archlib='/usr/lib/perl5/5.22.3/armv4l-linux' -archlibexp='/usr/lib/perl5/5.22.3/armv4l-linux' +archlib='/usr/lib/perl5/5.23.0/armv4l-linux' +archlibexp='/usr/lib/perl5/5.23.0/armv4l-linux' archname64='' archname='armv4l-linux' archobjs='' @@ -56,7 +56,7 @@ castflags='0' cat='cat' cc='cc' cccdlflags='-fpic' -ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.22.3/armv4l-linux/CORE' +ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.23.0/armv4l-linux/CORE' ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccname='arm-linux-gcc' @@ -612,7 +612,10 @@ db_version_patch='' direntrytype='struct dirent' dlext='so' dlsrc='dl_dlopen.xs' +doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f' doublekind='3' +doublemantbits='52' +doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f' doublesize='8' drand01='Perl_drand48()' drand48_r_proto='0' @@ -793,7 +796,7 @@ inc_version_list=' ' inc_version_list_init='0' incpath='' inews='' -installarchlib='./install_me_here/usr/lib/perl5/5.22.3/armv4l-linux' +installarchlib='./install_me_here/usr/lib/perl5/5.23.0/armv4l-linux' installbin='./install_me_here/usr/bin' installhtml1dir='' installhtml3dir='' @@ -801,13 +804,13 @@ installman1dir='./install_me_here/usr/share/man/man1' installman3dir='./install_me_here/usr/share/man/man3' installprefix='./install_me_here/usr' installprefixexp='./install_me_here/usr' -installprivlib='./install_me_here/usr/lib/perl5/5.22.3' +installprivlib='./install_me_here/usr/lib/perl5/5.23.0' installscript='./install_me_here/usr/bin' -installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.22.3/armv4l-linux' +installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.23.0/armv4l-linux' installsitebin='./install_me_here/usr/bin' installsitehtml1dir='' installsitehtml3dir='' -installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.22.3' +installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.23.0' installsiteman1dir='./install_me_here/usr/share/man/man1' installsiteman3dir='./install_me_here/usr/share/man/man3' installsitescript='./install_me_here/usr/bin' @@ -853,7 +856,10 @@ lns='/bin/ln -s' localtime_r_proto='0' locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include' loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib' +longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' longdblkind='0' +longdblmantbits='64' +longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' longdblsize='8' longlongsize='8' longsize='4' @@ -907,6 +913,7 @@ nv_preserves_uv_bits='32' nveformat='"e"' nvfformat='"f"' nvgformat='"g"' +nvmantbits='52' nvsize='8' nvtype='double' o_nonblock='O_NONBLOCK' @@ -937,8 +944,8 @@ pmake='' pr='' prefix='/usr' prefixexp='/usr' -privlib='/usr/lib/perl5/5.22.3' -privlibexp='/usr/lib/perl5/5.22.3' +privlib='/usr/lib/perl5/5.23.0' +privlibexp='/usr/lib/perl5/5.23.0' procselfexe='"/proc/self/exe"' prototype='define' ptrsize='4' @@ -1003,17 +1010,17 @@ sig_num='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 sig_num_init='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, 6, 17, 29, 31, 0' sig_size='68' signal_t='void' -sitearch='/usr/lib/perl5/site_perl/5.22.3/armv4l-linux' -sitearchexp='/usr/lib/perl5/site_perl/5.22.3/armv4l-linux' +sitearch='/usr/lib/perl5/site_perl/5.23.0/armv4l-linux' +sitearchexp='/usr/lib/perl5/site_perl/5.23.0/armv4l-linux' sitebin='/usr/bin' sitebinexp='/usr/bin' sitehtml1dir='' sitehtml1direxp='' sitehtml3dir='' sitehtml3direxp='' -sitelib='/usr/lib/perl5/site_perl/5.22.3' +sitelib='/usr/lib/perl5/site_perl/5.23.0' sitelib_stem='/usr/lib/perl5/site_perl' -sitelibexp='/usr/lib/perl5/site_perl/5.22.3' +sitelibexp='/usr/lib/perl5/site_perl/5.23.0' siteman1dir='/usr/share/man/man1' siteman1direxp='/usr/share/man/man1' siteman3dir='/usr/share/man/man3' @@ -1052,7 +1059,7 @@ stdio_stream_array='' strerror_r_proto='0' strings='/usr/include/string.h' submit='' -subversion='3' +subversion='0' sysman='/usr/share/man/man1' tail='' tar='' @@ -1144,8 +1151,8 @@ vendorprefix='' vendorprefixexp='' vendorscript='' vendorscriptexp='' -version='5.22.3' -version_patchlevel_string='version 22 subversion 3' +version='5.23.0' +version_patchlevel_string='version 23 subversion 0' versiononly='undef' vi='' xlibpth='/usr/lib/386 /lib/386' @@ -1158,10 +1165,10 @@ config_arg0='Configure' config_args='' config_argc=0 PERL_REVISION=5 -PERL_VERSION=22 -PERL_SUBVERSION=3 +PERL_VERSION=23 +PERL_SUBVERSION=0 PERL_API_REVISION=5 -PERL_API_VERSION=22 +PERL_API_VERSION=23 PERL_API_SUBVERSION=0 PERL_PATCHLEVEL= PERL_CONFIG_SH=true diff --git a/Cross/config.sh-arm-linux-n770 b/Cross/config.sh-arm-linux-n770 index 213f50e..dd1de07 100644 --- a/Cross/config.sh-arm-linux-n770 +++ b/Cross/config.sh-arm-linux-n770 @@ -33,11 +33,11 @@ ansi2knr='' aphostname='/bin/hostname' api_revision='5' api_subversion='0' -api_version='22' -api_versionstring='5.22.0' +api_version='23' +api_versionstring='5.23.0' ar='ar' -archlib='/usr/lib/perl5/5.22.3/armv4l-linux' -archlibexp='/usr/lib/perl5/5.22.3/armv4l-linux' +archlib='/usr/lib/perl5/5.23.0/armv4l-linux' +archlibexp='/usr/lib/perl5/5.23.0/armv4l-linux' archname64='' archname='armv4l-linux' archobjs='' @@ -55,7 +55,7 @@ castflags='0' cat='cat' cc='arm-none-linux-gnueabi-gcc' cccdlflags='-fpic' -ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.22.3/armv4l-linux/CORE' +ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.23.0/armv4l-linux/CORE' ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccname='arm-linux-gcc' @@ -699,7 +699,7 @@ inc_version_list=' ' inc_version_list_init='0' incpath='' inews='' -installarchlib='./install_me_here/usr/lib/perl5/5.22.3/armv4l-linux' +installarchlib='./install_me_here/usr/lib/perl5/5.23.0/armv4l-linux' installbin='./install_me_here/usr/bin' installhtml1dir='' installhtml3dir='' @@ -707,13 +707,13 @@ installman1dir='./install_me_here/usr/share/man/man1' installman3dir='./install_me_here/usr/share/man/man3' installprefix='./install_me_here/usr' installprefixexp='./install_me_here/usr' -installprivlib='./install_me_here/usr/lib/perl5/5.22.3' +installprivlib='./install_me_here/usr/lib/perl5/5.23.0' installscript='./install_me_here/usr/bin' -installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.22.3/armv4l-linux' +installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.23.0/armv4l-linux' installsitebin='./install_me_here/usr/bin' installsitehtml1dir='' installsitehtml3dir='' -installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.22.3' +installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.23.0' installsiteman1dir='./install_me_here/usr/share/man/man1' installsiteman3dir='./install_me_here/usr/share/man/man3' installsitescript='./install_me_here/usr/bin' @@ -841,8 +841,8 @@ pmake='' pr='' prefix='/usr' prefixexp='/usr' -privlib='/usr/lib/perl5/5.22.3' -privlibexp='/usr/lib/perl5/5.22.3' +privlib='/usr/lib/perl5/5.23.0' +privlibexp='/usr/lib/perl5/5.23.0' procselfexe='"/proc/self/exe"' prototype='define' ptrsize='4' @@ -903,17 +903,17 @@ sig_num='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 sig_num_init='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, 6, 17, 29, 31, 0' sig_size='68' signal_t='void' -sitearch='/usr/lib/perl5/site_perl/5.22.3/armv4l-linux' -sitearchexp='/usr/lib/perl5/site_perl/5.22.3/armv4l-linux' +sitearch='/usr/lib/perl5/site_perl/5.23.0/armv4l-linux' +sitearchexp='/usr/lib/perl5/site_perl/5.23.0/armv4l-linux' sitebin='/usr/bin' sitebinexp='/usr/bin' sitehtml1dir='' sitehtml1direxp='' sitehtml3dir='' sitehtml3direxp='' -sitelib='/usr/lib/perl5/site_perl/5.22.3' +sitelib='/usr/lib/perl5/site_perl/5.23.0' sitelib_stem='/usr/lib/perl5/site_perl' -sitelibexp='/usr/lib/perl5/site_perl/5.22.3' +sitelibexp='/usr/lib/perl5/site_perl/5.23.0' siteman1dir='/usr/share/man/man1' siteman1direxp='/usr/share/man/man1' siteman3dir='/usr/share/man/man3' @@ -950,7 +950,7 @@ stdio_stream_array='' strerror_r_proto='0' strings='/usr/include/string.h' submit='' -subversion='3' +subversion='0' sysman='/usr/share/man/man1' tail='' tar='' @@ -1035,8 +1035,8 @@ vendorprefix='' vendorprefixexp='' vendorscript='' vendorscriptexp='' -version='5.22.3' -version_patchlevel_string='version 22 subversion 3' +version='5.23.0' +version_patchlevel_string='version 23 subversion 0' versiononly='undef' vi='' xlibpth='/usr/lib/386 /lib/386' @@ -1049,10 +1049,10 @@ config_arg0='Configure' config_args='' config_argc=0 PERL_REVISION=5 -PERL_VERSION=22 -PERL_SUBVERSION=3 +PERL_VERSION=23 +PERL_SUBVERSION=0 PERL_API_REVISION=5 -PERL_API_VERSION=22 +PERL_API_VERSION=23 PERL_API_SUBVERSION=0 PERL_PATCHLEVEL= PERL_CONFIG_SH=true diff --git a/INSTALL b/INSTALL index a814364..63e54c8 100644 --- a/INSTALL +++ b/INSTALL @@ -89,9 +89,8 @@ potential incompatibilities introduced with this release. A few of the most important issues are listed below, but you should refer to pod/perldelta.pod for more detailed information. -B This version is not binary compatible with versions of Perl -earlier than 5.22.0. -If you have built extensions (i.e. modules that include C code) +B This version is not binary compatible with earlier versions +of Perl. If you have built extensions (i.e. modules that include C code) using an earlier version of Perl, you will need to rebuild and reinstall those extensions. @@ -333,6 +332,9 @@ this support (if it is available). Note that the exact format and range of long doubles varies: the most common is the x86 80-bit (64 bits of mantissa) format, but there are others, with different mantissa and exponent ranges. +In fact, the type may not be called "long double" at C level, and +therefore the C means "using floating point larger +than double". =head3 "more bits" @@ -582,7 +584,7 @@ The directories set up by Configure fall into three broad categories. =item Directories for the perl distribution -By default, Configure will use the following directories for 5.22.3. +By default, Configure will use the following directories for 5.23.0. $version is the full perl version number, including subversion, e.g. 5.12.3, and $archname is a string like sun4-sunos, determined by Configure. The full definitions of all Configure @@ -2441,8 +2443,7 @@ http://www.chiark.greenend.org.uk/~sgtatham/bugs.html =head1 Coexistence with earlier versions of perl 5 -Perl 5.22.3 is not binary compatible with versions of Perl earlier than -5.22.0. +Perl 5.23.0 is not binary compatible with earlier versions of Perl. In other words, you will have to recompile your XS modules. In general, you can usually safely upgrade from one version of Perl @@ -2517,9 +2518,9 @@ won't interfere with another version. (The defaults guarantee this for libraries after 5.6.0, but not for executables. TODO?) One convenient way to do this is by using a separate prefix for each version, such as - sh Configure -Dprefix=/opt/perl5.22.3 + sh Configure -Dprefix=/opt/perl5.23.0 -and adding /opt/perl5.22.3/bin to the shell PATH variable. Such users +and adding /opt/perl5.23.0/bin to the shell PATH variable. Such users may also wish to add a symbolic link /usr/local/bin/perl so that scripts can still start with #!/usr/local/bin/perl. @@ -2534,11 +2535,11 @@ yet. =head2 Upgrading from 5.21.11 or earlier -B Perl modules having binary parts (meaning that a C compiler is used) will have to be recompiled to be -used with 5.22.3. If you find you do need to rebuild an extension with -5.22.3, you may safely do so without disturbing the older +used with 5.23.0. If you find you do need to rebuild an extension with +5.23.0, you may safely do so without disturbing the older installations. (See L<"Coexistence with earlier versions of perl 5"> above.) @@ -2571,15 +2572,15 @@ Firstly, the bare minimum to run this script print("$f\n"); } -in Linux with perl-5.22.3 is as follows (under $Config{prefix}): +in Linux with perl-5.23.0 is as follows (under $Config{prefix}): ./bin/perl - ./lib/perl5/5.22.3/strict.pm - ./lib/perl5/5.22.3/warnings.pm - ./lib/perl5/5.22.3/i686-linux/File/Glob.pm - ./lib/perl5/5.22.3/feature.pm - ./lib/perl5/5.22.3/XSLoader.pm - ./lib/perl5/5.22.3/i686-linux/auto/File/Glob/Glob.so + ./lib/perl5/5.23.0/strict.pm + ./lib/perl5/5.23.0/warnings.pm + ./lib/perl5/5.23.0/i686-linux/File/Glob.pm + ./lib/perl5/5.23.0/feature.pm + ./lib/perl5/5.23.0/XSLoader.pm + ./lib/perl5/5.23.0/i686-linux/auto/File/Glob/Glob.so Secondly, for perl-5.10.1, the Debian perl-base package contains 591 files, (of which 510 are for lib/unicore) totaling about 3.5MB in its diff --git a/MANIFEST b/MANIFEST index a8d6854..d3f87d3 100644 --- a/MANIFEST +++ b/MANIFEST @@ -47,8 +47,8 @@ cpan/autodie/lib/autodie/hints.pm Hinting interface for autodie cpan/autodie/lib/autodie.pm Functions succeed or die with lexical scope cpan/autodie/lib/autodie/Scope/Guard.pm cpan/autodie/lib/autodie/Scope/GuardStack.pm -cpan/autodie/lib/autodie/ScopeUtil.pm cpan/autodie/lib/autodie/skip.pm +cpan/autodie/lib/autodie/Util.pm cpan/autodie/lib/Fatal.pm Make errors in functions/builtins fatal cpan/autodie/t/00-load.t autodie - basic load cpan/autodie/t/args.t @@ -299,6 +299,7 @@ cpan/CPAN-Meta/t/data-test/META-1_3.yml cpan/CPAN-Meta/t/data-test/META-1_4.yml cpan/CPAN-Meta/t/data-test/META-2.json cpan/CPAN-Meta/t/data-test/META-2.meta +cpan/CPAN-Meta/t/data-test/preserve-release-status.yml cpan/CPAN-Meta/t/data-test/provides-version-missing.json cpan/CPAN-Meta/t/data-test/resources.yml cpan/CPAN-Meta/t/data-test/restricted-2.json @@ -326,6 +327,7 @@ cpan/CPAN-Meta/t/repository.t cpan/CPAN-Meta/t/save-load.t cpan/CPAN-Meta/t/validator.t cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm CPAN-Meta-YAML files +cpan/CPAN-Meta-YAML/t/00-report-prereqs.dd cpan/CPAN-Meta-YAML/t/01_api.t cpan/CPAN-Meta-YAML/t/01_compile.t CPAN-Meta-YAML files cpan/CPAN-Meta-YAML/t/10_read.t @@ -337,6 +339,7 @@ cpan/CPAN-Meta-YAML/t/21_yamlpm_compat.t cpan/CPAN-Meta-YAML/t/30_yaml_spec_tml.t cpan/CPAN-Meta-YAML/t/31_local_tml.t cpan/CPAN-Meta-YAML/t/32_world_tml.t +cpan/CPAN-Meta-YAML/t/86_fail.t cpan/CPAN-Meta-YAML/t/data/ascii.yml cpan/CPAN-Meta-YAML/t/data/latin1.yml cpan/CPAN-Meta-YAML/t/data/multibyte.yml CPAN-Meta-YAML files @@ -351,6 +354,7 @@ cpan/CPAN-Meta-YAML/t/tml-local/dump-error/circular.tml cpan/CPAN-Meta-YAML/t/tml-local/load-error/document.tml cpan/CPAN-Meta-YAML/t/tml-local/load-error/scalar.tml cpan/CPAN-Meta-YAML/t/tml-local/load-error/tag.tml +cpan/CPAN-Meta-YAML/t/tml-local/load-warning/document.tml cpan/CPAN-Meta-YAML/t/tml-local/perl-to-yaml/quoting.tml cpan/CPAN-Meta-YAML/t/tml-local/yaml-roundtrip/collection.tml cpan/CPAN-Meta-YAML/t/tml-local/yaml-roundtrip/comment.tml @@ -859,6 +863,7 @@ cpan/Encode/t/gb2312.utf test data cpan/Encode/t/grow.t test script cpan/Encode/t/gsm0338.t test script cpan/Encode/t/guess.t test script +cpan/Encode/t/isa.t cpan/Encode/t/jis7-fallback.t test script cpan/Encode/t/jisx0201.enc test data cpan/Encode/t/jisx0201.utf test data @@ -1228,6 +1233,7 @@ cpan/HTTP-Tiny/corpus/redirect-06.txt cpan/HTTP-Tiny/corpus/redirect-07.txt cpan/HTTP-Tiny/corpus/redirect-08.txt cpan/HTTP-Tiny/corpus/redirect-09.txt +cpan/HTTP-Tiny/corpus/redirect-10.txt cpan/HTTP-Tiny/lib/HTTP/Tiny.pm cpan/HTTP-Tiny/t/000_load.t cpan/HTTP-Tiny/t/001_api.t @@ -1517,7 +1523,6 @@ cpan/libnet/t/time.t libnet cpan/Locale-Codes/lib/Locale/Codes/API.pod Locale::Codes documentation cpan/Locale-Codes/lib/Locale/Codes/Changes.pod Locale::Codes documentation cpan/Locale-Codes/lib/Locale/Codes/Constants.pm Locale::Codes -cpan/Locale-Codes/lib/Locale/Codes/Constants.pod Locale::Codes documentation cpan/Locale-Codes/lib/Locale/Codes/Country_Codes.pm Locale::Codes cpan/Locale-Codes/lib/Locale/Codes/Country.pm Locale::Codes cpan/Locale-Codes/lib/Locale/Codes/Country.pod Locale::Codes documentation @@ -1692,17 +1697,17 @@ cpan/parent/t/parent-classfromfile.t tests for parent.pm cpan/parent/t/parent-pmc.t tests for parent.pm cpan/parent/t/parent-returns-false.t tests for parent.pm cpan/parent/t/parent.t tests for parent.pm +cpan/Parse-CPAN-Meta/corpus/BadMETA.yml +cpan/Parse-CPAN-Meta/corpus/bareyaml.meta +cpan/Parse-CPAN-Meta/corpus/json.meta +cpan/Parse-CPAN-Meta/corpus/META-VR.json +cpan/Parse-CPAN-Meta/corpus/META-VR.yml +cpan/Parse-CPAN-Meta/corpus/yaml.meta cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm cpan/Parse-CPAN-Meta/t/02_api.t cpan/Parse-CPAN-Meta/t/03_functions.t cpan/Parse-CPAN-Meta/t/04_export.t cpan/Parse-CPAN-Meta/t/05_errors.t -cpan/Parse-CPAN-Meta/t/data/BadMETA.yml -cpan/Parse-CPAN-Meta/t/data/bareyaml.meta -cpan/Parse-CPAN-Meta/t/data/json.meta -cpan/Parse-CPAN-Meta/t/data/META-VR.json -cpan/Parse-CPAN-Meta/t/data/META-VR.yml -cpan/Parse-CPAN-Meta/t/data/yaml.meta cpan/Parse-CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm cpan/perlfaq/lib/perlfaq1.pod General Questions About Perl cpan/perlfaq/lib/perlfaq2.pod Obtaining and Learning about Perl @@ -1870,6 +1875,7 @@ cpan/Pod-Simple/t/20_skip.t Pod::Simple test file cpan/Pod-Simple/t/accept01.t Pod::Simple test file cpan/Pod-Simple/t/accept05.t Pod::Simple test file cpan/Pod-Simple/t/ac_d.t Pod::Simple test file +cpan/Pod-Simple/t/ascii_order.pl cpan/Pod-Simple/t/basic.t Pod::Simple test file cpan/Pod-Simple/t/begin.t Pod::Simple test file cpan/Pod-Simple/t/cbacks.t Pod::Simple test file @@ -2034,10 +2040,16 @@ cpan/Pod-Simple/t/xhtml-bkb.t cpan/Pod-Simple/t/x_nixer.t Pod::Simple test file cpan/Pod-Usage/lib/Pod/Usage.pm cpan/Pod-Usage/scripts/pod2usage.PL +cpan/Pod-Usage/t/pod/headwithmarkup.pl +cpan/Pod-Usage/t/pod/headwithmarkup.t cpan/Pod-Usage/t/pod/p2u_data.pl cpan/Pod-Usage/t/pod/pod2usage2.t cpan/Pod-Usage/t/pod/pod2usage.t cpan/Pod-Usage/t/pod/pod2usage.xr +cpan/Pod-Usage/t/pod/selectheaders.pl +cpan/Pod-Usage/t/pod/selectheaders.t +cpan/Pod-Usage/t/pod/selectsections.pl +cpan/Pod-Usage/t/pod/selectsections.t cpan/Pod-Usage/t/pod/testcmp.pl cpan/Pod-Usage/t/pod/testp2pt.pl cpan/Pod-Usage/t/pod/usage2.pod @@ -2548,12 +2560,14 @@ cpan/Time-Piece/Piece.pm Time::Piece extension cpan/Time-Piece/Piece.xs Time::Piece extension cpan/Time-Piece/Seconds.pm Time::Piece extension cpan/Time-Piece/t/01base.t Test for Time::Piece +cpan/Time-Piece/t/02core_dst.t cpan/Time-Piece/t/02core.t Test for Time::Piece cpan/Time-Piece/t/03compare.t Test for Time::Piece cpan/Time-Piece/t/04mjd.t Test for Time::Piece cpan/Time-Piece/t/05overload.t Test for Time::Piece cpan/Time-Piece/t/06subclass.t Test for Time::Piece cpan/Time-Piece/t/07arith.t Test for Time::Piece +cpan/Time-Piece/t/lib/Time/Piece/Twin.pm cpan/Unicode-Collate/Collate/allkeys.txt Unicode::Collate cpan/Unicode-Collate/Collate/CJK/Big5.pm Unicode::Collate cpan/Unicode-Collate/Collate/CJK/GB2312.pm Unicode::Collate @@ -3965,7 +3979,6 @@ ext/XS-APItest/t/utf16_to_utf8.t Test behaviour of utf16_to_utf8{,reversed} ext/XS-APItest/t/utf8.t Tests for code in utf8.c ext/XS-APItest/t/weaken.t XS::APItest: tests for sv_rvweaken() and sv_get_backrefs() ext/XS-APItest/t/whichsig.t XS::APItest: tests for whichsig() and variants -ext/XS-APItest/t/win32.t Test Win32 specific APIs ext/XS-APItest/t/xs_special_subs_require.t for require too ext/XS-APItest/t/xs_special_subs.t Test that XS BEGIN/CHECK/INIT/END work ext/XS-APItest/t/xsub_h.t Tests for XSUB.h @@ -4229,6 +4242,7 @@ lib/perl5db/t/source-cmd-test.perldb Tests for the Perl debugger lib/perl5db/t/symbol-table-bug Tests for the Perl debugger lib/perl5db/t/taint Tests for the Perl debugger lib/perl5db/t/test-a-statement-1 Tests for the Perl debugger +lib/perl5db/t/test-a-statement-2 Tests for the Perl debugger lib/perl5db/t/test-dieLevel-option-1 Tests for the Perl debugger lib/perl5db/t/test-frame-option-1 Tests for the Perl debugger lib/perl5db/t/test-l-statement-1 Tests for the Perl debugger @@ -4315,7 +4329,7 @@ lib/unicore/extracted/DNumType.txt Unicode character database lib/unicore/extracted/DNumValues.txt Unicode character database lib/unicore/HangulSyllableType.txt Unicode character database lib/unicore/Index.txt Unicode character database -lib/unicore/IndicMatraCategory.txt Unicode character database +lib/unicore/IndicPositionalCategory.txt Unicode character database lib/unicore/IndicSyllabicCategory.txt Unicode character database lib/unicore/Jamo.txt Unicode character database lib/unicore/LineBreak.txt Unicode character database @@ -4566,10 +4580,7 @@ pod/perl5184delta.pod Perl changes in version 5.18.4 pod/perl5200delta.pod Perl changes in version 5.20.0 pod/perl5201delta.pod Perl changes in version 5.20.1 pod/perl5202delta.pod Perl changes in version 5.20.2 -pod/perl5203delta.pod Perl changes in version 5.20.3 pod/perl5220delta.pod Perl changes in version 5.22.0 -pod/perl5221delta.pod Perl changes in version 5.22.1 -pod/perl5222delta.pod Perl changes in version 5.22.2 pod/perl561delta.pod Perl changes in version 5.6.1 pod/perl56delta.pod Perl changes in version 5.6 pod/perl581delta.pod Perl changes in version 5.8.1 @@ -4987,7 +4998,6 @@ t/lib/croak/op Test croak calls from op.c t/lib/croak/pp Test croak calls from pp.c t/lib/croak/pp_ctl Test croak calls from pp_ctl.c t/lib/croak/pp_hot Test croak calls from pp_hot.c -t/lib/croak/pp_sys Test croak calls from pp_sys.c t/lib/croak.t Test calls to Perl_croak() in the C source. t/lib/croak/toke Test croak calls from toke.c t/lib/cygwin.t Builtin cygwin function tests @@ -5456,7 +5466,6 @@ t/run/switcha.t Test the -a switch t/run/switchC.t Test the -C switch t/run/switchd-78586.t See whether bug 78586 is fixed t/run/switchd.t Test the -d switch -t/run/switchDx.t Test the -D switch t/run/switches.t Tests for the other switches (-0, -l, -c, -s, -M, -m, -V, -v, -h, -z, -i) t/run/switchF1.t Pathological tests for the -F switch t/run/switchF2.t Pathological tests for the -F switch @@ -5513,7 +5522,6 @@ t/uni/universal.t See if Unicode in calls to UNIVERSAL works t/uni/upper.t See if Unicode casing works t/uni/variables.t See that the rules for variable names work t/uni/write.t See if Unicode formats work -t/win32/crypt.t Test Win32 crypt for compatibility t/win32/fs.t Test Win32 link for compatibility t/win32/popen.t Test for stdout races in backticks, etc t/win32/runenv.t Test if Win* perl honors its env variables @@ -5602,6 +5610,7 @@ win32/create_perllibst_h.pl creates perllibst.h file for inclusion from perllib. win32/distclean.bat Remove _ALL_ files not listed here in MANIFEST win32/fcrypt.c crypt() implementation win32/FindExt.pm Scan for extensions +win32/GNUmakefile Win32 makefile for GNU make win32/include/arpa/inet.h Win32 port win32/include/dirent.h Win32 port win32/include/netdb.h Win32 port diff --git a/META.json b/META.json index 39fa323..3dce54f 100644 --- a/META.json +++ b/META.json @@ -4,7 +4,7 @@ "perl5-porters@perl.org" ], "dynamic_config" : 1, - "generated_by" : "CPAN::Meta version 2.150001", + "generated_by" : "CPAN::Meta version 2.150005", "license" : [ "perl_5" ], @@ -112,7 +112,7 @@ "vxs.inc" ] }, - "release_status" : "stable", + "release_status" : "unstable", "resources" : { "bugtracker" : { "web" : "https://rt.perl.org/" @@ -125,5 +125,6 @@ "url" : "http://perl5.git.perl.org/" } }, - "version" : "5.022003" + "version" : "5.023000", + "x_serialization_backend" : "JSON::PP version 2.27300" } diff --git a/META.yml b/META.yml index 4af34fe..9dc74ff 100644 --- a/META.yml +++ b/META.yml @@ -4,7 +4,7 @@ author: - perl5-porters@perl.org build_requires: {} dynamic_config: 1 -generated_by: 'CPAN::Meta version 2.150001, CPAN::Meta::Converter version 2.150001' +generated_by: 'CPAN::Meta version 2.150005, CPAN::Meta::Converter version 2.150005' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -112,4 +112,5 @@ resources: homepage: http://www.perl.org/ license: http://dev.perl.org/licenses/ repository: http://perl5.git.perl.org/ -version: '5.022003' +version: '5.023000' +x_serialization_backend: 'CPAN::Meta::YAML version 0.016' diff --git a/Makefile.SH b/Makefile.SH index 21e1205..8f4fbe0 100755 --- a/Makefile.SH +++ b/Makefile.SH @@ -5,7 +5,7 @@ quote() { case "$1" in '') echo "''" ;; - *) echo "$1" | sed 's/\([^a-zA-Z0-9.:_\-\/]\)/\\\1/g' ;; + *) echo "$1" | sed 's/\([^a-zA-Z0-9.:_/-]\)/\\\1/g' ;; esac } @@ -225,13 +225,10 @@ dtrace_o='' minidtrace_o='' case "$usedtrace" in define|true) - dtrace_h='perldtrace.h' - case "$dtraceobject" in - define) - dtrace_o='perldtrace$(OBJ_EXT)' - minidtrace_o='miniperldtrace$(OBJ_EXT)' - ;; - esac + dtrace_h='perldtrace.h' + $dtrace -G -s perldtrace.d -o perldtrace.tmp >/dev/null 2>&1 \ + && rm -f perldtrace.tmp && dtrace_o='perldtrace$(OBJ_EXT)' \ + && minidtrace_o='miniperldtrace$(OBJ_EXT)' ;; esac @@ -495,7 +492,7 @@ mini_obj = $(minindt_obj) $(MINIDTRACE_O) ndt_obj = $(obj0) $(obj1) $(obj2) $(obj3) $(ARCHOBJS) obj = $(ndt_obj) $(DTRACE_O) -perltoc_pod_prereqs = extra.pods pod/perl5223delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod +perltoc_pod_prereqs = extra.pods pod/perl5230delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod generated_pods = pod/perltoc.pod $(perltoc_pod_prereqs) generated_headers = uudmap.h bitcount.h mg_data.h @@ -1023,9 +1020,9 @@ pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST $(MINIPERL) pod/perlmodlib.PL -q -pod/perl5223delta.pod: pod/perldelta.pod - $(RMS) pod/perl5223delta.pod - $(LNS) perldelta.pod pod/perl5223delta.pod +pod/perl5230delta.pod: pod/perldelta.pod + $(RMS) pod/perl5230delta.pod + $(LNS) perldelta.pod pod/perl5230delta.pod extra.pods: $(MINIPERL_EXE) -@test ! -f extra.pods || rm -f `cat extra.pods` @@ -1517,23 +1514,18 @@ esac $spitshell >>$Makefile <<'!NO!SUBS!' -# minitest can't depend on lib/Config.pm because that might be where miniperl +# Can't depend on lib/Config.pm because that might be where miniperl # is crashing. -minitest_prep: +minitest: $(MINIPERL_EXE) -@test -f lib/Config.pm || $(MAKE) lib/Config.pm $(unidatafiles) @echo " " @echo "You may see some irrelevant test failures if you have been unable" @echo "to build lib/Config.pm, or the Unicode data files." @echo " " - - cd t && (rm -f $(PERL_EXE); $(LNS) ../$(MINIPERL_EXE) $(PERL_EXE)) - -MINITEST_TESTS = base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t opbasic/*.t op/*.t uni/*.t perf/*.t - -minitest: $(MINIPERL_EXE) minitest_prep - - cd t && $(RUN_PERL) TEST $(MINITEST_TESTS) [ qw(t/07_ptardiff.t), ], - 'CUSTOMIZED' => [ - qw( - bin/ptar bin/ptardiff bin/ptargrep - lib/Archive/Tar.pm lib/Archive/Tar/Constant.pm - lib/Archive/Tar/File.pm - ) - ], }, 'Attribute::Handlers' => { @@ -140,7 +133,7 @@ use File::Glob qw(:case); }, 'autodie' => { - 'DISTRIBUTION' => 'NTHYKIER/autodie-2.26.tar.gz', + 'DISTRIBUTION' => 'PJF/autodie-2.27.tar.gz', 'FILES' => q[cpan/autodie], 'EXCLUDED' => [ qr{benchmarks}, @@ -163,6 +156,8 @@ use File::Glob qw(:case); t/system.t ) ], + # CPAN RT 105344 + 'CUSTOMIZED' => [ qw[ t/mkdir.t ] ], }, 'AutoLoader' => { @@ -283,17 +278,12 @@ use File::Glob qw(:case); t/yaml_code.yml ), ], - 'CUSTOMIZED' => [ - qw( lib/CPAN.pm ), - # https://rt.perl.org/Ticket/Display.html?id=127834 - qw( lib/App/Cpan.pm scripts/cpan ) - ], }, # Note: When updating CPAN-Meta the META.* files will need to be regenerated # perl -Icpan/CPAN-Meta/lib Porting/makemeta 'CPAN::Meta' => { - 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150001.tar.gz', + 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150005.tar.gz', 'FILES' => q[cpan/CPAN-Meta], 'EXCLUDED' => [ qw[t/00-report-prereqs.t], @@ -305,10 +295,9 @@ use File::Glob qw(:case); }, 'CPAN::Meta::Requirements' => { - 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.132.tar.gz', + 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.133.tar.gz', 'FILES' => q[cpan/CPAN-Meta-Requirements], 'EXCLUDED' => [ - qw(CONTRIBUTING.mkdn), qw(t/00-report-prereqs.t), qw(t/00-report-prereqs.dd), qw(t/version-cleanup.t), @@ -317,12 +306,11 @@ use File::Glob qw(:case); }, 'CPAN::Meta::YAML' => { - 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.012.tar.gz', + 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.016.tar.gz', 'FILES' => q[cpan/CPAN-Meta-YAML], 'EXCLUDED' => [ - 't/00-compile.t', 't/00-report-prereqs.t', - 't/04_scalar.t', # requires YAML.pm + 't/00-report-prereqs.dd', qr{^xt}, ], }, @@ -365,10 +353,6 @@ use File::Glob qw(:case); 'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz', 'FILES' => q[cpan/Digest], 'EXCLUDED' => ['digest-bench'], - 'CUSTOMIZED' => [ - # https://rt.perl.org/Ticket/Display.html?id=127834 - qw( Digest.pm ) - ], }, 'Digest::MD5' => { @@ -386,10 +370,6 @@ use File::Glob qw(:case); examples/dups ), ], - 'CUSTOMIZED' => [ - # https://rt.perl.org/Ticket/Display.html?id=127834 - qw( lib/Digest/SHA.pm shasum ) - ], }, 'Dumpvalue' => { @@ -399,15 +379,8 @@ use File::Glob qw(:case); }, 'Encode' => { - 'DISTRIBUTION' => 'DANKOGAI/Encode-2.72.tar.gz', + 'DISTRIBUTION' => 'DANKOGAI/Encode-2.73.tar.gz', 'FILES' => q[cpan/Encode], - 'CUSTOMIZED' => [ - # https://rt.perl.org/Ticket/Display.html?id=127834 - qw( - Encode.pm bin/enc2xs bin/encguess bin/piconv - bin/ucmlint bin/unidump - ) - ], }, 'encoding::warnings' => { @@ -435,7 +408,7 @@ use File::Glob qw(:case); }, 'Exporter' => { - 'DISTRIBUTION' => 'TODDR/Exporter-5.70.tar.gz', + 'DISTRIBUTION' => 'TODDR/Exporter-5.72.tar.gz', 'FILES' => q[dist/Exporter], 'EXCLUDED' => [ qw( t/pod.t @@ -445,7 +418,7 @@ use File::Glob qw(:case); }, 'ExtUtils::CBuilder' => { - 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280220.tar.gz', + 'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280223.tar.gz', 'FILES' => q[dist/ExtUtils-CBuilder], 'EXCLUDED' => [ qw(README.mkdn), @@ -457,10 +430,6 @@ use File::Glob qw(:case); 'DISTRIBUTION' => 'BINGOS/ExtUtils-Command-1.20.tar.gz', 'FILES' => q[cpan/ExtUtils-Command], 'EXCLUDED' => [qr{^xt/}], - 'CUSTOMIZED' => [ - # https://rt.perl.org/Ticket/Display.html?id=127834 - qw( lib/ExtUtils/Command.pm ) - ], }, 'ExtUtils::Constant' => { @@ -538,10 +507,7 @@ use File::Glob qw(:case); lib/ExtUtils/MakeMaker/version/vpp.pm lib/ExtUtils/Mkbootstrap.pm lib/ExtUtils/Mksymlists.pm - lib/ExtUtils/testlib.pm ], - # https://rt.perl.org/Ticket/Display.html?id=127834 - qw( bin/instmodsh ) - ], + lib/ExtUtils/testlib.pm ] ], }, 'ExtUtils::Manifest' => { @@ -561,10 +527,6 @@ use File::Glob qw(:case); 'File::Fetch' => { 'DISTRIBUTION' => 'BINGOS/File-Fetch-0.48.tar.gz', 'FILES' => q[cpan/File-Fetch], - 'CUSTOMIZED' => [ - # https://rt.perl.org/Ticket/Display.html?id=127834 - qw( lib/File/Fetch.pm ) - ], }, 'File::Path' => { @@ -638,7 +600,7 @@ use File::Glob qw(:case); }, 'Getopt::Long' => { - 'DISTRIBUTION' => 'JV/Getopt-Long-2.45.tar.gz', + 'DISTRIBUTION' => 'JV/Getopt-Long-2.46.tar.gz', 'FILES' => q[cpan/Getopt-Long], 'EXCLUDED' => [ qr{^examples/}, @@ -650,7 +612,7 @@ use File::Glob qw(:case); }, 'HTTP::Tiny' => { - 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.054.tar.gz', + 'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.056.tar.gz', 'FILES' => q[cpan/HTTP-Tiny], 'EXCLUDED' => [ 't/00-report-prereqs.t', @@ -661,11 +623,7 @@ use File::Glob qw(:case); qr/^eg/, qr/^xt/ ], - 'CUSTOMIZED' => [ - # https://rt.perl.org/Ticket/Display.html?id=127834 - qw( lib/HTTP/Tiny.pm ) - ], - }, + }, 'I18N::Collate' => { 'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz', @@ -698,37 +656,6 @@ use File::Glob qw(:case); 't/010examples-zlib.t', 't/cz-05examples.t', ], - 'CUSTOMIZED' => [ - # https://rt.perl.org/Ticket/Display.html?id=127834 - qw( - bin/zipdetails lib/Compress/Zlib.pm - lib/IO/Compress/Adapter/Bzip2.pm - lib/IO/Compress/Adapter/Deflate.pm - lib/IO/Compress/Adapter/Identity.pm - lib/IO/Compress/Base.pm - lib/IO/Compress/Base/Common.pm - lib/IO/Compress/Bzip2.pm - lib/IO/Compress/Deflate.pm - lib/IO/Compress/Gzip.pm - lib/IO/Compress/Gzip/Constants.pm - lib/IO/Compress/RawDeflate.pm - lib/IO/Compress/Zip.pm - lib/IO/Compress/Zip/Constants.pm - lib/IO/Compress/Zlib/Constants.pm - lib/IO/Compress/Zlib/Extra.pm - lib/IO/Uncompress/Adapter/Bunzip2.pm - lib/IO/Uncompress/Adapter/Identity.pm - lib/IO/Uncompress/Adapter/Inflate.pm - lib/IO/Uncompress/AnyInflate.pm - lib/IO/Uncompress/AnyUncompress.pm - lib/IO/Uncompress/Base.pm - lib/IO/Uncompress/Bunzip2.pm - lib/IO/Uncompress/Gunzip.pm - lib/IO/Uncompress/Inflate.pm - lib/IO/Uncompress/RawInflate.pm - lib/IO/Uncompress/Unzip.pm - ) - ], }, 'IO::Socket::IP' => { @@ -747,10 +674,6 @@ use File::Glob qw(:case); 'IPC::Cmd' => { 'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.92.tar.gz', 'FILES' => q[cpan/IPC-Cmd], - 'CUSTOMIZED' => [ - # https://rt.perl.org/Ticket/Display.html?id=127834 - qw( lib/IPC/Cmd.pm ) - ], }, 'IPC::SysV' => { @@ -766,10 +689,6 @@ use File::Glob qw(:case); 'JSON::PP' => { 'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27300.tar.gz', 'FILES' => q[cpan/JSON-PP], - 'CUSTOMIZED' => [ - # https://rt.perl.org/Ticket/Display.html?id=127834 - qw( bin/json_pp lib/JSON/PP.pm ) - ], }, 'lib' => { @@ -783,7 +702,7 @@ use File::Glob qw(:case); }, 'libnet' => { - 'DISTRIBUTION' => 'SHAY/libnet-3.05.tar.gz', + 'DISTRIBUTION' => 'SHAY/libnet-3.06.tar.gz', 'FILES' => q[cpan/libnet], 'EXCLUDED' => [ qw( Configure @@ -795,20 +714,10 @@ use File::Glob qw(:case); qr(^demos/), qr(^t/external/), ], - 'CUSTOMIZED' => [ - qw( - lib/Net/Cmd.pm lib/Net/Config.pm - lib/Net/Domain.pm lib/Net/FTP.pm lib/Net/FTP/A.pm - lib/Net/FTP/E.pm lib/Net/FTP/I.pm - lib/Net/FTP/L.pm lib/Net/FTP/dataconn.pm - lib/Net/NNTP.pm lib/Net/Netrc.pm lib/Net/POP3.pm - lib/Net/SMTP.pm lib/Net/Time.pm - ) - ], }, 'Locale-Codes' => { - 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.34.tar.gz', + 'DISTRIBUTION' => 'SBECK/Locale-Codes-3.35.tar.gz', 'FILES' => q[cpan/Locale-Codes], 'EXCLUDED' => [ qw( README.first @@ -837,10 +746,6 @@ use File::Glob qw(:case); 'Locale::Maketext::Simple' => { 'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz', 'FILES' => q[cpan/Locale-Maketext-Simple], - 'CUSTOMIZED' => [ - # https://rt.perl.org/Ticket/Display.html?id=127834 - qw( lib/Locale/Maketext/Simple.pm ) - ], }, 'Math::BigInt' => { @@ -907,10 +812,6 @@ use File::Glob qw(:case); 'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz', 'FILES' => q[cpan/Memoize], 'EXCLUDED' => ['article.html'], - 'CUSTOMIZED' => [ - # https://rt.perl.org/Ticket/Display.html?id=127834 - qw( Memoize.pm ) - ], }, 'MIME::Base64' => { @@ -920,7 +821,7 @@ use File::Glob qw(:case); }, 'Module::CoreList' => { - 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20150720.tar.gz', + 'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20150520.tar.gz', 'FILES' => q[dist/Module-CoreList], }, @@ -940,7 +841,7 @@ use File::Glob qw(:case); }, 'Module::Metadata' => { - 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000026.tar.gz', + 'DISTRIBUTION' => 'ETHER/Module-Metadata-1.000027.tar.gz', 'FILES' => q[cpan/Module-Metadata], 'EXCLUDED' => [ qw(README.md), @@ -970,19 +871,17 @@ use File::Glob qw(:case); }, 'parent' => { - 'DISTRIBUTION' => 'CORION/parent-0.232.tar.gz', + 'DISTRIBUTION' => 'CORION/parent-0.234.tar.gz', 'FILES' => q[cpan/parent], }, 'Parse::CPAN::Meta' => { - 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4414.tar.gz', + 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4417.tar.gz', 'FILES' => q[cpan/Parse-CPAN-Meta], 'EXCLUDED' => [ qw[t/00-report-prereqs.t], qr{^xt}, ], - # https://github.com/Perl-Toolchain-Gang/CPAN-Meta/pull/119 - 'CUSTOMIZED' => [ qw[ lib/Parse/CPAN/Meta.pm t/02_api.t ] ], }, 'PathTools' => { @@ -1040,19 +939,22 @@ use File::Glob qw(:case); # XXX We can and should fix this, but clean up the DRY-failure in utils # first 'EXCLUDED' => ['perldoc'], - 'CUSTOMIZED' => [ - # https://rt.perl.org/Ticket/Display.html?id=127834 - qw( lib/Pod/Perldoc.pm ) - ], }, 'Pod::Simple' => { - 'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.29.tar.gz', + 'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.30.tar.gz', 'FILES' => q[cpan/Pod-Simple], + # https://rt.cpan.org/Public/Bug/Display.html?id=103439 + # https://rt.cpan.org/Public/Bug/Display.html?id=105192 + 'CUSTOMIZED' => [ + qw( cpan/Pod-Simple/lib/Pod/Simple/Search.pm + cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm + ), + ], }, 'Pod::Usage' => { - 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.64.tar.gz', + 'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.67.tar.gz', 'FILES' => q[cpan/Pod-Usage], }, @@ -1085,8 +987,18 @@ use File::Glob qw(:case); }, 'Scalar-List-Utils' => { - 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.41.tar.gz', - 'FILES' => q[cpan/Scalar-List-Utils], + 'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.42.tar.gz', + 'FILES' => q[cpan/Scalar-List-Utils], + # Waiting to be merged upstream: + # https://github.com/Scalar-List-Utils/Scalar-List-Utils/pull/24 + 'CUSTOMIZED' => [ + qw( ListUtil.xs + lib/List/Util.pm + lib/List/Util/XS.pm + lib/Scalar/Util.pm + lib/Sub/Util.pm + ) + ], }, 'Search::Dict' => { @@ -1101,7 +1013,7 @@ use File::Glob qw(:case); }, 'Socket' => { - 'DISTRIBUTION' => 'PEVANS/Socket-2.018.tar.gz', + 'DISTRIBUTION' => 'PEVANS/Socket-2.019.tar.gz', 'FILES' => q[cpan/Socket], }, @@ -1125,9 +1037,6 @@ use File::Glob qw(:case); win32/PerlLog.RES ), ], - 'CUSTOMIZED' => [ - qw( Syslog.pm ) - ], }, 'Term::ANSIColor' => { @@ -1162,10 +1071,6 @@ use File::Glob qw(:case); 'Test' => { 'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz', 'FILES' => q[cpan/Test], - 'CUSTOMIZED' => [ - # https://rt.perl.org/Ticket/Display.html?id=127834 - qw( lib/Test.pm ) - ], }, 'Test::Harness' => { @@ -1185,54 +1090,6 @@ use File::Glob qw(:case); t/lib/if.pm ), ], - 'CUSTOMIZED' => [ - # https://rt.perl.org/Ticket/Display.html?id=127834 - qw( - bin/prove lib/App/Prove.pm lib/App/Prove/State.pm - lib/App/Prove/State/Result.pm - lib/App/Prove/State/Result/Test.pm - lib/TAP/Base.pm lib/TAP/Formatter/Base.pm - lib/TAP/Formatter/Color.pm - lib/TAP/Formatter/Console.pm - lib/TAP/Formatter/Console/ParallelSession.pm - lib/TAP/Formatter/Console/Session.pm - lib/TAP/Formatter/File.pm - lib/TAP/Formatter/File/Session.pm - lib/TAP/Formatter/Session.pm lib/TAP/Harness.pm - lib/TAP/Harness/Env.pm lib/TAP/Object.pm - lib/TAP/Parser.pm lib/TAP/Parser/Aggregator.pm - lib/TAP/Parser/Grammar.pm - lib/TAP/Parser/Iterator.pm - lib/TAP/Parser/Iterator/Array.pm - lib/TAP/Parser/Iterator/Process.pm - lib/TAP/Parser/Iterator/Stream.pm - lib/TAP/Parser/IteratorFactory.pm - lib/TAP/Parser/Multiplexer.pm - lib/TAP/Parser/Result.pm - lib/TAP/Parser/Result/Bailout.pm - lib/TAP/Parser/Result/Comment.pm - lib/TAP/Parser/Result/Plan.pm - lib/TAP/Parser/Result/Pragma.pm - lib/TAP/Parser/Result/Test.pm - lib/TAP/Parser/Result/Unknown.pm - lib/TAP/Parser/Result/Version.pm - lib/TAP/Parser/Result/YAML.pm - lib/TAP/Parser/ResultFactory.pm - lib/TAP/Parser/Scheduler.pm - lib/TAP/Parser/Scheduler/Job.pm - lib/TAP/Parser/Scheduler/Spinner.pm - lib/TAP/Parser/Source.pm - lib/TAP/Parser/SourceHandler.pm - lib/TAP/Parser/SourceHandler/Executable.pm - lib/TAP/Parser/SourceHandler/File.pm - lib/TAP/Parser/SourceHandler/Handle.pm - lib/TAP/Parser/SourceHandler/Perl.pm - lib/TAP/Parser/SourceHandler/RawTAP.pm - lib/TAP/Parser/YAMLish/Reader.pm - lib/TAP/Parser/YAMLish/Writer.pm - lib/Test/Harness.pm - ) - ], }, 'Test::Simple' => { @@ -1323,7 +1180,7 @@ use File::Glob qw(:case); }, 'threads' => { - 'DISTRIBUTION' => 'JDHEDDEN/threads-2.01.tar.gz', + 'DISTRIBUTION' => 'JDHEDDEN/threads-2.02.tar.gz', 'FILES' => q[dist/threads], 'EXCLUDED' => [ qr{^examples/}, @@ -1335,7 +1192,7 @@ use File::Glob qw(:case); }, 'threads::shared' => { - 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.46.tar.gz', + 'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.48.tar.gz', 'FILES' => q[dist/threads-shared], 'EXCLUDED' => [ qw( examples/class.pl @@ -1370,7 +1227,7 @@ use File::Glob qw(:case); }, 'Time::Piece' => { - 'DISTRIBUTION' => 'RJBS/Time-Piece-1.29.tar.gz', + 'DISTRIBUTION' => 'RJBS/Time-Piece-1.30.tar.gz', 'FILES' => q[cpan/Time-Piece], }, @@ -1433,7 +1290,7 @@ use File::Glob qw(:case); }, 'Win32' => { - 'DISTRIBUTION' => "JDB/Win32-0.52.tar.gz", + 'DISTRIBUTION' => "JDB/Win32-0.51.tar.gz", 'FILES' => q[cpan/Win32], }, diff --git a/Porting/bisect-runner.pl b/Porting/bisect-runner.pl index 383f999..c640d0c 100755 --- a/Porting/bisect-runner.pl +++ b/Porting/bisect-runner.pl @@ -4,6 +4,8 @@ use strict; use Getopt::Long qw(:config bundling no_auto_abbrev); use Pod::Usage; use Config; +use File::Temp qw(tempdir); +use File::Spec; my @targets = qw(none config.sh config.h miniperl lib/Config.pm Fcntl perl test_prep); @@ -64,6 +66,7 @@ unless(GetOptions(\%options, 'test-build', 'validate', 'all-fixups', 'early-fixup=s@', 'late-fixup=s@', 'valgrind', 'check-args', 'check-shebang!', 'usage|help|?', 'gold=s', + 'module=s', 'with-module=s', 'cpan-config-dir=s', 'A=s@', 'D=s@' => sub { my (undef, $val) = @_; @@ -124,7 +127,7 @@ if (defined $target && $target =~ /\.t\z/) { } pod2usage(exitval => 255, verbose => 1) - unless @ARGV || $match || $options{'test-build'} || defined $options{'one-liner'}; + unless @ARGV || $match || $options{'test-build'} || defined $options{'one-liner'} || defined $options{module}; pod2usage(exitval => 255, verbose => 1) if !$options{'one-liner'} && ($options{l} || $options{w}); @@ -160,6 +163,12 @@ bisect.pl - use git bisect to pinpoint changes .../Porting/bisect.pl --test-build -Dd_dosuid # When did this test program start generating errors from valgrind? .../Porting/bisect.pl --valgrind ../test_prog.pl + # When did these cpan modules start failing to compile/pass tests? + .../Porting/bisect.pl --module=autobox,Moose + # When did this code stop working in blead with these modules? + .../Porting/bisect.pl --with-module=Moose,Moo -e 'use Moose; 1;' + # Like the above 2 but with custom CPAN::MyConfig + .../Porting/bisect.pl --module=Moo --cpan-config-dir=/home/blah/custom/ =head1 DESCRIPTION @@ -539,6 +548,69 @@ even link. =item * +--module module1,module2,... + +Install this (or these) module(s), die when it (the last of those) +cannot be updated to the current version. + +Misnomer. the argument can be any argument that can be passed to CPAN +shell's install command. B: since we only have the uptodate +command to verify that an install has taken place, we are unable to +determine success for arguments like +MSCHWERN/Test-Simple-1.005000_005.tar.gz. + +In so far, it is not such a misnomer. + +Note that this and I<--with-module> will both require a C. +If F<$ENV{HOME}/.cpan/CPAN/MyConfig.pm> does not exist, a CPAN shell will +be started up for you so you can configure one. Feel free to let +CPAN pick defaults for you. Enter 'quit' when you are done, and +then everything should be all set. Alternatively, you may +specify a custom C by using I<--cpan-config-dir>. + +Also, if you want to bisect a module that needs a display (like +TK) and you don't want random screens appearing and disappearing +on your computer while you're working, you can do something like +this: + +In a terminal: + + $ while true; do date ; if ! ps auxww | grep -v grep | grep -q Xvfb;\ + then Xvfb :121 & fi; echo -n 'sleeping 60 '; sleep 60; done + +And then: + + DISPLAY=":121" .../Porting/bisect.pl --module=TK + +(Some display alternatives are vncserver and Xnest.) + +=item * + +--with-module module1,module2,... + +Like I<--module> above, except this simply installs the requested +modules and they can then be used in other tests. + +For example: + + .../Porting/bisect.pl --with-module=Moose -e 'use Moose; ...' + +=item * + +--cpan-config-dir /home/blah/custom + +If defined, this will cause L to look for F inside of +the specified directory, instead of using the default config of +F<$ENV{HOME}/.cpan/>. + +If no default config exists, a L shell will be fired up for you to +configure things. Letting L automatically configure things for you +should work well enough. You probably want to choose I instead of +I if it asks. When you're finished with configuration, just +type I and hit I and the bisect should continue. + +=item * + --force-manifest By default, a build will "skip" if any files listed in F are not @@ -1305,6 +1377,16 @@ foreach my $key (sort keys %defines) { } push @ARGS, map {"-A$_"} @{$options{A}}; +my $prefix; + +# Testing a module? We need to install perl/cpan modules to a temp dir +if ($options{module} || $options{'with-module'}) { + $prefix = tempdir(CLEANUP => 1); + + push @ARGS, "-Dprefix=$prefix"; + push @ARGS, "-Uversiononly", "-Dinstallusrbinperl=n"; +} + # If a file in MANIFEST is missing, Configure asks if you want to # continue (the default being 'n'). With stdin closed or /dev/null, # it exits immediately and the check for config.sh below will skip. @@ -1380,6 +1462,62 @@ if ($target ne 'miniperl') { system "$options{make} $j $real_target 1, + ) or die $!; + + # Don't ever stop to ask the user for input + $ENV{AUTOMATED_TESTING} = 1; + $ENV{PERL_MM_USE_DEFAULT} = 1; + + # Don't let these interfere with our cpan installs + delete $ENV{PERL_MB_OPT}; + delete $ENV{PERL_MM_OPT}; + + # Make sure we load up our CPAN::MyConfig and then + # override the build_dir so we have a fresh one + # every build + my $cdir = $options{'cpan-config-dir'} + || File::Spec->catfile($ENV{HOME},".cpan"); + + my @cpanshell = ( + "$prefix/bin/perl", + "-I", "$cdir", + "-MCPAN::MyConfig", + "-MCPAN", + "-e","\$CPAN::Config->{build_dir}=q{$bdir};", + "-e", + ); + + for (@m) { + s/-/::/g if /-/ and !m|/|; + } + my $install = join ",", map { "'$_'" } @m; + my $last = $m[-1]; + my $shellcmd = "install($install); die unless CPAN::Shell->expand(Module => '$last')->uptodate;"; + + if ($options{module}) { + run_report_and_exit(@cpanshell, $shellcmd); + } else { + my $ret = run_with_options({setprgp => $options{setpgrp}, + timeout => $options{timeout}, + }, @cpanshell, $shellcmd); + $ret &= 0xff if $options{crash}; + + # Failed? Give up + if ($ret) { + report_and_exit(!$ret, 'zero exit from', 'non-zero exit from', "@_"); + } + } +} + my $expected_file_found = $expected_file =~ /perl$/ ? -x $expected_file : -r $expected_file; diff --git a/Porting/bisect.pl b/Porting/bisect.pl index 6e52a4c..68d68d1 100755 --- a/Porting/bisect.pl +++ b/Porting/bisect.pl @@ -10,14 +10,37 @@ Documentation for this is in bisect-runner.pl # The default, auto_abbrev will treat -e as an abbreviation of --end # Which isn't what we want. use Getopt::Long qw(:config pass_through no_auto_abbrev); +use File::Spec; +use File::Path qw(mkpath); + +my ($start, $end, $validate, $usage, $bad, $jobs, $make, $gold, + $module, $with_module); + +my $need_cpan_config; +my $cpan_config_dir; -my ($start, $end, $validate, $usage, $bad, $jobs, $make, $gold); $bad = !GetOptions('start=s' => \$start, 'end=s' => \$end, 'jobs|j=i' => \$jobs, 'make=s' => \$make, 'gold=s' => \$gold, - validate => \$validate, 'usage|help|?' => \$usage); + validate => \$validate, 'usage|help|?' => \$usage, + 'module=s' => \$module, 'with-module=s' => \$with_module, + 'cpan-config-dir=s' => \$cpan_config_dir); unshift @ARGV, '--help' if $bad || $usage; unshift @ARGV, '--validate' if $validate; +if ($module || $with_module) { + unshift @ARGV, '--module', $module if defined $module; + unshift @ARGV, '--with-module', $with_module if defined $with_module; + + if ($cpan_config_dir) { + my $c = File::Spec->catfile($cpan_config_dir, 'CPAN', 'MyConfig.pm'); + die "--cpan-config-dir: $c does not exist\n" unless -e $c; + + unshift @ARGV, '--cpan-config-dir', $cpan_config_dir; + } else { + $need_cpan_config = 1; + } +} + my $runner = $0; $runner =~ s/bisect\.pl/bisect-runner.pl/; @@ -49,6 +72,27 @@ if (!defined $jobs && unshift @ARGV, '--jobs', $jobs if defined $jobs; unshift @ARGV, '--make', $make if defined $make; +if ($need_cpan_config) { + # Make sure we have a CPAN::MyConfig so if we start at an old + # revision CPAN doesn't ask for user input to configure itself + + my $cdir = File::Spec->catdir($ENV{HOME},".cpan","CPAN"); + my $cfile = File::Spec->catfile($cdir, "MyConfig.pm"); + + unless (-e $cfile) { + printf <new(level => 1)->sort( map { $authors->{$_} } - keys %$patchers) . ".\n"; + keys %$patchers)) . ".\n"; } sub parse_commits_from_stdin { @@ -586,7 +587,6 @@ crt\100kiski.net perl\100ctweten.amsite.com dairiki\100dairiki.org dairiki at dairiki.org dagolden\100cpan.org xdaveg\100gmail.com -+ xdg\100xdg.me damian\100conway.org damian\100cs.monash.edu.au dan\100sidhe.org sugalsd\100lbcc.cc.or.us + sugalskd\100osshe.edu @@ -645,8 +645,7 @@ ian.goodacre\100xtra.co.nz ian\100debian.lan ingo_weinhold\100gmx.de bonefish\100cs.tu-berlin.de james\100mastros.biz theorb\100desert-island.me.uk -jan\100jandubois.com jand\100activestate.com -+ jan.dubois\100ibm.net +jand\100activestate.com jan.dubois\100ibm.net japhy\100pobox.com japhy\100pobox.org + japhy\100perlmonk.org + japhy\100cpan.org @@ -910,8 +909,7 @@ stef\100mongueurs.net stef\100payrard.net + s.payrard\100wanadoo.fr + properler\100freesurf.fr + stef\100francenet.fr -stevan\100cpan.org stevan.little\100gmail.com -+ stevan.little\100iinteractive.com +stevan\100cpan.org stevan.little\100iinteractive.com sthoenna\100efn.org ysth\100raven.shiftboard.com sisyphus1\100optusnet.com.au sisyphus\100cpan.org diff --git a/Porting/config.sh b/Porting/config.sh index 5a25c7d..93b2a6c 100644 --- a/Porting/config.sh +++ b/Porting/config.sh @@ -40,11 +40,11 @@ ansi2knr='' aphostname='/bin/hostname' api_revision='5' api_subversion='0' -api_version='22' -api_versionstring='5.22.0' +api_version='23' +api_versionstring='5.23.0' ar='ar' -archlib='/pro/lib/perl5/5.22.3/i686-linux-64int' -archlibexp='/pro/lib/perl5/5.22.3/i686-linux-64int' +archlib='/pro/lib/perl5/5.23.0/i686-linux-64int' +archlibexp='/pro/lib/perl5/5.23.0/i686-linux-64int' archname64='64int' archname='i686-linux-64int' archobjs='' @@ -623,7 +623,10 @@ db_version_patch='30' direntrytype='struct dirent' dlext='so' dlsrc='dl_dlopen.xs' +doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f' doublekind='3' +doublemantbits='52' +doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f' doublesize='8' drand01='Perl_drand48()' drand48_r_proto='0' @@ -810,7 +813,7 @@ incpath='' incpth='/usr/lib/gcc/i586-suse-linux/4.8/include /usr/local/include /usr/lib/gcc/i586-suse-linux/4.8/include-fixed /usr/lib/gcc/i586-suse-linux/4.8/../../../../i586-suse-linux/include /usr/include' inews='' initialinstalllocation='/pro/bin' -installarchlib='/pro/lib/perl5/5.22.3/i686-linux-64int' +installarchlib='/pro/lib/perl5/5.23.0/i686-linux-64int' installbin='/pro/bin' installhtml1dir='' installhtml3dir='' @@ -818,13 +821,13 @@ installman1dir='/pro/local/man/man1' installman3dir='/pro/local/man/man3' installprefix='/pro' installprefixexp='/pro' -installprivlib='/pro/lib/perl5/5.22.3' +installprivlib='/pro/lib/perl5/5.23.0' installscript='/pro/bin' -installsitearch='/pro/lib/perl5/site_perl/5.22.3/i686-linux-64int' +installsitearch='/pro/lib/perl5/site_perl/5.23.0/i686-linux-64int' installsitebin='/pro/bin' installsitehtml1dir='' installsitehtml3dir='' -installsitelib='/pro/lib/perl5/site_perl/5.22.3' +installsitelib='/pro/lib/perl5/site_perl/5.23.0' installsiteman1dir='/pro/local/man/man1' installsiteman3dir='/pro/local/man/man3' installsitescript='/pro/bin' @@ -871,7 +874,10 @@ lns='/usr/bin/ln -s' localtime_r_proto='0' locincpth='/pro/local/include' loclibpth='/pro/local/lib' +longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' longdblkind='3' +longdblmantbits='64' +longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' longdblsize='12' longlongsize='8' longsize='4' @@ -925,6 +931,7 @@ nv_preserves_uv_bits='53' nveformat='"e"' nvfformat='"f"' nvgformat='"g"' +nvmantbits='52' nvsize='8' nvtype='double' o_nonblock='O_NONBLOCK' @@ -946,7 +953,7 @@ perl_patchlevel='' perl_static_inline='static __inline__' perladmin='hmbrand@cpan.org' perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc' -perlpath='/pro/bin/perl5.22.3' +perlpath='/pro/bin/perl5.23.0' pg='pg' phostname='hostname' pidtype='pid_t' @@ -955,8 +962,8 @@ pmake='' pr='' prefix='/pro' prefixexp='/pro' -privlib='/pro/lib/perl5/5.22.3' -privlibexp='/pro/lib/perl5/5.22.3' +privlib='/pro/lib/perl5/5.23.0' +privlibexp='/pro/lib/perl5/5.23.0' procselfexe='"/proc/self/exe"' prototype='define' ptrsize='4' @@ -1022,17 +1029,17 @@ sig_num='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 sig_num_init='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, 6, 17, 29, 31, 0' sig_size='69' signal_t='void' -sitearch='/pro/lib/perl5/site_perl/5.22.3/i686-linux-64int' -sitearchexp='/pro/lib/perl5/site_perl/5.22.3/i686-linux-64int' +sitearch='/pro/lib/perl5/site_perl/5.23.0/i686-linux-64int' +sitearchexp='/pro/lib/perl5/site_perl/5.23.0/i686-linux-64int' sitebin='/pro/bin' sitebinexp='/pro/bin' sitehtml1dir='' sitehtml1direxp='' sitehtml3dir='' sitehtml3direxp='' -sitelib='/pro/lib/perl5/site_perl/5.22.3' +sitelib='/pro/lib/perl5/site_perl/5.23.0' sitelib_stem='/pro/lib/perl5/site_perl' -sitelibexp='/pro/lib/perl5/site_perl/5.22.3' +sitelibexp='/pro/lib/perl5/site_perl/5.23.0' siteman1dir='/pro/local/man/man1' siteman1direxp='/pro/local/man/man1' siteman3dir='/pro/local/man/man3' @@ -1058,7 +1065,7 @@ src='.' ssizetype='ssize_t' st_ino_sign='1' st_ino_size='8' -startperl='#!/pro/bin/perl5.22.3' +startperl='#!/pro/bin/perl5.23.0' startsh='#!/bin/sh' static_ext=' ' stdchar='char' @@ -1071,7 +1078,7 @@ stdio_stream_array='' strerror_r_proto='0' strings='/usr/include/string.h' submit='' -subversion='3' +subversion='0' sysman='/usr/share/man/man1' sysroot='' tail='' @@ -1170,8 +1177,8 @@ vendorprefix='' vendorprefixexp='' vendorscript='' vendorscriptexp='' -version='5.22.3' -version_patchlevel_string='version 22 subversion 3' +version='5.23.0' +version_patchlevel_string='version 23 subversion 0' versiononly='define' vi='' xlibpth='/usr/lib/386 /lib/386' @@ -1180,10 +1187,10 @@ yaccflags='' zcat='' zip='zip' PERL_REVISION=5 -PERL_VERSION=22 -PERL_SUBVERSION=3 +PERL_VERSION=23 +PERL_SUBVERSION=0 PERL_API_REVISION=5 -PERL_API_VERSION=22 +PERL_API_VERSION=23 PERL_API_SUBVERSION=0 PERL_PATCHLEVEL='' PERL_CONFIG_SH=true diff --git a/Porting/config_H b/Porting/config_H index 592efcb..8c0043c 100644 --- a/Porting/config_H +++ b/Porting/config_H @@ -960,8 +960,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 "/pro/lib/perl5/5.22.3/i686-linux-64int-ld" /**/ -#define ARCHLIB_EXP "/pro/lib/perl5/5.22.3/i686-linux-64int-ld" /**/ +#define ARCHLIB "/pro/lib/perl5/5.23.0/i686-linux-64int-ld" /**/ +#define ARCHLIB_EXP "/pro/lib/perl5/5.23.0/i686-linux-64int-ld" /**/ /* ARCHNAME: * This symbol holds a string representing the architecture name. @@ -2068,8 +2068,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 "/pro/lib/perl5/5.22.3" /**/ -#define PRIVLIB_EXP "/pro/lib/perl5/5.22.3" /**/ +#define PRIVLIB "/pro/lib/perl5/5.23.0" /**/ +#define PRIVLIB_EXP "/pro/lib/perl5/5.23.0" /**/ /* PTRSIZE: * This symbol contains the size of a pointer, so that the C preprocessor @@ -2119,8 +2119,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 "/pro/lib/perl5/site_perl/5.22.3/i686-linux-64int-ld" /**/ -#define SITEARCH_EXP "/pro/lib/perl5/site_perl/5.22.3/i686-linux-64int-ld" /**/ +#define SITEARCH "/pro/lib/perl5/site_perl/5.23.0/i686-linux-64int-ld" /**/ +#define SITEARCH_EXP "/pro/lib/perl5/site_perl/5.23.0/i686-linux-64int-ld" /**/ /* SITELIB: * This symbol contains the name of the private library for this package. @@ -2142,8 +2142,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 "/pro/lib/perl5/site_perl/5.22.3" /**/ -#define SITELIB_EXP "/pro/lib/perl5/site_perl/5.22.3" /**/ +#define SITELIB "/pro/lib/perl5/site_perl/5.23.0" /**/ +#define SITELIB_EXP "/pro/lib/perl5/site_perl/5.23.0" /**/ #define SITELIB_STEM "/pro/lib/perl5/site_perl" /**/ /* SSize_t: @@ -4326,7 +4326,7 @@ * script to make sure (one hopes) that it runs with perl and not * some shell. */ -#define STARTPERL "#!/pro/bin/perl5.22.3" /**/ +#define STARTPERL "#!/pro/bin/perl5.23.0" /**/ /* HAS_STDIO_STREAM_ARRAY: * This symbol, if defined, tells that there is an array diff --git a/Porting/epigraphs.pod b/Porting/epigraphs.pod index d30e23e..a71ac18 100644 --- a/Porting/epigraphs.pod +++ b/Porting/epigraphs.pod @@ -17,951 +17,6 @@ Consult your favorite dictionary for details. =head1 EPIGRAPHS -=head2 v5.25.8 - Langston Hughes, So long - -L - - So long - is in the song - and it's in the way you're gone - but it's like a foreign language - in my mind - and maybe was I blind - I could not see - and would not know - you're gone so long - so long. - -=head2 v5.25.7 - J.R.R. Tolkien, "The Silmarillion" - -L - - Of Beren and Lúthien - - Among the tales of sorrow and of ruin that come down to us from the darkness of - those days there are yet some in which amid weeping there is joy and under the - shadow of death light that endures. And of these histories most fair still in - the ears of the Elves is the tale of Beren and Lúthien. Of their lives was made - the Lay of Leithian, Release from Bondage, which is the longest save one of the - songs concerning the world of old; but here is told in fewer words and without - song. - -=head2 v5.25.6 - Alan Warner, "The Sopranos" - -L - - I'm up on all the pop trivia, says the guy with the stud in his tongue. - Are you? - Yes. Do you know who he lead singer of Echo and the Bunnymen is? - Let me guess, is he called Echo? - Good guess but no, anyway when they played Glastonbury it was so - muddy he had two roadies to hold up a binliner on each of his legs so - they wouldn't get covered in mud. - That's what being rich and famous is all about, having someone - else hold up your binliners on each leg when you're wandering across - a sea of shite. - Do you know what Sammy Davis Junior said being black and famous in - America meant? - No. - He said being black and famous in America meant he could be - refused entry to exclusive clubs and restaurants that other people - could only ever dream of going to. Do you know Michael Stipe likes to - send his remote control toy cars onto stage while his support band are - playing to freak them out? - Who's Michael Stipe? - You're not really a pop trivia person, are you, Kylah? - No, I'm not, Stephen. - -=head2 v5.25.5 - Philip K. Dick, VALIS - -L - - We hypostatize information into objects. Rearrangement of objects is - change in the content of the information; the message has changed. - This is a language which we have lost the ability to read. We ourselves - are a part of this language; changes in us are changes in the content - of the information. We ourselves are information-rich; information - enters us, is processed and is then projected outward once more, now - in an altered form. We are not aware that we are doing this, that in - fact this is all we are doing - -=head2 v5.25.4 - Terry Pratchett, "Truckers" - -L - - Concerning Nomes and Time - - Nomes are small. On the whole, small creatures don't live for a long - time. But perhaps they do live fast. - - Let me explain. - - One of the shortest-lived creatures on the planet Earth is the adult - common mayfly. It lasts for one day. The longest-living things are - bristlecone pine trees, at 4,700 years and still counting. - - This may seem tough on the mayflies. But the important thing is not - how long your life is, but how long it seems. - - To a mayfly, a single hour may last as long as a century. Perhaps - old mayflies sit around complaining about how life this minute isn't a - patch on the good old minutes of long ago, when the world was - young and the sun seemed so much brighter and larvae showed you a - bit of respect. Whereas the trees, which are not famous to their - quick reactions, may just have time to notice the way the sky keeps - flickering before the dry rot and woodworm set in. - - It's all a sort of relativity. The faster you live, the more time - stretches out. To a nome, a year lasts as long as ten years does to a - human. Remember it. Don't let it concern you. They don't. They don't - even know. - -=head2 v5.25.3 - Edward Lear, ed. Vivien Noakes, "The Complete Nonsense and Other Verse": The Dong with a Luminous Nose - -L - - When awful darkness and silence reign - Over the great Gromboolian plain, - Through the long, long wintry nights; - - When the angry breakers roar - As they beat on the rocky shore; - - When Storm-clouds brood on the towering heights - Of the Hills of the Chankly Bore: - - - Then, through the vast and gloomy dark, - There moves what seems a fiery spark, - A lonely spark with silvery rays - Piercing the coal-black night, - - A Meteor strange and bright: - - Hither and thither the vision strays, - A single lurid light. - - Slowly it wanders, - pauses, - creeps, - - Anon it sparkles, - flashes and leaps; - And ever as onward it gleaming goes - A light on the Bong-tree stems it throws. - And those who watch at that midnight hour - From Hall or Terrace, or lofty Tower, - Cry, as the wild light passes along, - - 'The Dong! - the Dong! - The wandering Dong through the forest goes! - The Dong! the Dong! - The Dong with a luminous Nose!' - -=head2 v5.25.2 - Dan le Sac Vs Scroobius Pip "Waiting For The Beat To Kick In" - -L - - Waiting for the beat to kick in - But it never does - Waiting for my feet to grow wings - That lift me above - All of these tiresome things - That we know and love - Waiting for the beat to kick in - But it never does - -=head2 v5.25.1 - Eli Pariser, "The Filter Bubble" - -L - -Imagine that you're a smart high school student on the low end of the social -totem pole. You're alienated from adult authority, but unlike many teenagers, -you're also alienated from the power structures of your peers -- an existence -that can feel lonely and peripheral. Systems and equations are intuitive, but -people aren't -- social signals are confusing and messy, difficult to interpret. - -Then you discover code. You may be powerless at the lunch table, but code -gives you power over an infinitely malleable world and opens the door to a -symbolic system that's perfectly clear and ordered. The jostling for position -and status fades away. The nagging parental voices disappear. There's just a -clean, white page for you to fill, an opportunity to build a better place, a -home, from the ground up. - -No wonder you're a geek. - -=head2 v5.25.0 - Robert Frost, "The Trial by Existence" - -L - - Even the bravest that are slain - Shall not dissemble their surprise - On waking to find valor reign, - Even as on earth, in paradise; - And where they sought without the sword - Wide fields of asphodel fore’er, - To find that the utmost reward - Of daring should be still to dare. - -=head2 v5.24.1-RC5 - John Milton, ed. Gordon Campbell, "Paradise Regained", Book IV - -L - - Thus passed the night so foul, till Morning fair - Came forth with pilgrim steps, in amice grey; - Who with her radiant finger stilled the roar - Of thunder, chased the clouds, and laid the winds, - And grisly spectres, which the fiend had raised - To tempt the Son of God with terrors dire. - And now the sun with more effectual beams - Had cheered the face of earth, and dried the wet - From drooping plant, or dropping tree; the birds, - Who all things now behold more fresh and green, - After a night of storm so ruinous, - Cleared up their choicest notes in bush and spray, - To gratulate the sweet return of morn. - -=head2 v5.24.1-RC4 - John Milton, ed. Gordon Campbell, "Paradise Lost", Book II - -L - - Before the gates there sat - On either side a formidable shape; - The one seemed woman to the waste, and fair, - But ended foul in many a scaly fold, - Voluminous and vast -- a serpent armed - With mortal sting; about her middle round - A cry of hell hounds never ceasing barked - With wide Cerberean mouths full loud, and rung - A hideous peal; yet, when they list, would creep, - If aught disturbed their noise, into her womb, - And kennel there; yet there still barked and howled - Within unseen. Far less abhorred than these - Vexed Scylla, bathing in the sea that parts - Calabria from the hoarse Trinacrian shore; - Nor uglier follow the night-hag, when, called - In secret, riding through the air she comes, - Lured with the smell of infant blood, to dance - With Lapland witches, while the labouring moon - Eclipses at their charms. The other shape -- - If shape it might be called that shape had none - Distinguishable in member, joint, or limb; - Or substance might be called that shadow seemed, - For each seemed either -- black it stood as night, - Fierce as ten Furies, terrible as hell, - And shook a dreadful dart: what seemed his head - The likeness of a kingly crown had on. - Satan was now at hand, and from his seat - The monster moving onward came as fast - With horrid strides; hell trembled as he strode. - -=head2 v5.24.1-RC3 - Dante Alighieri, trans. Dorothy L. Sayers and Barbara Reynolds, "The Divine Comedy", Cantica III: Paradise, Canto XXIII - -L - - A bird within the bower of her delight, - Quiet upon the nest with her sweet brood - Throughout the dark concealment of the night, - - Anxious to look on them and gather food - - No weary task for her, for as at play - Blithely she toils to seek her fledglings' good - - - Before the time, upon the topmost spray - Eager awaits the sun and on the East - Fixes her wakeful eye till break of day. - -=head2 v5.24.1-RC2 - Dante Alighieri, trans. Dorothy L. Sayers, "The Divine Comedy", Cantica II: Purgatory, Canto X - -L - - When we had crossed the threshold of that gate - Which the soul's evil loves put out of use, - Because they make the crooked path seem straight, - - I heard its closing clang ring clamorous, - And had I then turned back my eyes to it - How could my fault have found the least excuse? - - We had to climb now through a rocky slit - Which ran from side to side in many a swerve, - As runs the wave in onset and retreat. - - "Now here," the master said, "we must observe - Some little caution, hugging now this wall, - Now that, upon the far side of the curve." - -=head2 v5.24.1-RC1 - Dante Alighieri, trans. Dorothy L. Sayers, "The Divine Comedy", Cantica I: Hell, Canto XX - -L - - New punishments behoves me sing in this - Twentieth canto of my first canticle, - Which tells of spirits sunk in the Abyss. - - I now stood ready to observe the full - Extent of the new chasm thus laid bare, - Drenched as it was in tears most miserable. - - Through the round vale I saw folk drawing near, - Weeping and silent, and at such slow pace - As Litany processions keep, up here. - - And presently, when I had dropped my gaze - Lower than the head, I saw them strangely wried - 'Twixt collar-bone and chin, so that the face - - Of each was turned towards his own backside, - And backwards must they needs creep with their feet, - All power of looking forward being denied. - -=head2 v5.24.0 - Robert Frost, "The Black Cottage" - -L - - As I sit here, and oftentimes, I wish - I could be monarch of a desert land - I could devote and dedicate forever - To the truths we keep coming back and back to. - So desert it would have to be, so walled - By mountain ranges half in summer snow, - No one would covet it or think it worth - The pains of conquering to force change on. - Scattered oases where men dwelt, but mostly - Sand dunes held loosely in tamarisk - Blown over and over themselves in idleness. - Sand grains should sugar in the natal dew - The babe born to the desert, the sand storm - Retard mid-waste my cowering caravans— - - “There are bees in this wall.” He struck the clapboards, - Fierce heads looked out; small bodies pivoted. - We rose to go. Sunset blazed on the windows. - -=head2 v5.24.0-RC5 - The Mountain Goats, "No Children" - -L - - And I hope when you think of me years down the line - You can't find one good thing to say - And I'd hope that if I found the strength to walk out - You'd stay the hell out of my way - - I am drowning, there is no sign of land - You are coming down with me, hand in unlovable hand - -=head2 v5.24.0-RC4 - The Joker in "The Killing Joke" - -L - -"See, there were these two guys in a lunatic asylum…" - -=head2 v5.24.0-RC3 - Jesse Vincent - -L - -The Great Pumpkin is a Santa-Claus like figure. He does bring toys like -Santa. But unlike Santa, who gives away toys because it's his job, he -gives away toys because it's the right thing to do. - -=head2 v5.24.0-RC2 - Joseph Heller, "Catch-22" - -L - -“How do you feel, Yossarian?” - -“Fine. No, I’m very frightened.” - -“That’s good,” said Major Danby. “It proves you’re still alive. It won’t -be fun.” - -Yossarian started out. “Yes it will.” - -“I mean it, Yossarian. You’ll have to keep on your toes every minute of -every day. They’ll bend heaven and earth to catch you.” - -“I’ll keep on my toes every minute.” - -“You’ll have to jump.” - -“I’ll jump.” - -“Jump!” Major Danby cried. - -Yossarian jumped. - -Nately’s [girl] was hiding just outside the door. The knife came down, -missing him by inches, and he took off. - -=head2 v5.24.0-RC1 - Robert Frost, "The Census-Taker" - -L - - Nothing was left to do that I could see - Unless to find that there was no one there - And declare to the cliffs too far for echo, - "The place is desert, and let whoso lurks - In silence, if in this he is aggrieved, - Break silence now or be forever silent. - Let him say why it should not be declared so." - The melancholy of having to count souls - Where they grow fewer and fewer every year - Is extreme where they shrink to none at all. - It must be I want life to go on living. - -=head2 v5.23.9 - Tom Kitchin, "from nature to plate" - -L - -Spring - -Spring is the proper beginning of my kitchen and a season that I -look forward to with great anticipation. By the time spring arrives -I am desperate to welcome all the spring produce into my kitchen -and I long to work with fresh green vegetables again. As much as I -love root vegetables, such as celeriac and parsnips, and the heaver -meat and game dishes, I'm ready to leave those behind with winter -and begin a new adventure. - -Somehow spring always gives me a little bit of bounce in my feet --- I feel like I want to kick off my shoes and dance around in my -kitchen. Not that I do, of course, but I feel lighter somehow. My -adrenalin kicks in with spring and so does the level of excitement, -as I think about all the produce that is about to come in. - -The moment spring arrives I'm eager to cook peas, broad beans, green -asparagus and other fresh vegetables! I want to create lighter, -brighter dishes and I can't wait to get my hands on the first greens -and the first morels, not to mention the first wild Scottish salmon. -Thanks to my network of trusted suppliers, I always get to first -produce of the season delivered to my restaurant as soon as it is -possible. I want my customers to experience and understand the -beauty of locally grown produce and to try things the minute they -are available so they can taste how incredibly fresh the ingredients -are. I also want them to understand the relationship between -seasonality and flavours. One of the most important things to -remember is to allow the seasons to inspire your dishes and help -you make natural matches. Wild spring herbs, such as sorrel, sweet -cicely and wild garlic, as well as spring salad leaves and green -lettuce served with wild salmon, wild sea trout, lamb or rabbit are -marriages made in heaven. - - -=head2 v5.23.8 - Patrick Rothfuss, "The Wise Man's Fear (The Kingkiller's Chronicle: Day Two)" - -L - -Denna, on the other hand, had never been trained. She knew nothing -of shortcuts. You'd think she'd be forced to wander the city, lost and -helpless, trapped in a twisting maze of mortared stone. - -But instead, she simply walked throught the walls. She didn't know -any better. Nobody had ever told her she couldn't. Because of this, -she moved through the city like some faerie creature. She walked roads -no one else could see, and it made her music wild and strange and -free. - -=head2 v5.23.7 - William Gibson, "Neuromancer" - -L - -A year here and he still dreamed of cyberspace, hope fading -nightly. All the speed he took, all the turns he'd taken and -the corners he cut in Night City, and he'd still see the matrix -in his dreams, bright lattices of logic unfolding across that -colourless void...The Sprawl was a long, strange way home now -over the Pacific, and he was no Console Man, no cyberspace -cowboy. Just another hustler, trying to make it through. But -the dreams came on in the Japanese night like livewire voodoo, -and he'd cry for it, cry in his sleep, and wake alone in the -dark, curled in his capsule in some coffin hotel, hands clawed -into the bedslab, temper foam bunched between his fingers, -trying to reach the console that wasn't there. - -=head2 v5.23.6 - 5.23 Episode VII - -L - - A long time ago in microseconds, in a galaxy not very far away... - - 5.23 Episode VII - THE FUZZ AWAKENS - - It is a period of - unrest as separatists - announce their intentions - to fork PERL and return the - galaxy to speed and stability. - - Chancellor Rik Hoolian struggles - to hold together the remains of the - once mighty Republic against a tide of - incivility and the depredations of a new - foe, the FUZZ RAIDERS. - - Meanwhile, after 15 years of preparation and - high expectations, Supreme Leader Toady prepares - to unleash a devastating new weapon, PERL SIXDOTOH, - that could splinter the Republic forever and usher in - a new Empire of gradual typing.... - -=head2 v5.23.5 - utastro!nather (Ed Nather), "The Story of Mel", in net.jokes, May 21, 1983. - -L - -After Mel had left the company for greener pa$ture$, the Big Boss asked -me to look at the code and see if I could find the test and reverse it. -Somewhat reluctantly, I agreed to look. Tracking Mel's code was a real -adventure. - -I have often felt that programming is an art form, whose real value can -only be appreciated by another versed in the same arcane art; there are -lovely gems and brilliant coups hidden from human view and admiration, -sometimes forever, by the very nature of the process. You can learn a -lot about an individual just by reading through his code, even in -hexadecimal. Mel was, I think, an unsung genius. - -Perhaps my greatest shock came when I found an innocent loop that had -no test in it. No test. None. Common sense said it had to be a closed -loop, where the program would circle, forever, endlessly. Program -control passed right through it, however, and safely out the other side. -It took me two weeks to figure it out. - -The RPC-4000 computer had a really modern facility called an index -register. It allowed the programmer to write a program loop that used -an indexed instruction inside; each time through, the number in the -index register was added to the address of that instruction, so it -would refer to the next datum in a series. He had only to increment -the index register each time through. Mel never used it. - -Instead, he would pull the instruction into a machine register, add one -to its address, and store it back. He would then execute the modified -instruction right from the register. The loop was written so this -additional execution time was taken into account -- just as this -instruction finished, the next one was right under the drum's read head, -ready to go. But the loop had no test in it. - -The vital clue came when I noticed the index register bit, the bit that -lay between the address and the operation code in the instruction word, -was turned on -- yet Mel never used the index register, leaving it zero -all the time. When the light went on it nearly blinded me. - -He had located the data he was working on near the top of memory -- the -largest locations the instructions could address -- so, after the last -datum was handled, incrementing the instruction address would make it -overflow. The carry would add one to the operation code, changing it to -the next one in the instruction set: a jump instruction. Sure enough, -the next program instruction was in address location zero, and the -program went happily on its way. - -=head2 v5.23.4 - Denis Diderot, trans. David Coward, "Jacques the Fatalist" - -L - -Well, everybody's got a dog. The prime minister is the king's dog. The -first secretary is the prime minister's dog. A wife is a husband's dog, -or a husband is a wife's dog. Favourite is Madame So-and-so's dog and -Thibaut is the man on the corner's dog. When my Master tells me to talk -when I'd prefer not to, which to be honest doesn't happen very often, -when he tells me to shut up when I feel like talking, which I find very -difficult, when he asks me to tell the story of my love-life and then -keeps interrupting, what am I if not his dog? Weak men are the dogs of -strong men. - -=head2 v5.23.3 - Oliver Wendell Holmes, "The Deacon’s Masterpiece or The Wonderful 'One-Hoss Shay': A Logical Story" - -L - - Little of of all we value here - Wakes on the morn of its hundredth year - Without both feeling and looking queer. - In fact, there’s nothing that keeps its youth, - So far as I know, but a tree and truth. - (This is a moral that runs at large; - Take it. — You’re welcome. — No extra charge.) - -=head2 v5.23.2 - Blind Guardian, "Skalds and Shadows" - -L - - Would you believe in a night like this - A night like this, when visions come true - Would you believe in a tale like this - A lay of bliss, praise in the old lore - Come to the blazing fire and - - See me in the shadows - See me in the shadows - Songs I will sing - Of runes and rings - Just hand me my harp - This night turns into myth - Nothing seems real - You soon will feel - The world we live in is another skald's - Dream in the shadows - Dream in the shadows - - Do you believe there is sense in it - Is it truth or myth? - They´re one in my rhymes - Nobody knows the meaning behind - The weaver's line - Well nobody else but the Norns can - See through the blazing fires of time and - All things will proceed as the - Child of the hallowed - Will speak to you now - - See me in the shadows - See me in the shadows - Songs I will sing of tribes and kings - The carrion bird and the hall of the slain - Nothing seems real - You soon will feel - The world we live in is another skald´s - Dream in the shadows - Dream in the shadows - - Do not fear for my reason - There's nothing to hide - How bitter your treason - How bitter the lie - Remember the runes and remember the light - All I ever want is to be at your side - We'll gladden the raven now I will - Run through the blazing fires - That's my choice - Cause things shall proceed as foreseen - -=head2 v5.23.1 - Elizabeth Haydon, "The Assassin King" - -L - - I was born beneath this willow, - Where my sire the earth did farm - Had the green grass as my pillow - The east wind as a blanket warm. - - But away! away! called the wind from the west - And in answer I did run - Seeking glory and adventure - Promised by the rising sun. - - I found love beneath this willow, - As true a love as life could hold, - Pledged my heart and swore my fealty - Sealed with a kiss and a band of gold. - - But to arms! to arms! called the wind from the west - In faithful answer I did run - Marching forth for king and country - In battles 'neath the midday sun. - - Oft I dreamt of that fair willow - As the seven seas I plied - And the girl who I left waiting - Longing to be at her side. - - But about! about! called the wind from the west - As once again my ship did run - Down the coast, about the wide world - Flying sails in the setting sun. - - Now I lie beneath the willow - Now at last no more to roam, - My bride and earth so tightly hold me - In their arms I'm finally home. - - While away! away! calls the wind from the west - Beyond the grave my spirit, free - Will chase the sun into the morning - Beyond the sky, beyond the sea. - -=head2 v5.23.0 - Bob Dylan, "Maggie's Farm" - -L - - I ain't gonna work on Maggie's farm no more - I ain't gonna work on Maggie's farm no more - Well, I try my best - To be just like I am - But everybody wants you - To be just like them - They sing while you slave and I just get bored - I ain't gonna work on Maggie's farm no more - -=head2 v5.22.3-RC5 - John Milton, ed. Gordon Campbell, "Paradise Regained", Book II - -L - - Thus wore out night; and now the herald lark - Left his ground-nest, high towering to descry - The Morn's approach, and greet her with his song; - As lightly from his grassy couch up rose - Our Saviour, and found all was but a dream; - Fasting he went to sleep, and fasting waked. - Up to a hill anon his steps he reared, - From whose high top to ken the prospect round, - If cottage were in view, sheep-cote, or herd; - But cottage, herd, or sheep-cote, none he saw -- - Only in a bottom saw a pleasant grove, - With chant of tuneful birds resounding loud; - Thither he bent his way, determined there - To rest at noon, and entered soon the shade, - High-roofed and walks beneath, and alleys brown, - That opened in the midst a woody scene; - Nature's own work it seemed (Nature taught Art), - And, to a superstitious eye, the haunt - Of wood-gods and wood-nymphs. - -=head2 v5.22.3-RC4 - John Milton, ed. Gordon Campbell, "Paradise Lost", Book II - -L - - Far off from these, a slow and silent stream, - Lethe, the river of oblivion, rolls - Her watery labyrinth, whereof who drinks - Forthwith his former state and being forgets -- - Forgets both joy and grief, pleasure and pain. - Beyond this flood a frozen continent - Lies dark and wild, beat with perpetual storms - Of Whirlwind and dire hail, which on firm land - Thaws not, but gathers heap, and ruin seems - Of ancient pile; all else deep snow and ice, - A gulf profound as that Serbonian bog - Betwixt Damiata and Mount Casius old, - Where armies whole have sunk: the parching air - Burns frore, and cold performs the effect of fire. - Thither, by harpy-footed Furies haled, - At certain revolutions all the damned - Are brought; and feel by turns the bitter change - Of fierce extremes, extremes by change more fierce, - From beds of raging fire to starve in ice - Their soft ethereal warmth, and there to pine - Immovable, infixed, and frozen round - Periods of time -- thence hurried back to fire. - They ferry over this Lethean sound - Both to and fro, their sorrow to augment, - And wish and struggle, as they pass, to reach - The tempting stream, with one small drop to lose - In sweet forgetfulness all pain and woe, - All in one moment, and so near the brink; - But fate withstands, and, to oppose the attempt, - Medusa with Gorgonian terror guards - The ford, and of itself the water flies - All taste of living wight, as once it fled - The lip of Tantalus. - -=head2 v5.22.3-RC3 - Dante Alighieri, trans. Dorothy L. Sayers and Barbara Reynolds, "The Divine Comedy", Cantica III: Paradise, Canto IV - -L - - Between two dishes, equally attractive - And near to him, a free man, I suppose, - Would starve to death before his teeth got active; - - So would a lamb 'twixt two fierce wolfish foes, - Fearing the fangs both ways, not stir a foot; - So would a deerhound halt between two does; - - So I can't blame myself for standing mute, - Nor praise myself: for I must needs so do, - Suspended 'twixt two doubts, alike acute. - -=head2 v5.22.3-RC2 - Dante Alighieri, trans. Dorothy L. Sayers, "The Divine Comedy", Cantica II: Purgatory, Canto I - -L - - For better waters heading with the wind - My ship of genius now shakes out her sail - And leaves that ocean of despair behind; - - For to the second realm I tune my tale, - Where human spirits purge themselves, and train - To leap up into joy celestial. - - Now from the grave wake poetry again, - O sacred Muses I have served so long! - Now let Calliope uplift her strain - - And lift my voice up on the mighty song - That smote the miserable Magpies nine - Out of all hope of pardon for their wrong! - -=head2 v5.22.3-RC1 - Dante Alighieri, trans. Dorothy L. Sayers, "The Divine Comedy", Cantica I: Hell, Canto XII - -L - - The place we came to, to descend the brink from, - Was sheer crag; and there was a Thing there - making, - All told, a prospect any eye would shrink from. - - Like the great landslide that rushed downward, shaking - The bank of Adige on this side Trent, - (Whether through faulty shoring or the earth's quaking) - - So that the rock, down from the summit rent - Far as the plain, lies strewn, and one might crawl - From top to bottom by that unsure descent, - - Such was the precipice; and there we spied, - Topping the cleft that split the rocky wall, - That which was wombed in the false heifer's side, - - The infamy of Crete, stretched out a-sprawl; - And seeing us, he gnawed himself, like one - Inly devoured with spite and burning gall. - -=head2 v5.22.2 - Gaston Leroux, trans. Mireille Ribière, "The Phantom of the Opera" - -L - -A silence; and then: 'If, in just two minutes' time by my watch--and a -splendid watch it is--you have not turned the scorpion, mademoiselle, I -shall turn the grasshopper... and the grasshopper, remember, _leaps -straight up into the air!_' -The silence that ensued was terrifying, worse than any we had -experienced before. I knew that when Erik spoke with that quiet, -gentle, slightly weary voice, it meant that he had reached the end of -his tether: that he was capable of the most abominable crimes or the -most selfless devotion; that the slightest irritation might unleash a -storm. -Realizing that our fate was out of our hands, the Viscount fell to his -knees and prayed. As for me, I pressed both hands to my chest, for my -heart was pounding so fiercely that I thought it would burst. We were -intensely aware of the excruciating dilemma Christine Daaé faced in -those final seconds. We understood why she hesitated to turn the -scorpion. What if the scorpion, rather than the grasshopper, were to -set off the explosion? What if Erik was simply intent on destroying -everything, regardless? -At last he spoke: 'The two minutes are up,' he said in a soft, angelic -voice. 'Goodbye, mademoiselle. Off you go, little grasshopper!' - -=head2 v5.22.2-RC1 - Gaston Leroux, trans. Mireille Ribière, "The Phantom of the Opera" - -L - -This annual ball was quite a magnificent affair. It was given some time -before Shrovetide to celebrate the birthday of a famous illustrator -whose pencil had immortalized, in the style of Gavarni, the extravagant -carnival parade down La Courtille. As such, the ball was an altogether -merrier, noisier and more Bohemian occasion than was usual for a masked -ball. Many artists had arranged to meet there; they arrived with an -entourage of models and pupils, who, by midnight, had become quite -boisterous. -Raoul climbed the grand staircase at five minutes to midnight. He did -not linger to admire the many-coloured costumes on display all the way -up the marble steps of one of the most luxurious settings in the world; -nor did he allow himself to be drawn into the facetious conversation of -masked guests. He simply ignored all the jesting remarks, and shook off -the attentions of several all too merry couples. -Crossing the big crush-room and escaping from the dancers' farandole -that had encircled him awhile, he at last entered the salon mentioned by -Christine in her letter. The small room was crammed with people either -on their way to supper at the restaurant in the Rotunda or back from -raising a glass of champagne. -In the midst of the gay and lively hubbub, Raoul thought that, for their -mysterious assignation, Christine must have preferred this crowd to some -lonely corner. -He leaned against a door-jamb and waited. He did not have to wait long; -a black domino passed him and deftly touched his hand. He understood -that it was Christine and followed her. -'Is that you, Christine?' he murmured, barely moving his slips. -The black domino promptly looked back and raised her finger to her lips, -no doubt to caution him against uttering her name again. Raoul followed -on in silence. - -=head2 v5.22.1 - Wilhelm Müller, trans. Anon., "Courage" (No. 22 in Schubert's song-cycle, "Winterreise") - -L - - If the snow flies in my face, - Let me shake it off me! - If my heart within me speaks, - I'll sing bright and gaily! - - Will not listen what it says, - Have no ears for moaning. - Do not feel what it complains,-- - Only fools like groaning! - - Jolly brave into the world, - 'Gainst all wind and weather,-- - If there is no God on earth, - Let 's be gods down nether! - -=head2 v5.22.1-RC4 - Wilhelm Müller, trans. Anon., "The Signpost" (No. 20 in Schubert's song-cycle, "Winterreise") - -L - - Why do I shun all those highways - Which the other wanderer seeks? - Why do I find bridged by-ways - Through snow-covered deep creeks? - - For I have no crime committed, - Why I should now run from men,-- - What demented heart's desire - Drives me to a desert glen? - - Signposts on all highways stationed - Point their signs toward the towns, - Whilst I wonder 'yond moderation, - Without rest, yet seeking rest! - - One such signpost I see planted - Of my question unconcerned, - One road must my choice be granted, - Whence no man has yet returned! - -=head2 v5.22.1-RC3 - Wilhelm Müller, trans. Anon., "Stormy Morning" (No. 18 in Schubert's song-cycle, "Winterreise") - -L - - How the storm tore rents - In heavens gray attired! - The rags of cloud are flying - Around, of combat tired. - - And flames of fire lambent, - Fly between them and part, - That 's what I call a morning, - A morning after my heart! - - My heart sees in the heavens - Its own picture unspoilt-- - It's nothing but the Winter, - The Winter, cold and wild. - -=head2 v5.22.1-RC2 - Wilhelm Müller, trans. Anon., "The Old Head" (No. 14 in Schubert's song-cycle, "Winterreise") - -L - - The hoary frost has a white sheen - Strewn all over my hair, - So I thought I was an old man - And thought life dealt me fair. - - Yet soon was thawed my old white mane, - And I have my black hair again. - How I abhor my young fair years, - How long to wait for death and biers? - - From setting sun to morning's hue - Many a head turns white. - Who'll credit it? My hair did not - In all this lifelong plight! - -=head2 v5.22.1-RC1 - Wilhelm Müller, trans. Anon., "Will-o'-the Wisp" (No. 9 in Schubert's song-cycle, "Winterreise") - -L - - In the deepest rocky crevice - A will-o'-the wisp lured me; - How I could find my way from here, - For me it's easy memory! - - For I am used to straying ways, - Every path to th'end a way, - All our joys and all our suffering,-- - To a will-o'-the wisp it 's all play! - - Through the dried-up bed of torrents - I quite calmly downward stroll; - Every stream its sea will enter, - Every suffering finds its goal! - =head2 v5.22.0 - Gene Wolfe, The Citadel of the Autarch L @@ -1271,98 +326,6 @@ L - - Steady old Väinämöinen - uttered a word and spoke thus: - 'No lilting on the waters - and no singing on the waves! - Song keeps you lazy - tales delay rowing. - Precious day would pass and night - would overtake us midway - on these wide waters - upon these vast waves.' - - The wanton Lemminkäinen - uttered a word and spoke thus: - 'The time will pass anyway - the fair day will flee - and the night will come panting - and the twilight will steal in - if you don't sing while you live - nor hum in this world.' - -=head2 v5.20.3-RC2 - Anon., trans. Malcolm C. Lyons, "The Story of Abu Muhammad the Idle and the Marvels He Encountered with the Ape As Well As the Marvels of the Seas and Islands", from "Tales of the Marvellous and News of the Strange" - -L - -'I fled from Basra, sad and tearful, with no idea where I was going, -and I was reciting these lines: - - The pain of parting makes me melt away, - As lovers do when those they love are harsh. - I wonder at the patience that I showed - When I had lost my love, for that was wonderful. - Beloved, do you know that since you left, - I have remained confused in misery. - -I then heard a voice that said: "Damn you, have you no fear of -Almighty God that you hand over a girl to an unbelieving 'ifrit?" I -walked for a time amongst the palm-trees until I caught sight of a -person, whom I approached. When I asked him who he was he said: "I -am one of the jinn who were converted to Islam at the hands of 'Ali -ibn Abi Talib, may God ennoble him." "How can I get to my wife?" I -asked him, and he said: "Wretched fellow, you had a bird which you -allowed to fly away and now you want to fly after it." But he -added: "Follow this road with God's blessing all night until dawn -and then by the shore you will see a huge cave in which there is an -idol made of white stone. You must drink of the water that there is -coming out of the cave and smear your face with its mud. Stay there -and a barge will pass you as you stand opposite the statue. Various -different creatures will emerge, heads without bodies and bodies -without heads, and they will prostrate themselves in adoration to -the idol rather than to Almighty God. When you see that, embark on -the barge and cross to the other bank and walk along it until -sunset. On a high point you will see a castle built of bricks of -gold and silver. That is where your 'ifrit will be. I have now -told you about this, so goodbye." - -=head2 v5.20.3-RC1 - Anon., trans. Malcolm C. Lyons, "The Story of Abu Muhammad the Idle and the Marvels He Encountered with the Ape As Well As the Marvels of the Seas and Islands", from "Tales of the Marvellous and News of the Strange" - -L - -'On the night of the wedding the ape came to sit in front of me and -asked me what I intended to do. "Whatever you tell me," I replied, -and he said: "Take care not to covet the girl, or I shall come back -and burn you up and leave you as a lesson for those who can learn." -I agreed to this and when evening came I found the world full of -candles and torches burning in holders of gold and silver. There -were servants and serving girls, and everyone who saw me -congratulated me on my good fortune, as there was no girl on the -face of the earth more beautiful than my bride. -[...] -'Next morning I went out to the market, and people went in and asked -her how the night had been. "He never looked up at me," she told -them. Then, when it was afternoon, I went to my house, where the -ape was sitting by the door. "Tell me what you did," it said, and I -told it: "By God, I did not learn and do not know whether this was a -man or a girl." "That's what I want," it said. -[...] -'On the second night my bride was brought to me, after which the -servants left her and went away. She fell asleep, and, while she -was sleeping, I killed the cock, wrapped it in the cloth and put the -four poles from the couch over it. Suddenly there was a huge crash -like a peal of thunder and a fiery 'ifrit swooped on the girl. I -fainted at the sight and when I recovered I heard a voice saying: -"By the Lord of the Ka'ba, the girl has been carried off!" and there -was a sound like the rustling of wind and bitter weeping. At this I -shed tears, struck my head and was filled with regret when it was no -longer of any use, for to me the whole world was worth no more than -a bean. - =head2 v5.20.2 - Jonathan "Jonti" Picking, L<"Magical Trevor"|http://www.weebls-stuff.com/other-toons/video/magical-trevor.html> L diff --git a/Porting/makerel b/Porting/makerel index 5cdabd9..11e22fd 100755 --- a/Porting/makerel +++ b/Porting/makerel @@ -148,7 +148,6 @@ my @writables = qw( perlapi.c cpan/Devel-PPPort/module2.c cpan/Devel-PPPort/module3.c - cpan/autodie/t/touch_me reentr.c reentr.h regcharclass.h diff --git a/Porting/perldelta_template.pod b/Porting/perldelta_template.pod index abed27d..85ed67f 100644 --- a/Porting/perldelta_template.pod +++ b/Porting/perldelta_template.pod @@ -378,14 +378,14 @@ here. XXX Generate this with: - perl Porting/acknowledgements.pl v5.22.3..HEAD + perl Porting/acknowledgements.pl v5.23.0..HEAD =head1 Reporting Bugs If you find what you think is a bug, you might check the articles recently posted to the comp.lang.perl.misc newsgroup and the perl bug database at -https://rt.perl.org/ . There may also be information at -http://www.perl.org/ , the Perl Home Page. +L . There may also be information at +L , the Perl Home Page. If you believe you have an unreported bug, please run the L program included with your release. Be sure to trim your bug down to a tiny but diff --git a/Porting/release_managers_guide.pod b/Porting/release_managers_guide.pod index 56b8847..644e49c 100644 --- a/Porting/release_managers_guide.pod +++ b/Porting/release_managers_guide.pod @@ -141,6 +141,12 @@ Andreas' email address at: https://pause.perl.org/pause/query?ACTION=pause_04imprint +=head3 search.cpan.org pumpkin status + +Make sure that search.cpan.org knows that you're allowed to upload +perl distros. Contact Graham Barr to make sure that you're on the right +list. + =head3 rt.perl.org update access Make sure you have permission to close tickets on L @@ -159,20 +165,6 @@ release. Have a chat with whichever evil perl porter tried to talk you into the idea in the first place to figure out the best way to resolve the issue. -=head3 web-based file share - -You will need to be able to share tarballs with #p5p members for -pre-release testing, and you may wish to upload to PAUSE via URL. -Make sure you have a way of sharing files, such as a web server or -file-sharing service. - -Porters have access to the "dromedary" server (users.perl5.git.perl.org), -which has a F directory to share files with. -(L) - -If you use Dropbox, you can append "raw=1" as a parameter to their usual -sharing link to allow direct download (albeit with redirects). - =head3 git clone of https://github.com/perlorg/perlweb For updating the L web pages, either a Github account or @@ -183,13 +175,6 @@ is only needed on the day of the release or shortly afterwards. You will need a quotation to use as an epigraph to your release announcement. -=head3 Install the previous version of perl - -During the testing phase of the release you have created, you will be -asked to compare the installed files with a previous install. Save yourself -some time on release day, and have a (clean) install of the previous -version ready. - =head2 Building a release - advance actions The work of building a release candidate for an even numbered release @@ -243,7 +228,7 @@ necessary, fix things up. For example, you might think that both blead and maint are synchronised with a particular CPAN module, but one might have some extra changes. -=head3 How to sync a CPAN module with a cpanE distro +=head3 How to sync a CPAN module with a cpan/ distro =over 4 @@ -264,7 +249,7 @@ C in the F directory. =item * Remove files we do not need. That is, remove any files that match the -entries in C<@IGNORABLE> in F, and anything that +entries in C<@IGNORABLE> in F, and anything that matches the C section of the distro's entry in the C<%Modules> hash. @@ -278,7 +263,7 @@ into the repository anyway. =item * For any new files in the distro, determine whether they are needed. -If not, delete them, and list them in either C or C<@IGNORABLE>. +If not, delete them, and list them in either C or C<@INGORE>. Otherwise, add them to C, and run C to add the files to the repository. @@ -307,7 +292,7 @@ Run the tests for the package. =item * -Run the tests in F (C). +Run the tests in F. =item * @@ -357,8 +342,8 @@ Ensure dual-life CPAN modules are stable, which comes down to: =head3 monitor smoke tests for failures Similarly, monitor the smoking of core tests, and try to fix. See -L, L -and L for a summary. See also +L and L +for a summary. See also L which has the raw reports. @@ -374,11 +359,6 @@ at http://analysis.cpantesters.org/beforemaintrelease to see how the impending release is performing compared to previous releases with regard to building and testing CPAN modules. -That page accepts a query parameter, C that takes a pair of -colon-delimited versions to use for comparison. For example: - -http://analysis.cpantesters.org/beforemaintrelease?pair=5.20.2:5.22.0%20RC1 - =head3 update perldelta Get perldelta in a mostly finished state. @@ -433,31 +413,32 @@ to guarantee binary compatibility in maint branches. After editing, regenerate uconfig.h (this must be run on a system with a /bin/sh available): - $ perl regen/uconfig_h.pl + $ perl regen/uconfig_h.pl This might not cause any new changes. You may also need to regen opcodes: - $ ./perl -Ilib regen/opcode.pl + $ ./perl -Ilib regen/opcode.pl -Test your changes: +You may have to add stub entries in C<%Module::CoreList::version>, +C<%Module::CoreList::deprecated> and C<%Module::CoreList::Utils::delta>. +If so, you must up their version numbers as well. - $ git clean -xdf # careful if you don't have local files to keep! - $ ./Configure -des -Dusedevel - $ make - $ make test +Test your changes: -Do note that at this stage, porting tests will fail. They will continue -to fail until you've updated Module::CoreList, as described below. + $ git clean -xdf # careful if you don't have local files to keep! + $ ./Configure -des -Dusedevel + $ make + $ make test Commit your changes: - $ git status - $ git diff - B + $ git status + $ git diff + B - $ git commit -a -m 'Bump the perl version in various places for 5.x.y' + $ git commit -a -m 'Bump the perl version in various places for 5.x.y' At this point you may want to compare the commit with a previous bump to see if they look similar. See commit f7cf42bb69 for an example of a @@ -484,9 +465,7 @@ release in the previous development cycle (so for example, for a 5.14.x release, this would be 5.13.11). For BLEAD-POINT releases, it needs to refer to the previous BLEAD-POINT -release (so for 5.15.3 this would be 5.15.2). If the last release manager -followed instructions, this should have already been done after the last -blead release, so you may find nothing to do here. +release (so for 5.15.3 this would be 5.15.2). =head3 Check copyright years @@ -573,7 +552,7 @@ For each Perl release since the previous release of the current branch, check for modules that have identical version numbers but different contents by running: - $ ./perl -Ilib Porting/cmpVERSION.pl --tag=v5.X.YY + $ ./perl Porting/cmpVERSION.pl --tag=v5.X.YY (This is done automatically by F for the previous release of the current branch, but not for any releases from other branches.) @@ -655,14 +634,10 @@ Check those files over carefully: =head4 Bump version in Module::CoreList F Also edit Module::CoreList's new version number in its F file. -This file is F. =head4 Add Module::CoreList version bump to perldelta -Add a perldelta entry for the new Module::CoreList version. You only -need to do this if you want to add notes about the changes included -with this version of Module::CoreList. Otherwise, its version bump -will be automatically filled in below in L. +Add a perldelta entry for the new Module::CoreList version. =for checklist skip RC @@ -868,7 +843,7 @@ directory, they will still identify themselves using git tags and commits. (Note that for an odd-numbered version, perl will install itself as C). C will identify itself as: - This is perl 5, version X, subversion Y (v5.X.Y (v5.X.Z-NNN-gdeadbeef)) + This is perl 5, version X, subversion Y (v5.X.Y (v5.X.Z-NNN-gdeadbeef)) where 5.X.Z is the latest tag, NNN the number of commits since this tag, and C<< deadbeef >> commit of that tag. @@ -904,22 +879,17 @@ utility is included with most modern UNIX-type operating systems and is available for Cygwin. A Windows port is available from L. -B: if you are on OS X, you must export C -to prevent OS X resource files from being included in your tarball. After -creating the tarball following the instructions below, inspect it to ensure -you don't have files like F<._foobar>. - Create a tarball. Use the C<-s> option to specify a suitable suffix for the tarball and directory name: - $ cd root/of/perl/tree - $ make distclean # make sure distclean works - $ git clean -xdf # make sure perl and git agree on files - # git clean should not output anything! - $ git status # and there's nothing lying around + $ cd root/of/perl/tree + $ make distclean # make sure distclean works + $ git clean -xdf # make sure perl and git agree on files + # git clean should not output anything! + $ git status # and there's nothing lying around - $ perl Porting/makerel -bx -s RC1 # for a release candidate - $ perl Porting/makerel -bx # for the release itself + $ perl Porting/makerel -bx -s RC1 # for a release candidate + $ perl Porting/makerel -bx # for the release itself This creates the directory F<../perl-x.y.z-RC1> or similar, copies all the MANIFEST files into it, sets the correct permissions on them, then @@ -947,20 +917,12 @@ Once you have a tarball it's time to test the tarball (not the repository). Copy the tarballs (.gz and possibly .bz2 and .xz) to a web server somewhere you have access to. -=head4 Download the tarball to another machine and unpack it +=head4 Download the tarball to another machine Download the tarball to some other machine. For a release candidate, you really want to test your tarball on two or more different platforms -and architectures. - -=head4 Ask #p5p to test the tarball on different platforms - -Once you've verified the tarball can be downloaded and unpacked, -ask the #p5p IRC channel on irc.perl.org for volunteers to test the -tarballs on whatever platforms they can. - -If you're not confident in the tarball, you can defer this step until after -your own tarball testing, below. +and architectures. The #p5p IRC channel on irc.perl.org is a good place +to find willing victims. =head4 Check that F works @@ -975,9 +937,9 @@ Check that basic configuration and tests work on each test machine: Check that the test harness and install work on each test machine: - $ make distclean - $ ./Configure -des -Dprefix=/install/path && make all test_harness install - $ cd /install/path + $ make distclean + $ ./Configure -des -Dprefix=/install/path && make all test_harness install + $ cd /install/path =head4 Check C and C @@ -1091,14 +1053,10 @@ high-reliability connection to the Internet, you should probably use the new release from wherever you put it for testers to find it. This will eliminate anxious gnashing of teeth while you wait to see if your 15 megabyte HTTP upload successfully completes across your slow, twitchy -cable modem. - -You can make use of your home directory on dromedary for +cable modem. You can make use of your home directory on dromedary for this purpose: F maps to F, where F is your login account -on dromedary. - -I: if your upload is partially successful, you +on dromedary. I: if your upload is partially successful, you may need to contact a PAUSE administrator or even bump the version of perl. Upload the .gz, .xz, and .bz2 versions of the tarball. @@ -1356,9 +1314,9 @@ I Copy the perldelta.pod for this release into blead; for example: - $ cd ..../blead - $ cp -i ../5.10.x/pod/perldelta.pod pod/perl5101delta.pod #for example - $ git add pod/perl5101delta.pod + $ cd ..../blead + $ cp -i ../5.10.x/pod/perldelta.pod pod/perl5101delta.pod # for example + $ git add pod/perl5101delta.pod Don't forget to set the NAME correctly in the new file (e.g. perl5101delta rather than perldelta). @@ -1385,6 +1343,18 @@ F on blead. e.g. 5.8.9 2008-Dec-14 +=head3 bump RT version number + +Log into http://rt.perl.org/ and check whether the new version is in the RT +fields C and C. The easiest way to determine this is to +open up any ticket for modification and check the drop downs next to the +C and C labels. + +Here, try this link: L + +If the new version is not listed there, send an email to C requesting this. + =head3 Relax! Ifind_version($]) ? "ok" : "not ok"' + $ ./perl -Ilib -MModule::CoreList \ + -le 'print Module::CoreList->find_version($]) ? "ok" : "not ok"' and check that it outputs "ok" to prove that Module::CoreList now knows about blead's current version. @@ -1476,19 +1446,19 @@ to ensure that the tarballs are available on the website. =item * -Check F on CPAN (on a fast mirror) to ensure that links to -the new tarballs have appeared: There should be links in F +Check C on CPAN (on a fast mirror) to ensure that links to +the new tarballs have appeared: There should be links in C (which is accumulating all new versions), and (for BLEAD-FINAL and -MAINT only) an appropriate mention in F (which describes +MAINT only) an appropriate mention in C (which describes the latest versions in each stable branch, with links). -The F links should appear automatically, some hours after upload. -If they don't, or the F description is inadequate, +The C links should appear automatically, some hours after upload. +If they don't, or the C description is inadequate, ask Ask . =item * -Check L to ensure that the F updates +Check L to ensure that the C updates have been correctly mirrored to the website. If they haven't, ask Ask . diff --git a/Porting/release_schedule.pod b/Porting/release_schedule.pod index 92b7b59..31b4ee1 100644 --- a/Porting/release_schedule.pod +++ b/Porting/release_schedule.pod @@ -11,30 +11,29 @@ release schedules for the next, current and previous stable versions of Perl. Dates with two or more question marks will only be releases if deemed necessary by the Pumpking. -=head2 Perl 5.22 +=head2 Perl 5.24 + +Code freezes (which happen in the 5.23.X series) -Code freezes (which happen in the 5.21.X series) + 2016-01-20 5.23.7 Contentious changes freeze + 2016-02-20 5.23.8 User-visible changes freeze + 2016-03-20 5.23.9 Full code freeze + 2016-05-20 5.24.0 Stable release! + +=head2 Perl 5.22 - 2015-01-20 5.21.8 Contentious changes freeze - 2015-02-20 5.21.9 User-visible changes freeze - 2015-03-20 5.21.10 Full code freeze - 2015-05-20 5.22.0 Stable release! + 2015-06-01 5.22.0 ✓ Ricardo Signes + 2015-09-?? 5.22.1 Steve Hay + 2016-??-?? 5.22.2 Steve Hay + 2016-??-?? 5.22.3 ?? =head2 Perl 5.20 2014-05-27 5.20.0 ✓ Ricardo Signes 2014-09-14 5.20.1 ✓ Steve Hay 2015-02-14 5.20.2 ✓ Steve Hay - 2015-??-?? 5.20.3 ?? - -=head2 Perl 5.18 - - 2013-05-18 5.18.0 ✓ Ricardo Signes - 2013-08-12 5.18.1 ✓ Ricardo Signes - 2014-01-06 5.18.2 ✓ Ricardo Signes - 2014-10-01 5.18.3 ✓ Ricardo Signes - 2014-10-01 5.18.4 ✓ Ricardo Signes - 2015-??-?? 5.18.5 ?? + 2015-07-?? 5.20.3 Steve Hay + 2016-??-?? 5.20.4 ?? =head1 DEVELOPMENT RELEASE SCHEDULE @@ -50,22 +49,17 @@ When shipping a release, you should include the schedule for (at least) the next four releases. If a stable version of Perl is released, you should reset the version numbers to the next blead series. -=head2 Perl 5.21 - - 2014-05-20 5.21.0 ✓ Ricardo Signes - 2014-06-20 5.21.1 ✓ Matthew Horsfall - 2014-07-20 5.21.2 ✓ Abigail - 2014-08-20 5.21.3 ✓ Peter Martini - 2014-09-20 5.21.4 ✓ Steve Hay - 2014-10-20 5.21.5 ✓ Abigail - 2014-11-20 5.21.6 ✓ Chris "BinGOs" Williams - 2014-12-20 5.21.7 ✓ Max Maischein - 2015-01-20 5.21.8 ✓ Matthew Horsfall - 2015-02-20 5.21.9 ✓ Sawyer X - 2015-03-20 5.21.10 ✓ Steve Hay - 2015-04-20 5.21.11 ✓ Steve Hay - -(RC0 for 5.22.0 will be released once we think that all the blockers have been +=head2 Perl 5.23 + + 2015-06-20 5.23.0 Ricardo Signes + 2015-07-20 5.23.1 Matthew Horsfall + 2015-08-20 5.23.2 ? + 2015-09-20 5.23.3 ? + 2015-10-20 5.23.4 Steve Hay + 2015-11-20 5.23.5 Abigail + 2015-12-20 5.23.6 ? + +(RC0 for 5.24.0 will be released once we think that all the blockers have been addressed. This typically means some time in April or May.) =head1 VICTIMS @@ -94,7 +88,7 @@ Max Maischein Peter Martini Philippe Bruhat Ricardo Signes -Stevan Little +Stevan Little Steve Hay Tatsuhiko Miyagawa Tony Cook diff --git a/Porting/todo.pod b/Porting/todo.pod index d555bca..80bbdd0 100644 --- a/Porting/todo.pod +++ b/Porting/todo.pod @@ -467,7 +467,7 @@ Natively 64-bit systems need neither -Duse64bitint nor -Duse64bitall. On these systems, it might be the default compilation mode, and there is currently no guarantee that passing no use64bitall option to the Configure process will build a 32bit perl. Implementing -Duse32bit* -options would be nice for perl 5.22.3. +options would be nice for perl 5.23.0. =head2 Profile Perl - am I hot or not? @@ -1169,7 +1169,7 @@ L =head1 Big projects Tasks that will get your name mentioned in the description of the "Highlights -of 5.22.3" +of 5.23.0" =head2 make ithreads more robust diff --git a/README b/README index 02ac59c..e69b0ec 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ Perl is Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, -2013, 2014, 2015, 2016, 2017 by Larry Wall and others. All rights reserved. +2013, 2014, 2015 by Larry Wall and others. All rights reserved. diff --git a/README.cygwin b/README.cygwin index 7142595..691da50 100644 --- a/README.cygwin +++ b/README.cygwin @@ -107,9 +107,6 @@ DES crypt port by Corinna Vinschen. Alternatively, the crypt libraries in GNU libc have been ported to Cygwin. -As of libcrypt 1.3 (March 2016), you will need to install the -libcrypt-devel package for Configure to detect crypt(). - =item * C<-lgdbm_compat> (C) GDBM is available for Cygwin. diff --git a/README.haiku b/README.haiku index 409dacd..8c13e41 100644 --- a/README.haiku +++ b/README.haiku @@ -22,9 +22,9 @@ The build procedure is completely standard: Make perl executable and create a symlink for libperl: chmod a+x /boot/common/bin/perl - cd /boot/common/lib; ln -s perl5/5.22.3/BePC-haiku/CORE/libperl.so . + cd /boot/common/lib; ln -s perl5/5.23.0/BePC-haiku/CORE/libperl.so . -Replace C<5.22.3> with your respective version of Perl. +Replace C<5.23.0> with your respective version of Perl. =head1 KNOWN PROBLEMS diff --git a/README.macosx b/README.macosx index 838a34e..5c98b0a 100644 --- a/README.macosx +++ b/README.macosx @@ -10,9 +10,9 @@ perlmacosx - Perl under Mac OS X This document briefly describes Perl under Mac OS X. - curl -O http://www.cpan.org/src/perl-5.22.3.tar.gz - tar -xzf perl-5.22.3.tar.gz - cd perl-5.22.3 + curl -O http://www.cpan.org/src/perl-5.23.0.tar.gz + tar -xzf perl-5.23.0.tar.gz + cd perl-5.23.0 ./Configure -des -Dprefix=/usr/local/ make make test @@ -20,7 +20,7 @@ This document briefly describes Perl under Mac OS X. =head1 DESCRIPTION -The latest Perl release (5.22.3 as of this writing) builds without changes +The latest Perl release (5.23.0 as of this writing) builds without changes under all versions of Mac OS X from 10.3 "Panther" onwards. In order to build your own version of Perl you will need 'make', diff --git a/README.os2 b/README.os2 index 1afb2dd..9be52ba 100644 --- a/README.os2 +++ b/README.os2 @@ -619,7 +619,7 @@ C in F, see L<"PERLLIB_PREFIX">. =item Additional Perl modules - unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.22.3/ + unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.23.0/ Same remark as above applies. Additionally, if this directory is not one of directories on @INC (and @INC is influenced by C), you diff --git a/README.vms b/README.vms index bc01d64..67e8198 100644 --- a/README.vms +++ b/README.vms @@ -142,11 +142,11 @@ You may need to set up a foreign symbol for the unpacking utility of choice. Once you have done so, use a command like the following to unpack the archive: - vmstar -xvf perl-5^.22^.3.tar + vmstar -xvf perl-5^.23^.0.tar Then set default to the top-level source directory like so: - set default [.perl-5^.22^.3] + set default [.perl-5^.23^.0] and proceed with configuration as described in the next section. diff --git a/README.win32 b/README.win32 index 8621990..ec29cfa 100644 --- a/README.win32 +++ b/README.win32 @@ -42,7 +42,7 @@ following compilers on the Intel x86 architecture: Microsoft Visual C++ version 6.0 or later Intel C++ Compiler (experimental) Gcc by mingw.org gcc version 3.4.5 or later - Gcc by mingw-w64.org gcc version 4.4.3 or later + Gcc by mingw-w64.sf.net gcc version 4.4.3 or later Note that the last two of these are actually competing projects both delivering complete gcc toolchain for MS Windows: @@ -53,7 +53,7 @@ delivering complete gcc toolchain for MS Windows: Delivers gcc toolchain targeting 32-bit Windows platform. -=item L +=item L Delivers gcc toolchain targeting both 64-bit Windows and 32-bit Windows platforms (despite the project name "mingw-w64" they are not only 64-bit @@ -74,7 +74,7 @@ This port can also be built on IA64/AMD64 using: MinGW64 compiler (gcc version 4.4.3 or later) The Windows SDK can be downloaded from L. -The MinGW64 compiler is available at L. +The MinGW64 compiler is available at L. The latter is actually a cross-compiler targeting Win64. There's also a trimmed down compiler (no java, or gfortran) suitable for building perl available at: L @@ -369,7 +369,7 @@ You will have to make sure that CCTYPE is set correctly and that CCHOME points to wherever you installed your compiler. If building with the cross-compiler provided by -mingw-w64.org you'll need to uncomment the line that sets +mingw-w64.sourceforge.net you'll need to uncomment the line that sets GCCCROSS in the makefile.mk. Do this only if it's the cross-compiler - ie only if the bin folder doesn't contain a gcc.exe. (The cross-compiler does not provide a gcc.exe, g++.exe, ar.exe, etc. Instead, all of these @@ -396,7 +396,7 @@ Be sure to read the instructions near the top of the makefiles carefully. Type "dmake" (or "nmake" if you are using that make). This should build everything. Specifically, it will create perl.exe, -perl522.dll at the perl toplevel, and various other extension dll's +perl523.dll at the perl toplevel, and various other extension dll's under the lib\auto directory. If the build fails for any reason, make sure you have done the previous steps correctly. diff --git a/av.c b/av.c index 90e26af..2d9717a 100644 --- a/av.c +++ b/av.c @@ -432,15 +432,11 @@ Perl_av_make(pTHX_ SSize_t size, SV **strp) /* =for apidoc av_clear -Frees the all the elements of an array, leaving it empty. -The XS equivalent of C<@array = ()>. See also L. +Clears an array, making it empty. Does not free the memory the av uses to +store its list of scalars. If any destructors are triggered as a result, +the av itself may be freed when this function returns. -Note that it is possible that the actions of a destructor called directly -or indirectly by freeing an element of the array could cause the reference -count of the array itself to be reduced (e.g. by deleting an entry in the -symbol table). So it is a possibility that the AV could have been freed -(or even reallocated) on return from the call unless you hold a reference -to it. +Perl equivalent: C<@myarray = ();>. =cut */ @@ -500,13 +496,9 @@ Perl_av_clear(pTHX_ AV *av) /* =for apidoc av_undef -Undefines the array. The XS equivalent of C. - -As well as freeing all the elements of the array (like C), this -also frees the memory used by the av to store its list of scalars. - -See L for a note about the array possibly being invalid on -return. +Undefines the array. Frees the memory used by the av to store its list of +scalars. If any destructors are triggered as a result, the av itself may +be freed. =cut */ diff --git a/cflags.SH b/cflags.SH index ec70ed2..f3e44ad 100755 --- a/cflags.SH +++ b/cflags.SH @@ -387,9 +387,6 @@ echo "cflags.SH: warn = $warn" # Code to set any extra flags here. extra='' -# Protect double or single quotes for better restoring of ccflags. -myccflags=`echo $ccflags | sed -e 's/"/\\\"/g' -e "s/'/\\\'/g"` - echo "Extracting cflags (with variable substitutions)" # This section of the file will have variable substitutions done on it. # Move anything that needs config subs from !NO!SUBS! section to !GROK!THIS!. @@ -404,8 +401,7 @@ $startsh # This file is generated by cflags.SH # Used to restore possible edits by cflags.SH. -myccflags="$myccflags" - +myccflags="$ccflags" # Extra warnings, used e.g. for gcc. warn="$warn" # Extra standardness. diff --git a/charclass_invlists.h b/charclass_invlists.h index 9051766..076d223 100644 --- a/charclass_invlists.h +++ b/charclass_invlists.h @@ -43,7 +43,7 @@ static const UV ASCII_invlist[] = { /* for ASCII/Latin1 */ }; static const UV Cased_invlist[] = { /* for ASCII/Latin1 */ - 255, /* Number of elements */ + 263, /* 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 */ @@ -108,6 +108,10 @@ static const UV Cased_invlist[] = { /* for ASCII/Latin1 */ 0x10C8, 0x10CD, 0x10CE, + 0x13A0, + 0x13F6, + 0x13F8, + 0x13FE, 0x1D00, 0x1DC0, 0x1E00, @@ -215,15 +219,15 @@ static const UV Cased_invlist[] = { /* for ASCII/Latin1 */ 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, + 0xAB70, + 0xABC0, 0xFB00, 0xFB07, 0xFB13, @@ -234,6 +238,10 @@ static const UV Cased_invlist[] = { /* for ASCII/Latin1 */ 0xFF5B, 0x10400, 0x10450, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x118A0, 0x118E0, 0x1D400, @@ -305,7 +313,7 @@ static const UV Cased_invlist[] = { /* for ASCII/Latin1 */ }; static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */ - 1484, /* Number of elements */ + 1502, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -372,7 +380,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */ 0x82E, 0x859, 0x85C, - 0x8E4, + 0x8E3, 0x903, 0x904, 0x93A, @@ -640,10 +648,6 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */ 0x1933, 0x1939, 0x193C, - 0x19B5, - 0x19B8, - 0x19BA, - 0x19BB, 0x1A17, 0x1A19, 0x1A1B, @@ -744,7 +748,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */ 0xA673, 0xA674, 0xA67E, - 0xA69F, + 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, @@ -1633,7 +1637,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */ 0xFE00, 0xFE10, 0xFE20, - 0xFE2E, + 0xFE30, 0xFEFF, 0xFF00, 0xFF9E, @@ -1689,6 +1693,8 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */ 0x111B6, 0x111BF, 0x111C1, + 0x111CA, + 0x111CD, 0x1122C, 0x1122F, 0x11232, @@ -1700,7 +1706,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */ 0x112E0, 0x112E3, 0x112EB, - 0x11301, + 0x11300, 0x11302, 0x11304, 0x1133C, @@ -1743,6 +1749,8 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */ 0x115BE, 0x115BF, 0x115C1, + 0x115DC, + 0x115DE, 0x11630, 0x11633, 0x1163B, @@ -1758,6 +1766,12 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */ 0x116B6, 0x116B7, 0x116B8, + 0x1171D, + 0x11720, + 0x11722, + 0x11726, + 0x11727, + 0x1172C, 0x16AF0, 0x16AF5, 0x16B30, @@ -1785,6 +1799,18 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for ASCII/Latin1 */ 0x1D1AE, 0x1D242, 0x1D245, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E8D0, 0x1E8D7, 0x1F1E6, @@ -2150,10 +2176,6 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for ASCII/Latin1 */ GCB_SpacingMark, GCB_Extend, GCB_Other, - GCB_SpacingMark, - GCB_Other, - GCB_SpacingMark, - GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, @@ -3199,6 +3221,8 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for ASCII/Latin1 */ GCB_Extend, GCB_SpacingMark, GCB_Other, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, @@ -3253,6 +3277,8 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for ASCII/Latin1 */ GCB_SpacingMark, GCB_Extend, GCB_Other, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, @@ -3269,6 +3295,12 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for ASCII/Latin1 */ GCB_Extend, GCB_Other, GCB_Extend, + GCB_SpacingMark, + GCB_Extend, + GCB_SpacingMark, + GCB_Extend, + GCB_Other, + GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, @@ -3297,6 +3329,18 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for ASCII/Latin1 */ GCB_Other, GCB_Extend, GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, GCB_Regional_Indicator, GCB_Other, GCB_Control, @@ -3362,7 +3406,7 @@ static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for ASCII/Latin1 */ }; static const UV _Perl_Any_Folds_invlist[] = { /* for ASCII/Latin1 */ - 235, /* Number of elements */ + 247, /* 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 */ @@ -3431,7 +3475,7 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for ASCII/Latin1 */ 0x28D, 0x292, 0x293, - 0x29E, + 0x29D, 0x29F, 0x2BC, 0x2BD, @@ -3489,6 +3533,10 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for ASCII/Latin1 */ 0x10C8, 0x10CD, 0x10CE, + 0x13A0, + 0x13F6, + 0x13F8, + 0x13FE, 0x1D79, 0x1D7A, 0x1D7D, @@ -3588,7 +3636,11 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for ASCII/Latin1 */ 0xA796, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, + 0xAB53, + 0xAB54, + 0xAB70, + 0xABC0, 0xFB00, 0xFB07, 0xFB13, @@ -3599,6 +3651,10 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for ASCII/Latin1 */ 0xFF5B, 0x10400, 0x10450, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x118A0, 0x118E0 }; @@ -3674,7 +3730,7 @@ static const UV _Perl_Folds_To_Multi_Char_invlist[] = { /* for ASCII/Latin1 */ #if defined(PERL_IN_UTF8_C) static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ - 1267, /* Number of elements */ + 1317, /* 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 */ @@ -3778,8 +3834,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0x840, 0x85C, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x964, 0x966, 0x970, @@ -3869,6 +3925,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -3950,7 +4008,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -3999,7 +4057,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD70, @@ -4144,7 +4202,9 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -4388,7 +4448,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -4402,19 +4462,15 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0xA674, 0xA67E, 0xA67F, - 0xA69E, - 0xA69F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA828, 0xA840, @@ -4427,6 +4483,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA92E, 0xA930, @@ -4468,10 +4526,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEB, 0xABEC, 0xABEE, @@ -4518,7 +4574,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0xFE00, 0xFE10, 0xFE20, - 0xFE2E, + 0xFE30, 0xFE33, 0xFE35, 0xFE4D, @@ -4623,6 +4679,10 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -4663,6 +4723,10 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11047, 0x11066, @@ -4683,17 +4747,31 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0x11177, 0x11180, 0x111C5, + 0x111CA, + 0x111CD, 0x111D0, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -4713,6 +4791,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -4731,6 +4811,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0x115B6, 0x115B8, 0x115C1, + 0x115D8, + 0x115DE, 0x11600, 0x11641, 0x11644, @@ -4741,6 +4823,12 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, 0x118A0, 0x118EA, 0x118FF, @@ -4748,11 +4836,15 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -4865,6 +4957,18 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0x1D7CC, 0x1D7CE, 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8D0, @@ -4941,6 +5045,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0100, @@ -4948,7 +5054,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */ }; static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ - 1095, /* Number of elements */ + 1129, /* 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 */ @@ -5052,7 +5158,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0x840, 0x859, 0x8A0, - 0x8B3, + 0x8B5, 0x904, 0x93A, 0x93D, @@ -5123,6 +5229,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0xAD1, 0xAE0, 0xAE2, + 0xAF9, + 0xAFA, 0xB05, 0xB0D, 0xB0F, @@ -5176,7 +5284,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0xC3D, 0xC3E, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC62, 0xC85, @@ -5207,7 +5315,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0xD3E, 0xD4E, 0xD4F, - 0xD60, + 0xD5F, 0xD62, 0xD7A, 0xD80, @@ -5330,7 +5438,9 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -5375,8 +5485,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0x1975, 0x1980, 0x19AC, - 0x19C1, - 0x19C8, + 0x19B0, + 0x19CA, 0x1A00, 0x1A17, 0x1A20, @@ -5544,7 +5654,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -5566,11 +5676,9 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA802, 0xA803, @@ -5587,6 +5695,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA90A, 0xA926, 0xA930, @@ -5644,10 +5754,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABE3, 0xAC00, 0xD7A4, @@ -5781,6 +5889,10 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -5815,6 +5927,10 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11003, 0x11038, 0x11083, @@ -5833,10 +5949,22 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0x111C5, 0x111DA, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112DF, 0x11305, @@ -5853,6 +5981,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0x1133A, 0x1133D, 0x1133E, + 0x11350, + 0x11351, 0x1135D, 0x11362, 0x11480, @@ -5863,12 +5993,16 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0x114C8, 0x11580, 0x115AF, + 0x115D8, + 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, + 0x11700, + 0x1171A, 0x118A0, 0x118E0, 0x118FF, @@ -5876,11 +6010,15 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -6045,6 +6183,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E }; @@ -6054,7 +6194,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */ #if defined(PERL_IN_PERL_C) static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ - 2835, /* Number of elements */ + 2896, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -6760,8 +6900,8 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0x859, 0x85C, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x904, 0x93A, 0x93D, @@ -6871,6 +7011,8 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -6957,7 +7099,7 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC62, 0xC64, @@ -7012,7 +7154,7 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD62, 0xD64, 0xD66, @@ -7192,7 +7334,9 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166E, @@ -7267,8 +7411,6 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0x1980, 0x19AC, 0x19B0, - 0x19C1, - 0x19C8, 0x19CA, 0x19D0, 0x19DA, @@ -7955,7 +8097,7 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -8049,7 +8191,6 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0xA69A, 0xA69B, 0xA69E, - 0xA69F, 0xA6A0, 0xA6F0, 0xA6F2, @@ -8183,7 +8324,10 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0xA7AA, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B5, + 0xA7B6, + 0xA7B7, + 0xA7B8, 0xA7F7, 0xA7F8, 0xA7FB, @@ -8211,6 +8355,8 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA90A, 0xA926, @@ -8284,9 +8430,8 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, + 0xAB70, 0xABC0, 0xABE3, 0xABEB, @@ -8341,7 +8486,7 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0xFE17, 0xFE19, 0xFE20, - 0xFE2E, + 0xFE30, 0xFE31, 0xFE33, 0xFE35, @@ -8475,6 +8620,10 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -8520,6 +8669,10 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11003, 0x11038, @@ -8557,11 +8710,16 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0x111C1, 0x111C5, 0x111C7, + 0x111CA, 0x111CD, 0x111CE, 0x111D0, 0x111DA, 0x111DB, + 0x111DC, + 0x111DD, + 0x111DE, + 0x111E0, 0x11200, 0x11212, 0x11213, @@ -8570,12 +8728,23 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0x1123A, 0x1123B, 0x1123D, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, + 0x112AA, 0x112B0, 0x112DF, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -8597,6 +8766,8 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -8622,7 +8793,9 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0x115C2, 0x115C4, 0x115C9, - 0x115CA, + 0x115D8, + 0x115DC, + 0x115DE, 0x11600, 0x11630, 0x11641, @@ -8636,6 +8809,14 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, + 0x1173C, + 0x1173F, 0x118A0, 0x118C0, 0x118E0, @@ -8645,11 +8826,15 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -8801,6 +8986,20 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0x1D7CC, 0x1D7CE, 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA88, + 0x1DA89, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8D0, @@ -8885,6 +9084,8 @@ static const UV Sentence_Break_invlist[] = { /* for ASCII/Latin1 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0001, @@ -9734,6 +9935,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_Numeric, SB_Other, + SB_OLetter, + SB_Other, SB_Extend, SB_Other, SB_OLetter, @@ -10054,7 +10257,9 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_OLetter, SB_Other, - SB_OLetter, + SB_Upper, + SB_Other, + SB_Lower, SB_Other, SB_OLetter, SB_Other, @@ -10129,9 +10334,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_OLetter, SB_Other, - SB_Extend, SB_OLetter, - SB_Extend, SB_Other, SB_Numeric, SB_Other, @@ -10911,7 +11114,6 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_Lower, SB_Upper, SB_Lower, - SB_Other, SB_Extend, SB_OLetter, SB_Extend, @@ -11018,7 +11220,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_Lower, SB_Upper, SB_Lower, - SB_Other, + SB_OLetter, SB_Upper, SB_Lower, SB_Upper, @@ -11046,6 +11248,9 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_Upper, SB_Other, SB_Upper, + SB_Lower, + SB_Upper, + SB_Lower, SB_Other, SB_OLetter, SB_Lower, @@ -11074,6 +11279,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, SB_Numeric, SB_OLetter, SB_Extend, @@ -11149,7 +11356,6 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_Lower, SB_Other, SB_Lower, - SB_Other, SB_OLetter, SB_Extend, SB_STerm, @@ -11347,6 +11553,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_OLetter, SB_Other, SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, SB_Extend, SB_Other, SB_Extend, @@ -11383,6 +11593,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_OLetter, SB_Other, + SB_Upper, + SB_Other, + SB_Lower, + SB_Other, SB_Extend, SB_OLetter, SB_Extend, @@ -11420,6 +11634,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_OLetter, SB_STerm, SB_Other, + SB_Extend, SB_STerm, SB_Other, SB_Numeric, @@ -11427,6 +11642,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_OLetter, SB_Other, + SB_STerm, + SB_Other, + SB_OLetter, + SB_Other, SB_OLetter, SB_Extend, SB_STerm, @@ -11434,6 +11653,17 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_STerm, SB_Other, SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_STerm, + SB_Other, + SB_OLetter, SB_Extend, SB_Other, SB_Numeric, @@ -11460,6 +11690,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_Extend, SB_Other, + SB_OLetter, + SB_Other, SB_Extend, SB_Other, SB_OLetter, @@ -11485,6 +11717,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_STerm, SB_Other, SB_STerm, + SB_OLetter, + SB_Extend, SB_Other, SB_OLetter, SB_Extend, @@ -11499,6 +11733,14 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_Numeric, SB_Other, + SB_OLetter, + SB_Other, + SB_Extend, + SB_Other, + SB_Numeric, + SB_Other, + SB_STerm, + SB_Other, SB_Upper, SB_Lower, SB_Numeric, @@ -11517,6 +11759,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, SB_Numeric, SB_Other, SB_STerm, @@ -11664,6 +11910,20 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_Numeric, SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_STerm, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, SB_OLetter, SB_Other, SB_Extend, @@ -11750,6 +12010,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, SB_Format, SB_Other, SB_Format, @@ -11791,7 +12053,7 @@ static const UV VertSpace_invlist[] = { /* for ASCII/Latin1 */ }; static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ - 1480, /* Number of elements */ + 1524, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -11960,8 +12222,8 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0x859, 0x85C, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x904, 0x93A, 0x93D, @@ -12071,6 +12333,8 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -12157,7 +12421,7 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC62, 0xC64, @@ -12212,7 +12476,7 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD62, 0xD64, 0xD66, @@ -12353,7 +12617,9 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -12408,10 +12674,6 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0x193C, 0x1946, 0x1950, - 0x19B0, - 0x19C1, - 0x19C8, - 0x19CA, 0x19D0, 0x19DA, 0x1A00, @@ -12653,7 +12915,6 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0xA67E, 0xA67F, 0xA69E, - 0xA69F, 0xA6A0, 0xA6F0, 0xA6F2, @@ -12662,11 +12923,9 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA802, 0xA803, @@ -12689,6 +12948,8 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA90A, 0xA926, @@ -12750,10 +13011,8 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABE3, 0xABEB, 0xABEC, @@ -12802,7 +13061,7 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0xFE14, 0xFE15, 0xFE20, - 0xFE2E, + 0xFE30, 0xFE33, 0xFE35, 0xFE4D, @@ -12917,6 +13176,10 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -12960,6 +13223,10 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11003, 0x11038, @@ -12992,20 +13259,34 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0x111B3, 0x111C1, 0x111C5, + 0x111CA, + 0x111CD, 0x111D0, 0x111DA, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112DF, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -13027,6 +13308,8 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -13049,6 +13332,9 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0x115B6, 0x115B8, 0x115C1, + 0x115D8, + 0x115DC, + 0x115DE, 0x11600, 0x11630, 0x11641, @@ -13061,6 +13347,10 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0x116B8, 0x116C0, 0x116CA, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, 0x118A0, 0x118E0, 0x118EA, @@ -13069,11 +13359,15 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -13191,6 +13485,18 @@ static const UV Word_Break_invlist[] = { /* for ASCII/Latin1 */ 0x1D7CC, 0x1D7CE, 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8D0, @@ -13582,6 +13888,8 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_Numeric, WB_Other, + WB_ALetter, + WB_Other, WB_Extend, WB_Other, WB_ALetter, @@ -13878,6 +14186,8 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */ WB_ALetter, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_ALetter, @@ -13919,10 +14229,6 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_Numeric, WB_Other, - WB_Extend, - WB_Other, - WB_Extend, - WB_Other, WB_Numeric, WB_Other, WB_ALetter, @@ -14163,7 +14469,6 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */ WB_Extend, WB_Other, WB_ALetter, - WB_Other, WB_Extend, WB_ALetter, WB_Extend, @@ -14177,8 +14482,6 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */ WB_ALetter, WB_Other, WB_ALetter, - WB_Other, - WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, @@ -14200,6 +14503,8 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, WB_Numeric, WB_ALetter, WB_Extend, @@ -14263,8 +14568,6 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */ WB_ALetter, WB_Other, WB_ALetter, - WB_Other, - WB_ALetter, WB_Extend, WB_Other, WB_Extend, @@ -14437,6 +14740,10 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */ WB_ALetter, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_Extend, @@ -14471,6 +14778,10 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, WB_Extend, WB_ALetter, WB_Extend, @@ -14503,15 +14814,29 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */ WB_Extend, WB_ALetter, WB_Other, + WB_Extend, + WB_Other, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_Numeric, @@ -14538,6 +14863,8 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_Extend, WB_Other, + WB_ALetter, + WB_Other, WB_Extend, WB_Other, WB_ALetter, @@ -14564,6 +14891,9 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */ WB_Extend, WB_Other, WB_ALetter, + WB_Extend, + WB_Other, + WB_ALetter, WB_Other, WB_Numeric, WB_Other, @@ -14572,6 +14902,10 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_Numeric, WB_Other, + WB_Extend, + WB_Other, + WB_Numeric, + WB_Other, WB_ALetter, WB_Numeric, WB_Other, @@ -14589,6 +14923,10 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, WB_Numeric, WB_Other, WB_ALetter, @@ -14702,6 +15040,18 @@ static const WB_enum Word_Break_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_Numeric, WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, WB_ALetter, WB_Other, WB_Extend, @@ -14821,7 +15171,7 @@ static const UV XPerlSpace_invlist[] = { /* for ASCII/Latin1 */ }; static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ - 1261, /* Number of elements */ + 1297, /* 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 */ @@ -14929,8 +15279,8 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0x840, 0x859, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x8EA, 0x8F0, 0x93C, @@ -15028,6 +15378,8 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -15109,7 +15461,7 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -15160,7 +15512,7 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD70, @@ -15309,7 +15661,9 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -15553,7 +15907,7 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -15567,19 +15921,15 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0xA674, 0xA67C, 0xA67F, - 0xA69E, - 0xA69F, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA802, 0xA803, @@ -15598,6 +15948,8 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA92B, 0xA930, @@ -15649,10 +16001,8 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEB, 0xABF0, 0xABFA, @@ -15776,6 +16126,10 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -15812,6 +16166,10 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11046, 0x11066, @@ -15836,17 +16194,29 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0x111C5, 0x111D0, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x11235, 0x11237, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112E9, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -15866,6 +16236,8 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0x11349, 0x1134B, 0x1134D, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -15882,6 +16254,8 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0x115B6, 0x115B8, 0x115BF, + 0x115D8, + 0x115DE, 0x11600, 0x1163F, 0x11640, @@ -15894,6 +16268,12 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0x116B6, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172B, + 0x11730, + 0x1173A, 0x118A0, 0x118EA, 0x118FF, @@ -15901,11 +16281,15 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -16084,12 +16468,14 @@ static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E }; static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ - 1201, /* Number of elements */ + 1235, /* 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 */ @@ -16197,8 +16583,8 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0x840, 0x859, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x8EA, 0x8F0, 0x93C, @@ -16292,6 +16678,8 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0xAD1, 0xAE0, 0xAE4, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -16369,7 +16757,7 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC81, @@ -16416,7 +16804,7 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD7A, 0xD80, @@ -16553,7 +16941,9 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -16787,7 +17177,7 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -16803,19 +17193,15 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0xA674, 0xA67C, 0xA67F, - 0xA69E, - 0xA69F, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA802, 0xA803, @@ -16832,6 +17218,8 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA90A, 0xA92B, 0xA930, @@ -16883,10 +17271,8 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEB, 0xAC00, 0xD7A4, @@ -17004,6 +17390,10 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -17040,6 +17430,10 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11046, 0x11082, @@ -17058,15 +17452,27 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0x111C5, 0x111DA, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x11235, 0x11237, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112E9, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -17086,6 +17492,8 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0x11349, 0x1134B, 0x1134D, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -17100,6 +17508,8 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0x115B6, 0x115B8, 0x115BF, + 0x115D8, + 0x115DE, 0x11600, 0x1163F, 0x11640, @@ -17108,6 +17518,10 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0x11645, 0x11680, 0x116B6, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172B, 0x118A0, 0x118E0, 0x118FF, @@ -17115,11 +17529,15 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -17292,6 +17710,8 @@ static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E }; @@ -17332,7 +17752,7 @@ static const UV XPosixCntrl_invlist[] = { /* for ASCII/Latin1 */ }; static const UV XPosixDigit_invlist[] = { /* for ASCII/Latin1 */ - 101, /* Number of elements */ + 103, /* 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 */ @@ -17429,6 +17849,8 @@ static const UV XPosixDigit_invlist[] = { /* for ASCII/Latin1 */ 0x1165A, 0x116C0, 0x116CA, + 0x11730, + 0x1173A, 0x118E0, 0x118EA, 0x16A60, @@ -17440,7 +17862,7 @@ static const UV XPosixDigit_invlist[] = { /* for ASCII/Latin1 */ }; static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ - 1211, /* Number of elements */ + 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 */ @@ -17494,8 +17916,8 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x85E, 0x85F, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x984, 0x985, 0x98D, @@ -17581,6 +18003,8 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0xAE4, 0xAE6, 0xAF2, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -17660,7 +18084,7 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -17711,7 +18135,7 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD76, @@ -17836,7 +18260,9 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x1380, 0x139A, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1400, 0x1680, 0x1681, @@ -17972,11 +18398,11 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x2090, 0x209D, 0x20A0, - 0x20BE, + 0x20BF, 0x20D0, 0x20F1, 0x2100, - 0x218A, + 0x218C, 0x2190, 0x23FB, 0x2400, @@ -17993,6 +18419,8 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x2BC9, 0x2BCA, 0x2BD2, + 0x2BEC, + 0x2BF0, 0x2C00, 0x2C2F, 0x2C30, @@ -18058,7 +18486,7 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x3300, 0x4DB6, 0x4DC0, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA490, @@ -18066,15 +18494,11 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0xA4D0, 0xA62C, 0xA640, - 0xA69E, - 0xA69F, 0xA6F8, 0xA700, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA82C, 0xA830, @@ -18086,7 +18510,7 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0xA8CE, 0xA8DA, 0xA8E0, - 0xA8FC, + 0xA8FE, 0xA900, 0xA954, 0xA95F, @@ -18118,10 +18542,8 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEE, 0xABF0, 0xABFA, @@ -18162,8 +18584,6 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0xFE00, 0xFE1A, 0xFE20, - 0xFE2E, - 0xFE30, 0xFE53, 0xFE54, 0xFE67, @@ -18267,7 +18687,11 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x1089F, 0x108A7, 0x108B0, - 0x10900, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, + 0x108FB, 0x1091C, 0x1091F, 0x1093A, @@ -18275,9 +18699,9 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x10940, 0x10980, 0x109B8, - 0x109BE, - 0x109C0, - 0x10A00, + 0x109BC, + 0x109D0, + 0x109D2, 0x10A04, 0x10A05, 0x10A07, @@ -18313,6 +18737,12 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x10BB0, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, + 0x10CFA, + 0x10D00, 0x10E60, 0x10E7F, 0x11000, @@ -18332,22 +18762,30 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x11150, 0x11177, 0x11180, - 0x111C9, - 0x111CD, 0x111CE, 0x111D0, - 0x111DB, + 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123E, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -18367,6 +18805,8 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -18382,7 +18822,7 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x11580, 0x115B6, 0x115B8, - 0x115CA, + 0x115DE, 0x11600, 0x11645, 0x11650, @@ -18391,6 +18831,12 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x11740, 0x118A0, 0x118F3, 0x118FF, @@ -18398,13 +18844,17 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -18450,7 +18900,7 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x1D100, 0x1D127, 0x1D129, - 0x1D1DE, + 0x1D1E9, 0x1D200, 0x1D246, 0x1D300, @@ -18498,7 +18948,11 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x1D6A8, 0x1D7CC, 0x1D7CE, - 0x1D800, + 0x1DA8C, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8C7, @@ -18600,25 +19054,11 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x1F250, 0x1F252, 0x1F300, - 0x1F32D, - 0x1F330, - 0x1F37E, - 0x1F380, - 0x1F3CF, - 0x1F3D4, - 0x1F3F8, - 0x1F400, - 0x1F4FF, - 0x1F500, - 0x1F54B, - 0x1F550, 0x1F57A, 0x1F57B, 0x1F5A4, 0x1F5A5, - 0x1F643, - 0x1F645, - 0x1F6D0, + 0x1F6D1, 0x1F6E0, 0x1F6ED, 0x1F6F0, @@ -18637,12 +19077,20 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F910, + 0x1F919, + 0x1F980, + 0x1F985, + 0x1F9C0, + 0x1F9C1, 0x20000, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0001, @@ -18658,7 +19106,7 @@ static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */ }; static const UV XPosixLower_invlist[] = { /* for ASCII/Latin1 */ - 1267, /* Number of elements */ + 1275, /* 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 */ @@ -19213,6 +19661,8 @@ static const UV XPosixLower_invlist[] = { /* for ASCII/Latin1 */ 0x530, 0x561, 0x588, + 0x13F8, + 0x13FE, 0x1D00, 0x1DC0, 0x1E01, @@ -19855,14 +20305,18 @@ static const UV XPosixLower_invlist[] = { /* for ASCII/Latin1 */ 0xA7A8, 0xA7A9, 0xA7AA, + 0xA7B5, + 0xA7B6, + 0xA7B7, + 0xA7B8, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, + 0xAB70, + 0xABC0, 0xFB00, 0xFB07, 0xFB13, @@ -19871,6 +20325,8 @@ static const UV XPosixLower_invlist[] = { /* for ASCII/Latin1 */ 0xFF5B, 0x10428, 0x10450, + 0x10CC0, + 0x10CF3, 0x118C0, 0x118E0, 0x1D41A, @@ -19932,7 +20388,7 @@ static const UV XPosixLower_invlist[] = { /* for ASCII/Latin1 */ }; static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ - 1205, /* Number of elements */ + 1231, /* 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 */ @@ -19986,8 +20442,8 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x85E, 0x85F, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x984, 0x985, 0x98D, @@ -20073,6 +20529,8 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0xAE4, 0xAE6, 0xAF2, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -20152,7 +20610,7 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -20203,7 +20661,7 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD76, @@ -20328,7 +20786,9 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x1380, 0x139A, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1400, 0x169D, 0x16A0, @@ -20458,11 +20918,11 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x2090, 0x209D, 0x20A0, - 0x20BE, + 0x20BF, 0x20D0, 0x20F1, 0x2100, - 0x218A, + 0x218C, 0x2190, 0x23FB, 0x2400, @@ -20479,6 +20939,8 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x2BC9, 0x2BCA, 0x2BD2, + 0x2BEC, + 0x2BF0, 0x2C00, 0x2C2F, 0x2C30, @@ -20544,7 +21006,7 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x3300, 0x4DB6, 0x4DC0, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA490, @@ -20552,15 +21014,11 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0xA4D0, 0xA62C, 0xA640, - 0xA69E, - 0xA69F, 0xA6F8, 0xA700, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA82C, 0xA830, @@ -20572,7 +21030,7 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0xA8CE, 0xA8DA, 0xA8E0, - 0xA8FC, + 0xA8FE, 0xA900, 0xA954, 0xA95F, @@ -20604,10 +21062,8 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEE, 0xABF0, 0xABFA, @@ -20648,8 +21104,6 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0xFE00, 0xFE1A, 0xFE20, - 0xFE2E, - 0xFE30, 0xFE53, 0xFE54, 0xFE67, @@ -20753,7 +21207,11 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x1089F, 0x108A7, 0x108B0, - 0x10900, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, + 0x108FB, 0x1091C, 0x1091F, 0x1093A, @@ -20761,9 +21219,9 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x10940, 0x10980, 0x109B8, - 0x109BE, - 0x109C0, - 0x10A00, + 0x109BC, + 0x109D0, + 0x109D2, 0x10A04, 0x10A05, 0x10A07, @@ -20799,6 +21257,12 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x10BB0, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, + 0x10CFA, + 0x10D00, 0x10E60, 0x10E7F, 0x11000, @@ -20818,22 +21282,30 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x11150, 0x11177, 0x11180, - 0x111C9, - 0x111CD, 0x111CE, 0x111D0, - 0x111DB, + 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123E, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -20853,6 +21325,8 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -20868,7 +21342,7 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x11580, 0x115B6, 0x115B8, - 0x115CA, + 0x115DE, 0x11600, 0x11645, 0x11650, @@ -20877,6 +21351,12 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x11740, 0x118A0, 0x118F3, 0x118FF, @@ -20884,13 +21364,17 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -20936,7 +21420,7 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x1D100, 0x1D127, 0x1D129, - 0x1D1DE, + 0x1D1E9, 0x1D200, 0x1D246, 0x1D300, @@ -20984,7 +21468,11 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x1D6A8, 0x1D7CC, 0x1D7CE, - 0x1D800, + 0x1DA8C, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8C7, @@ -21086,25 +21574,11 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x1F250, 0x1F252, 0x1F300, - 0x1F32D, - 0x1F330, - 0x1F37E, - 0x1F380, - 0x1F3CF, - 0x1F3D4, - 0x1F3F8, - 0x1F400, - 0x1F4FF, - 0x1F500, - 0x1F54B, - 0x1F550, 0x1F57A, 0x1F57B, 0x1F5A4, 0x1F5A5, - 0x1F643, - 0x1F645, - 0x1F6D0, + 0x1F6D1, 0x1F6E0, 0x1F6ED, 0x1F6F0, @@ -21123,12 +21597,20 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F910, + 0x1F919, + 0x1F980, + 0x1F985, + 0x1F9C0, + 0x1F9C1, 0x20000, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0001, @@ -21144,7 +21626,7 @@ static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */ }; static const UV XPosixPunct_invlist[] = { /* for ASCII/Latin1 */ - 301, /* Number of elements */ + 313, /* 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 */ @@ -21341,6 +21823,8 @@ static const UV XPosixPunct_invlist[] = { /* for ASCII/Latin1 */ 0xA8D0, 0xA8F8, 0xA8FB, + 0xA8FC, + 0xA8FD, 0xA92E, 0xA930, 0xA95F, @@ -21426,17 +21910,25 @@ static const UV XPosixPunct_invlist[] = { /* for ASCII/Latin1 */ 0x11174, 0x11176, 0x111C5, - 0x111C9, + 0x111CA, 0x111CD, 0x111CE, + 0x111DB, + 0x111DC, + 0x111DD, + 0x111E0, 0x11238, 0x1123E, + 0x112A9, + 0x112AA, 0x114C6, 0x114C7, 0x115C1, - 0x115CA, + 0x115D8, 0x11641, 0x11644, + 0x1173C, + 0x1173F, 0x12470, 0x12475, 0x16A6E, @@ -21448,7 +21940,9 @@ static const UV XPosixPunct_invlist[] = { /* for ASCII/Latin1 */ 0x16B44, 0x16B45, 0x1BC9F, - 0x1BCA0 + 0x1BCA0, + 0x1DA87, + 0x1DA8C }; static const UV XPosixSpace_invlist[] = { /* for ASCII/Latin1 */ @@ -21480,7 +21974,7 @@ static const UV XPosixSpace_invlist[] = { /* for ASCII/Latin1 */ }; static const UV XPosixUpper_invlist[] = { /* for ASCII/Latin1 */ - 1255, /* Number of elements */ + 1261, /* 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 */ @@ -22035,6 +22529,8 @@ static const UV XPosixUpper_invlist[] = { /* for ASCII/Latin1 */ 0x10C8, 0x10CD, 0x10CE, + 0x13A0, + 0x13F6, 0x1E00, 0x1E01, 0x1E02, @@ -22664,11 +23160,15 @@ static const UV XPosixUpper_invlist[] = { /* for ASCII/Latin1 */ 0xA7AA, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B5, + 0xA7B6, + 0xA7B7, 0xFF21, 0xFF3B, 0x10400, 0x10428, + 0x10C80, + 0x10CB3, 0x118A0, 0x118C0, 0x1D400, @@ -22742,7 +23242,7 @@ static const UV XPosixUpper_invlist[] = { /* for ASCII/Latin1 */ }; static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ - 1261, /* Number of elements */ + 1311, /* 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 */ @@ -22844,8 +23344,8 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0x840, 0x85C, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x964, 0x966, 0x970, @@ -22935,6 +23435,8 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -23016,7 +23518,7 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -23065,7 +23567,7 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD70, @@ -23210,7 +23712,9 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -23456,7 +23960,7 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -23470,19 +23974,15 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0xA674, 0xA67E, 0xA67F, - 0xA69E, - 0xA69F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA828, 0xA840, @@ -23495,6 +23995,8 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA92E, 0xA930, @@ -23536,10 +24038,8 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEB, 0xABEC, 0xABEE, @@ -23584,7 +24084,7 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0xFE00, 0xFE10, 0xFE20, - 0xFE2E, + 0xFE30, 0xFE33, 0xFE35, 0xFE4D, @@ -23679,6 +24179,10 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -23719,6 +24223,10 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11047, 0x11066, @@ -23739,17 +24247,31 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0x11177, 0x11180, 0x111C5, + 0x111CA, + 0x111CD, 0x111D0, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -23769,6 +24291,8 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -23787,6 +24311,8 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0x115B6, 0x115B8, 0x115C1, + 0x115D8, + 0x115DE, 0x11600, 0x11641, 0x11644, @@ -23797,6 +24323,12 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, 0x118A0, 0x118EA, 0x118FF, @@ -23804,11 +24336,15 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -23921,6 +24457,18 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0x1D7CC, 0x1D7CE, 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8D0, @@ -24003,6 +24551,8 @@ static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0100, @@ -24102,7 +24652,7 @@ static const UV ASCII_invlist[] = { /* for EBCDIC 1047 */ }; static const UV Cased_invlist[] = { /* for EBCDIC 1047 */ - 281, /* Number of elements */ + 289, /* 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 */ @@ -24193,6 +24743,10 @@ static const UV Cased_invlist[] = { /* for EBCDIC 1047 */ 0x10C8, 0x10CD, 0x10CE, + 0x13A0, + 0x13F6, + 0x13F8, + 0x13FE, 0x1D00, 0x1DC0, 0x1E00, @@ -24300,15 +24854,15 @@ static const UV Cased_invlist[] = { /* for EBCDIC 1047 */ 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, + 0xAB70, + 0xABC0, 0xFB00, 0xFB07, 0xFB13, @@ -24319,6 +24873,10 @@ static const UV Cased_invlist[] = { /* for EBCDIC 1047 */ 0xFF5B, 0x10400, 0x10450, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x118A0, 0x118E0, 0x1D400, @@ -24390,7 +24948,7 @@ static const UV Cased_invlist[] = { /* for EBCDIC 1047 */ }; static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */ - 1484, /* Number of elements */ + 1502, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -24457,7 +25015,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */ 0x82E, 0x859, 0x85C, - 0x8E4, + 0x8E3, 0x903, 0x904, 0x93A, @@ -24725,10 +25283,6 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */ 0x1933, 0x1939, 0x193C, - 0x19B5, - 0x19B8, - 0x19BA, - 0x19BB, 0x1A17, 0x1A19, 0x1A1B, @@ -24829,7 +25383,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */ 0xA673, 0xA674, 0xA67E, - 0xA69F, + 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, @@ -25718,7 +26272,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */ 0xFE00, 0xFE10, 0xFE20, - 0xFE2E, + 0xFE30, 0xFEFF, 0xFF00, 0xFF9E, @@ -25774,6 +26328,8 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */ 0x111B6, 0x111BF, 0x111C1, + 0x111CA, + 0x111CD, 0x1122C, 0x1122F, 0x11232, @@ -25785,7 +26341,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */ 0x112E0, 0x112E3, 0x112EB, - 0x11301, + 0x11300, 0x11302, 0x11304, 0x1133C, @@ -25828,6 +26384,8 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */ 0x115BE, 0x115BF, 0x115C1, + 0x115DC, + 0x115DE, 0x11630, 0x11633, 0x1163B, @@ -25843,6 +26401,12 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */ 0x116B6, 0x116B7, 0x116B8, + 0x1171D, + 0x11720, + 0x11722, + 0x11726, + 0x11727, + 0x1172C, 0x16AF0, 0x16AF5, 0x16B30, @@ -25870,6 +26434,18 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 1047 */ 0x1D1AE, 0x1D242, 0x1D245, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E8D0, 0x1E8D7, 0x1F1E6, @@ -26235,10 +26811,6 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 1047 */ GCB_SpacingMark, GCB_Extend, GCB_Other, - GCB_SpacingMark, - GCB_Other, - GCB_SpacingMark, - GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, @@ -27284,6 +27856,8 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 1047 */ GCB_Extend, GCB_SpacingMark, GCB_Other, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, @@ -27338,6 +27912,8 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 1047 */ GCB_SpacingMark, GCB_Extend, GCB_Other, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, @@ -27354,6 +27930,12 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 1047 */ GCB_Extend, GCB_Other, GCB_Extend, + GCB_SpacingMark, + GCB_Extend, + GCB_SpacingMark, + GCB_Extend, + GCB_Other, + GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, @@ -27382,6 +27964,18 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 1047 */ GCB_Other, GCB_Extend, GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, GCB_Regional_Indicator, GCB_Other, GCB_Control, @@ -27447,7 +28041,7 @@ static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for EBCDIC 1047 */ }; static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 1047 */ - 267, /* Number of elements */ + 279, /* 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 */ @@ -27548,7 +28142,7 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 1047 */ 0x28D, 0x292, 0x293, - 0x29E, + 0x29D, 0x29F, 0x2BC, 0x2BD, @@ -27606,6 +28200,10 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 1047 */ 0x10C8, 0x10CD, 0x10CE, + 0x13A0, + 0x13F6, + 0x13F8, + 0x13FE, 0x1D79, 0x1D7A, 0x1D7D, @@ -27705,7 +28303,11 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 1047 */ 0xA796, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, + 0xAB53, + 0xAB54, + 0xAB70, + 0xABC0, 0xFB00, 0xFB07, 0xFB13, @@ -27716,6 +28318,10 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 1047 */ 0xFF5B, 0x10400, 0x10450, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x118A0, 0x118E0 }; @@ -27791,7 +28397,7 @@ static const UV _Perl_Folds_To_Multi_Char_invlist[] = { /* for EBCDIC 1047 */ #if defined(PERL_IN_UTF8_C) static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ - 1291, /* Number of elements */ + 1341, /* 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 */ @@ -27919,8 +28525,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0x840, 0x85C, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x964, 0x966, 0x970, @@ -28010,6 +28616,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -28091,7 +28699,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -28140,7 +28748,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD70, @@ -28285,7 +28893,9 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -28529,7 +29139,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -28543,19 +29153,15 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0xA674, 0xA67E, 0xA67F, - 0xA69E, - 0xA69F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA828, 0xA840, @@ -28568,6 +29174,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA92E, 0xA930, @@ -28609,10 +29217,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEB, 0xABEC, 0xABEE, @@ -28659,7 +29265,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0xFE00, 0xFE10, 0xFE20, - 0xFE2E, + 0xFE30, 0xFE33, 0xFE35, 0xFE4D, @@ -28764,6 +29370,10 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -28804,6 +29414,10 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11047, 0x11066, @@ -28824,17 +29438,31 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0x11177, 0x11180, 0x111C5, + 0x111CA, + 0x111CD, 0x111D0, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -28854,6 +29482,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -28872,6 +29502,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0x115B6, 0x115B8, 0x115C1, + 0x115D8, + 0x115DE, 0x11600, 0x11641, 0x11644, @@ -28882,6 +29514,12 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, 0x118A0, 0x118EA, 0x118FF, @@ -28889,11 +29527,15 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -29006,6 +29648,18 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0x1D7CC, 0x1D7CE, 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8D0, @@ -29082,6 +29736,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0100, @@ -29089,7 +29745,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */ }; static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ - 1121, /* Number of elements */ + 1155, /* 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 */ @@ -29219,7 +29875,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0x840, 0x859, 0x8A0, - 0x8B3, + 0x8B5, 0x904, 0x93A, 0x93D, @@ -29290,6 +29946,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0xAD1, 0xAE0, 0xAE2, + 0xAF9, + 0xAFA, 0xB05, 0xB0D, 0xB0F, @@ -29343,7 +30001,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0xC3D, 0xC3E, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC62, 0xC85, @@ -29374,7 +30032,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0xD3E, 0xD4E, 0xD4F, - 0xD60, + 0xD5F, 0xD62, 0xD7A, 0xD80, @@ -29497,7 +30155,9 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -29542,8 +30202,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0x1975, 0x1980, 0x19AC, - 0x19C1, - 0x19C8, + 0x19B0, + 0x19CA, 0x1A00, 0x1A17, 0x1A20, @@ -29711,7 +30371,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -29733,11 +30393,9 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA802, 0xA803, @@ -29754,6 +30412,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA90A, 0xA926, 0xA930, @@ -29811,10 +30471,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABE3, 0xAC00, 0xD7A4, @@ -29948,6 +30606,10 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -29982,6 +30644,10 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11003, 0x11038, 0x11083, @@ -30000,10 +30666,22 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0x111C5, 0x111DA, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112DF, 0x11305, @@ -30020,6 +30698,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0x1133A, 0x1133D, 0x1133E, + 0x11350, + 0x11351, 0x1135D, 0x11362, 0x11480, @@ -30030,12 +30710,16 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0x114C8, 0x11580, 0x115AF, + 0x115D8, + 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, + 0x11700, + 0x1171A, 0x118A0, 0x118E0, 0x118FF, @@ -30043,11 +30727,15 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -30212,6 +30900,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E }; @@ -30221,7 +30911,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */ #if defined(PERL_IN_PERL_C) static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ - 2859, /* Number of elements */ + 2920, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -30951,8 +31641,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0x859, 0x85C, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x904, 0x93A, 0x93D, @@ -31062,6 +31752,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -31148,7 +31840,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC62, 0xC64, @@ -31203,7 +31895,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD62, 0xD64, 0xD66, @@ -31383,7 +32075,9 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166E, @@ -31458,8 +32152,6 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0x1980, 0x19AC, 0x19B0, - 0x19C1, - 0x19C8, 0x19CA, 0x19D0, 0x19DA, @@ -32146,7 +32838,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -32240,7 +32932,6 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0xA69A, 0xA69B, 0xA69E, - 0xA69F, 0xA6A0, 0xA6F0, 0xA6F2, @@ -32374,7 +33065,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0xA7AA, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B5, + 0xA7B6, + 0xA7B7, + 0xA7B8, 0xA7F7, 0xA7F8, 0xA7FB, @@ -32402,6 +33096,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA90A, 0xA926, @@ -32475,9 +33171,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, + 0xAB70, 0xABC0, 0xABE3, 0xABEB, @@ -32532,7 +33227,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0xFE17, 0xFE19, 0xFE20, - 0xFE2E, + 0xFE30, 0xFE31, 0xFE33, 0xFE35, @@ -32666,6 +33361,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -32711,6 +33410,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11003, 0x11038, @@ -32748,11 +33451,16 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0x111C1, 0x111C5, 0x111C7, + 0x111CA, 0x111CD, 0x111CE, 0x111D0, 0x111DA, 0x111DB, + 0x111DC, + 0x111DD, + 0x111DE, + 0x111E0, 0x11200, 0x11212, 0x11213, @@ -32761,12 +33469,23 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0x1123A, 0x1123B, 0x1123D, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, + 0x112AA, 0x112B0, 0x112DF, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -32788,6 +33507,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -32813,7 +33534,9 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0x115C2, 0x115C4, 0x115C9, - 0x115CA, + 0x115D8, + 0x115DC, + 0x115DE, 0x11600, 0x11630, 0x11641, @@ -32827,6 +33550,14 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, + 0x1173C, + 0x1173F, 0x118A0, 0x118C0, 0x118E0, @@ -32836,11 +33567,15 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -32992,6 +33727,20 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0x1D7CC, 0x1D7CE, 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA88, + 0x1DA89, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8D0, @@ -33076,6 +33825,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 1047 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0001, @@ -33949,6 +34700,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_Numeric, SB_Other, + SB_OLetter, + SB_Other, SB_Extend, SB_Other, SB_OLetter, @@ -34269,7 +35022,9 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_OLetter, SB_Other, - SB_OLetter, + SB_Upper, + SB_Other, + SB_Lower, SB_Other, SB_OLetter, SB_Other, @@ -34344,9 +35099,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_OLetter, SB_Other, - SB_Extend, SB_OLetter, - SB_Extend, SB_Other, SB_Numeric, SB_Other, @@ -35126,7 +35879,6 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_Lower, SB_Upper, SB_Lower, - SB_Other, SB_Extend, SB_OLetter, SB_Extend, @@ -35233,7 +35985,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_Lower, SB_Upper, SB_Lower, - SB_Other, + SB_OLetter, SB_Upper, SB_Lower, SB_Upper, @@ -35261,6 +36013,9 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_Upper, SB_Other, SB_Upper, + SB_Lower, + SB_Upper, + SB_Lower, SB_Other, SB_OLetter, SB_Lower, @@ -35289,6 +36044,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, SB_Numeric, SB_OLetter, SB_Extend, @@ -35364,7 +36121,6 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_Lower, SB_Other, SB_Lower, - SB_Other, SB_OLetter, SB_Extend, SB_STerm, @@ -35562,6 +36318,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_OLetter, SB_Other, SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, SB_Extend, SB_Other, SB_Extend, @@ -35598,6 +36358,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_OLetter, SB_Other, + SB_Upper, + SB_Other, + SB_Lower, + SB_Other, SB_Extend, SB_OLetter, SB_Extend, @@ -35635,6 +36399,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_OLetter, SB_STerm, SB_Other, + SB_Extend, SB_STerm, SB_Other, SB_Numeric, @@ -35642,6 +36407,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_OLetter, SB_Other, + SB_STerm, + SB_Other, + SB_OLetter, + SB_Other, SB_OLetter, SB_Extend, SB_STerm, @@ -35649,6 +36418,17 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_STerm, SB_Other, SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_STerm, + SB_Other, + SB_OLetter, SB_Extend, SB_Other, SB_Numeric, @@ -35675,6 +36455,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_Extend, SB_Other, + SB_OLetter, + SB_Other, SB_Extend, SB_Other, SB_OLetter, @@ -35700,6 +36482,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_STerm, SB_Other, SB_STerm, + SB_OLetter, + SB_Extend, SB_Other, SB_OLetter, SB_Extend, @@ -35714,6 +36498,14 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_Numeric, SB_Other, + SB_OLetter, + SB_Other, + SB_Extend, + SB_Other, + SB_Numeric, + SB_Other, + SB_STerm, + SB_Other, SB_Upper, SB_Lower, SB_Numeric, @@ -35732,6 +36524,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, SB_Numeric, SB_Other, SB_STerm, @@ -35879,6 +36675,20 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_Numeric, SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_STerm, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, SB_OLetter, SB_Other, SB_Extend, @@ -35965,6 +36775,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, SB_Format, SB_Other, SB_Format, @@ -36060,7 +36872,7 @@ static const UV VertSpace_invlist[] = { /* for EBCDIC 1047 */ }; static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ - 1505, /* Number of elements */ + 1549, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -36254,8 +37066,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0x859, 0x85C, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x904, 0x93A, 0x93D, @@ -36365,6 +37177,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -36451,7 +37265,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC62, 0xC64, @@ -36506,7 +37320,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD62, 0xD64, 0xD66, @@ -36647,7 +37461,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -36702,10 +37518,6 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0x193C, 0x1946, 0x1950, - 0x19B0, - 0x19C1, - 0x19C8, - 0x19CA, 0x19D0, 0x19DA, 0x1A00, @@ -36947,7 +37759,6 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0xA67E, 0xA67F, 0xA69E, - 0xA69F, 0xA6A0, 0xA6F0, 0xA6F2, @@ -36956,11 +37767,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA802, 0xA803, @@ -36983,6 +37792,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA90A, 0xA926, @@ -37044,10 +37855,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABE3, 0xABEB, 0xABEC, @@ -37096,7 +37905,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0xFE14, 0xFE15, 0xFE20, - 0xFE2E, + 0xFE30, 0xFE33, 0xFE35, 0xFE4D, @@ -37211,6 +38020,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -37254,6 +38067,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11003, 0x11038, @@ -37286,20 +38103,34 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0x111B3, 0x111C1, 0x111C5, + 0x111CA, + 0x111CD, 0x111D0, 0x111DA, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112DF, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -37321,6 +38152,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -37343,6 +38176,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0x115B6, 0x115B8, 0x115C1, + 0x115D8, + 0x115DC, + 0x115DE, 0x11600, 0x11630, 0x11641, @@ -37355,6 +38191,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0x116B8, 0x116C0, 0x116CA, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, 0x118A0, 0x118E0, 0x118EA, @@ -37363,11 +38203,15 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -37485,6 +38329,18 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 1047 */ 0x1D7CC, 0x1D7CE, 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8D0, @@ -37901,6 +38757,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_Numeric, WB_Other, + WB_ALetter, + WB_Other, WB_Extend, WB_Other, WB_ALetter, @@ -38197,6 +39055,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */ WB_ALetter, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_ALetter, @@ -38238,10 +39098,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_Numeric, WB_Other, - WB_Extend, - WB_Other, - WB_Extend, - WB_Other, WB_Numeric, WB_Other, WB_ALetter, @@ -38482,7 +39338,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */ WB_Extend, WB_Other, WB_ALetter, - WB_Other, WB_Extend, WB_ALetter, WB_Extend, @@ -38496,8 +39351,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */ WB_ALetter, WB_Other, WB_ALetter, - WB_Other, - WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, @@ -38519,6 +39372,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, WB_Numeric, WB_ALetter, WB_Extend, @@ -38582,8 +39437,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */ WB_ALetter, WB_Other, WB_ALetter, - WB_Other, - WB_ALetter, WB_Extend, WB_Other, WB_Extend, @@ -38756,6 +39609,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */ WB_ALetter, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_Extend, @@ -38790,6 +39647,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, WB_Extend, WB_ALetter, WB_Extend, @@ -38822,15 +39683,29 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */ WB_Extend, WB_ALetter, WB_Other, + WB_Extend, + WB_Other, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_Numeric, @@ -38857,6 +39732,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_Extend, WB_Other, + WB_ALetter, + WB_Other, WB_Extend, WB_Other, WB_ALetter, @@ -38883,6 +39760,9 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */ WB_Extend, WB_Other, WB_ALetter, + WB_Extend, + WB_Other, + WB_ALetter, WB_Other, WB_Numeric, WB_Other, @@ -38891,6 +39771,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_Numeric, WB_Other, + WB_Extend, + WB_Other, + WB_Numeric, + WB_Other, WB_ALetter, WB_Numeric, WB_Other, @@ -38908,6 +39792,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, WB_Numeric, WB_Other, WB_ALetter, @@ -39021,6 +39909,18 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_Numeric, WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, WB_ALetter, WB_Other, WB_Extend, @@ -39142,7 +40042,7 @@ static const UV XPerlSpace_invlist[] = { /* for EBCDIC 1047 */ }; static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ - 1285, /* Number of elements */ + 1321, /* 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 */ @@ -39274,8 +40174,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0x840, 0x859, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x8EA, 0x8F0, 0x93C, @@ -39373,6 +40273,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -39454,7 +40356,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -39505,7 +40407,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD70, @@ -39654,7 +40556,9 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -39898,7 +40802,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -39912,19 +40816,15 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0xA674, 0xA67C, 0xA67F, - 0xA69E, - 0xA69F, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA802, 0xA803, @@ -39943,6 +40843,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA92B, 0xA930, @@ -39994,10 +40896,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEB, 0xABF0, 0xABFA, @@ -40121,6 +41021,10 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -40157,6 +41061,10 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11046, 0x11066, @@ -40181,17 +41089,29 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0x111C5, 0x111D0, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x11235, 0x11237, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112E9, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -40211,6 +41131,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0x11349, 0x1134B, 0x1134D, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -40227,6 +41149,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0x115B6, 0x115B8, 0x115BF, + 0x115D8, + 0x115DE, 0x11600, 0x1163F, 0x11640, @@ -40239,6 +41163,12 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0x116B6, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172B, + 0x11730, + 0x1173A, 0x118A0, 0x118EA, 0x118FF, @@ -40246,11 +41176,15 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -40429,12 +41363,14 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E }; static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ - 1227, /* Number of elements */ + 1261, /* 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 */ @@ -40568,8 +41504,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0x840, 0x859, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x8EA, 0x8F0, 0x93C, @@ -40663,6 +41599,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0xAD1, 0xAE0, 0xAE4, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -40740,7 +41678,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC81, @@ -40787,7 +41725,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD7A, 0xD80, @@ -40924,7 +41862,9 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -41158,7 +42098,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -41174,19 +42114,15 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0xA674, 0xA67C, 0xA67F, - 0xA69E, - 0xA69F, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA802, 0xA803, @@ -41203,6 +42139,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA90A, 0xA92B, 0xA930, @@ -41254,10 +42192,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEB, 0xAC00, 0xD7A4, @@ -41375,6 +42311,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -41411,6 +42351,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11046, 0x11082, @@ -41429,15 +42373,27 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0x111C5, 0x111DA, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x11235, 0x11237, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112E9, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -41457,6 +42413,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0x11349, 0x1134B, 0x1134D, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -41471,6 +42429,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0x115B6, 0x115B8, 0x115BF, + 0x115D8, + 0x115DE, 0x11600, 0x1163F, 0x11640, @@ -41479,6 +42439,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0x11645, 0x11680, 0x116B6, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172B, 0x118A0, 0x118E0, 0x118FF, @@ -41486,11 +42450,15 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -41663,6 +42631,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E }; @@ -41701,7 +42671,7 @@ static const UV XPosixCntrl_invlist[] = { /* for EBCDIC 1047 */ }; static const UV XPosixDigit_invlist[] = { /* for EBCDIC 1047 */ - 101, /* Number of elements */ + 103, /* 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 */ @@ -41798,6 +42768,8 @@ static const UV XPosixDigit_invlist[] = { /* for EBCDIC 1047 */ 0x1165A, 0x116C0, 0x116CA, + 0x11730, + 0x1173A, 0x118E0, 0x118EA, 0x16A60, @@ -41809,7 +42781,7 @@ static const UV XPosixDigit_invlist[] = { /* for EBCDIC 1047 */ }; static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ - 1211, /* Number of elements */ + 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 */ @@ -41863,8 +42835,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x85E, 0x85F, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x984, 0x985, 0x98D, @@ -41950,6 +42922,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0xAE4, 0xAE6, 0xAF2, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -42029,7 +43003,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -42080,7 +43054,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD76, @@ -42205,7 +43179,9 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x1380, 0x139A, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1400, 0x1680, 0x1681, @@ -42341,11 +43317,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x2090, 0x209D, 0x20A0, - 0x20BE, + 0x20BF, 0x20D0, 0x20F1, 0x2100, - 0x218A, + 0x218C, 0x2190, 0x23FB, 0x2400, @@ -42362,6 +43338,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x2BC9, 0x2BCA, 0x2BD2, + 0x2BEC, + 0x2BF0, 0x2C00, 0x2C2F, 0x2C30, @@ -42427,7 +43405,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x3300, 0x4DB6, 0x4DC0, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA490, @@ -42435,15 +43413,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0xA4D0, 0xA62C, 0xA640, - 0xA69E, - 0xA69F, 0xA6F8, 0xA700, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA82C, 0xA830, @@ -42455,7 +43429,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0xA8CE, 0xA8DA, 0xA8E0, - 0xA8FC, + 0xA8FE, 0xA900, 0xA954, 0xA95F, @@ -42487,10 +43461,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEE, 0xABF0, 0xABFA, @@ -42531,8 +43503,6 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0xFE00, 0xFE1A, 0xFE20, - 0xFE2E, - 0xFE30, 0xFE53, 0xFE54, 0xFE67, @@ -42636,7 +43606,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x1089F, 0x108A7, 0x108B0, - 0x10900, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, + 0x108FB, 0x1091C, 0x1091F, 0x1093A, @@ -42644,9 +43618,9 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x10940, 0x10980, 0x109B8, - 0x109BE, - 0x109C0, - 0x10A00, + 0x109BC, + 0x109D0, + 0x109D2, 0x10A04, 0x10A05, 0x10A07, @@ -42682,6 +43656,12 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x10BB0, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, + 0x10CFA, + 0x10D00, 0x10E60, 0x10E7F, 0x11000, @@ -42701,22 +43681,30 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x11150, 0x11177, 0x11180, - 0x111C9, - 0x111CD, 0x111CE, 0x111D0, - 0x111DB, + 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123E, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -42736,6 +43724,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -42751,7 +43741,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x11580, 0x115B6, 0x115B8, - 0x115CA, + 0x115DE, 0x11600, 0x11645, 0x11650, @@ -42760,6 +43750,12 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x11740, 0x118A0, 0x118F3, 0x118FF, @@ -42767,13 +43763,17 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -42819,7 +43819,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x1D100, 0x1D127, 0x1D129, - 0x1D1DE, + 0x1D1E9, 0x1D200, 0x1D246, 0x1D300, @@ -42867,7 +43867,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x1D6A8, 0x1D7CC, 0x1D7CE, - 0x1D800, + 0x1DA8C, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8C7, @@ -42969,25 +43973,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x1F250, 0x1F252, 0x1F300, - 0x1F32D, - 0x1F330, - 0x1F37E, - 0x1F380, - 0x1F3CF, - 0x1F3D4, - 0x1F3F8, - 0x1F400, - 0x1F4FF, - 0x1F500, - 0x1F54B, - 0x1F550, 0x1F57A, 0x1F57B, 0x1F5A4, 0x1F5A5, - 0x1F643, - 0x1F645, - 0x1F6D0, + 0x1F6D1, 0x1F6E0, 0x1F6ED, 0x1F6F0, @@ -43006,12 +43996,20 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F910, + 0x1F919, + 0x1F980, + 0x1F985, + 0x1F9C0, + 0x1F9C1, 0x20000, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0001, @@ -43027,7 +44025,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */ }; static const UV XPosixLower_invlist[] = { /* for EBCDIC 1047 */ - 1275, /* Number of elements */ + 1283, /* 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 */ @@ -43590,6 +44588,8 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 1047 */ 0x530, 0x561, 0x588, + 0x13F8, + 0x13FE, 0x1D00, 0x1DC0, 0x1E01, @@ -44232,14 +45232,18 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 1047 */ 0xA7A8, 0xA7A9, 0xA7AA, + 0xA7B5, + 0xA7B6, + 0xA7B7, + 0xA7B8, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, + 0xAB70, + 0xABC0, 0xFB00, 0xFB07, 0xFB13, @@ -44248,6 +45252,8 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 1047 */ 0xFF5B, 0x10428, 0x10450, + 0x10CC0, + 0x10CF3, 0x118C0, 0x118E0, 0x1D41A, @@ -44309,7 +45315,7 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 1047 */ }; static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ - 1205, /* Number of elements */ + 1231, /* 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 */ @@ -44363,8 +45369,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x85E, 0x85F, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x984, 0x985, 0x98D, @@ -44450,6 +45456,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0xAE4, 0xAE6, 0xAF2, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -44529,7 +45537,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -44580,7 +45588,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD76, @@ -44705,7 +45713,9 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x1380, 0x139A, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1400, 0x169D, 0x16A0, @@ -44835,11 +45845,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x2090, 0x209D, 0x20A0, - 0x20BE, + 0x20BF, 0x20D0, 0x20F1, 0x2100, - 0x218A, + 0x218C, 0x2190, 0x23FB, 0x2400, @@ -44856,6 +45866,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x2BC9, 0x2BCA, 0x2BD2, + 0x2BEC, + 0x2BF0, 0x2C00, 0x2C2F, 0x2C30, @@ -44921,7 +45933,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x3300, 0x4DB6, 0x4DC0, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA490, @@ -44929,15 +45941,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0xA4D0, 0xA62C, 0xA640, - 0xA69E, - 0xA69F, 0xA6F8, 0xA700, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA82C, 0xA830, @@ -44949,7 +45957,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0xA8CE, 0xA8DA, 0xA8E0, - 0xA8FC, + 0xA8FE, 0xA900, 0xA954, 0xA95F, @@ -44981,10 +45989,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEE, 0xABF0, 0xABFA, @@ -45025,8 +46031,6 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0xFE00, 0xFE1A, 0xFE20, - 0xFE2E, - 0xFE30, 0xFE53, 0xFE54, 0xFE67, @@ -45130,7 +46134,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x1089F, 0x108A7, 0x108B0, - 0x10900, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, + 0x108FB, 0x1091C, 0x1091F, 0x1093A, @@ -45138,9 +46146,9 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x10940, 0x10980, 0x109B8, - 0x109BE, - 0x109C0, - 0x10A00, + 0x109BC, + 0x109D0, + 0x109D2, 0x10A04, 0x10A05, 0x10A07, @@ -45176,6 +46184,12 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x10BB0, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, + 0x10CFA, + 0x10D00, 0x10E60, 0x10E7F, 0x11000, @@ -45195,22 +46209,30 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x11150, 0x11177, 0x11180, - 0x111C9, - 0x111CD, 0x111CE, 0x111D0, - 0x111DB, + 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123E, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -45230,6 +46252,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -45245,7 +46269,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x11580, 0x115B6, 0x115B8, - 0x115CA, + 0x115DE, 0x11600, 0x11645, 0x11650, @@ -45254,6 +46278,12 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x11740, 0x118A0, 0x118F3, 0x118FF, @@ -45261,13 +46291,17 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -45313,7 +46347,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x1D100, 0x1D127, 0x1D129, - 0x1D1DE, + 0x1D1E9, 0x1D200, 0x1D246, 0x1D300, @@ -45361,7 +46395,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x1D6A8, 0x1D7CC, 0x1D7CE, - 0x1D800, + 0x1DA8C, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8C7, @@ -45463,25 +46501,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x1F250, 0x1F252, 0x1F300, - 0x1F32D, - 0x1F330, - 0x1F37E, - 0x1F380, - 0x1F3CF, - 0x1F3D4, - 0x1F3F8, - 0x1F400, - 0x1F4FF, - 0x1F500, - 0x1F54B, - 0x1F550, 0x1F57A, 0x1F57B, 0x1F5A4, 0x1F5A5, - 0x1F643, - 0x1F645, - 0x1F6D0, + 0x1F6D1, 0x1F6E0, 0x1F6ED, 0x1F6F0, @@ -45500,12 +46524,20 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F910, + 0x1F919, + 0x1F980, + 0x1F985, + 0x1F9C0, + 0x1F9C1, 0x20000, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0001, @@ -45521,7 +46553,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */ }; static const UV XPosixPunct_invlist[] = { /* for EBCDIC 1047 */ - 309, /* Number of elements */ + 321, /* 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 */ @@ -45726,6 +46758,8 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC 1047 */ 0xA8D0, 0xA8F8, 0xA8FB, + 0xA8FC, + 0xA8FD, 0xA92E, 0xA930, 0xA95F, @@ -45811,17 +46845,25 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC 1047 */ 0x11174, 0x11176, 0x111C5, - 0x111C9, + 0x111CA, 0x111CD, 0x111CE, + 0x111DB, + 0x111DC, + 0x111DD, + 0x111E0, 0x11238, 0x1123E, + 0x112A9, + 0x112AA, 0x114C6, 0x114C7, 0x115C1, - 0x115CA, + 0x115D8, 0x11641, 0x11644, + 0x1173C, + 0x1173F, 0x12470, 0x12475, 0x16A6E, @@ -45833,7 +46875,9 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC 1047 */ 0x16B44, 0x16B45, 0x1BC9F, - 0x1BCA0 + 0x1BCA0, + 0x1DA87, + 0x1DA8C }; static const UV XPosixSpace_invlist[] = { /* for EBCDIC 1047 */ @@ -45867,7 +46911,7 @@ static const UV XPosixSpace_invlist[] = { /* for EBCDIC 1047 */ }; static const UV XPosixUpper_invlist[] = { /* for EBCDIC 1047 */ - 1273, /* Number of elements */ + 1279, /* 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 */ @@ -46440,6 +47484,8 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC 1047 */ 0x10C8, 0x10CD, 0x10CE, + 0x13A0, + 0x13F6, 0x1E00, 0x1E01, 0x1E02, @@ -47069,11 +48115,15 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC 1047 */ 0xA7AA, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B5, + 0xA7B6, + 0xA7B7, 0xFF21, 0xFF3B, 0x10400, 0x10428, + 0x10C80, + 0x10CB3, 0x118A0, 0x118C0, 0x1D400, @@ -47147,7 +48197,7 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC 1047 */ }; static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ - 1285, /* Number of elements */ + 1335, /* 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 */ @@ -47273,8 +48323,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0x840, 0x85C, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x964, 0x966, 0x970, @@ -47364,6 +48414,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -47445,7 +48497,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -47494,7 +48546,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD70, @@ -47639,7 +48691,9 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -47885,7 +48939,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -47899,19 +48953,15 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0xA674, 0xA67E, 0xA67F, - 0xA69E, - 0xA69F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA828, 0xA840, @@ -47924,6 +48974,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA92E, 0xA930, @@ -47965,10 +49017,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEB, 0xABEC, 0xABEE, @@ -48013,7 +49063,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0xFE00, 0xFE10, 0xFE20, - 0xFE2E, + 0xFE30, 0xFE33, 0xFE35, 0xFE4D, @@ -48108,6 +49158,10 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -48148,6 +49202,10 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11047, 0x11066, @@ -48168,17 +49226,31 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0x11177, 0x11180, 0x111C5, + 0x111CA, + 0x111CD, 0x111D0, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -48198,6 +49270,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -48216,6 +49290,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0x115B6, 0x115B8, 0x115C1, + 0x115D8, + 0x115DE, 0x11600, 0x11641, 0x11644, @@ -48226,6 +49302,12 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, 0x118A0, 0x118EA, 0x118FF, @@ -48233,11 +49315,15 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -48350,6 +49436,18 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0x1D7CC, 0x1D7CE, 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8D0, @@ -48432,6 +49530,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0100, @@ -48533,7 +49633,7 @@ static const UV ASCII_invlist[] = { /* for EBCDIC 037 */ }; static const UV Cased_invlist[] = { /* for EBCDIC 037 */ - 277, /* Number of elements */ + 285, /* 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 */ @@ -48620,6 +49720,10 @@ static const UV Cased_invlist[] = { /* for EBCDIC 037 */ 0x10C8, 0x10CD, 0x10CE, + 0x13A0, + 0x13F6, + 0x13F8, + 0x13FE, 0x1D00, 0x1DC0, 0x1E00, @@ -48727,15 +49831,15 @@ static const UV Cased_invlist[] = { /* for EBCDIC 037 */ 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, + 0xAB70, + 0xABC0, 0xFB00, 0xFB07, 0xFB13, @@ -48746,6 +49850,10 @@ static const UV Cased_invlist[] = { /* for EBCDIC 037 */ 0xFF5B, 0x10400, 0x10450, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x118A0, 0x118E0, 0x1D400, @@ -48817,7 +49925,7 @@ static const UV Cased_invlist[] = { /* for EBCDIC 037 */ }; static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */ - 1484, /* Number of elements */ + 1502, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -48884,7 +49992,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */ 0x82E, 0x859, 0x85C, - 0x8E4, + 0x8E3, 0x903, 0x904, 0x93A, @@ -49152,10 +50260,6 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */ 0x1933, 0x1939, 0x193C, - 0x19B5, - 0x19B8, - 0x19BA, - 0x19BB, 0x1A17, 0x1A19, 0x1A1B, @@ -49256,7 +50360,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */ 0xA673, 0xA674, 0xA67E, - 0xA69F, + 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, @@ -50145,7 +51249,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */ 0xFE00, 0xFE10, 0xFE20, - 0xFE2E, + 0xFE30, 0xFEFF, 0xFF00, 0xFF9E, @@ -50201,6 +51305,8 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */ 0x111B6, 0x111BF, 0x111C1, + 0x111CA, + 0x111CD, 0x1122C, 0x1122F, 0x11232, @@ -50212,7 +51318,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */ 0x112E0, 0x112E3, 0x112EB, - 0x11301, + 0x11300, 0x11302, 0x11304, 0x1133C, @@ -50255,6 +51361,8 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */ 0x115BE, 0x115BF, 0x115C1, + 0x115DC, + 0x115DE, 0x11630, 0x11633, 0x1163B, @@ -50270,6 +51378,12 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */ 0x116B6, 0x116B7, 0x116B8, + 0x1171D, + 0x11720, + 0x11722, + 0x11726, + 0x11727, + 0x1172C, 0x16AF0, 0x16AF5, 0x16B30, @@ -50297,6 +51411,18 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC 037 */ 0x1D1AE, 0x1D242, 0x1D245, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E8D0, 0x1E8D7, 0x1F1E6, @@ -50662,10 +51788,6 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 037 */ GCB_SpacingMark, GCB_Extend, GCB_Other, - GCB_SpacingMark, - GCB_Other, - GCB_SpacingMark, - GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, @@ -51711,6 +52833,8 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 037 */ GCB_Extend, GCB_SpacingMark, GCB_Other, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, @@ -51765,6 +52889,8 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 037 */ GCB_SpacingMark, GCB_Extend, GCB_Other, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, @@ -51781,6 +52907,12 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 037 */ GCB_Extend, GCB_Other, GCB_Extend, + GCB_SpacingMark, + GCB_Extend, + GCB_SpacingMark, + GCB_Extend, + GCB_Other, + GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, @@ -51809,6 +52941,18 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC 037 */ GCB_Other, GCB_Extend, GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, GCB_Regional_Indicator, GCB_Other, GCB_Control, @@ -51874,7 +53018,7 @@ static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for EBCDIC 037 */ }; static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 037 */ - 263, /* Number of elements */ + 275, /* 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 */ @@ -51971,7 +53115,7 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 037 */ 0x28D, 0x292, 0x293, - 0x29E, + 0x29D, 0x29F, 0x2BC, 0x2BD, @@ -52029,6 +53173,10 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 037 */ 0x10C8, 0x10CD, 0x10CE, + 0x13A0, + 0x13F6, + 0x13F8, + 0x13FE, 0x1D79, 0x1D7A, 0x1D7D, @@ -52128,7 +53276,11 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 037 */ 0xA796, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, + 0xAB53, + 0xAB54, + 0xAB70, + 0xABC0, 0xFB00, 0xFB07, 0xFB13, @@ -52139,6 +53291,10 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 037 */ 0xFF5B, 0x10400, 0x10450, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x118A0, 0x118E0 }; @@ -52214,7 +53370,7 @@ static const UV _Perl_Folds_To_Multi_Char_invlist[] = { /* for EBCDIC 037 */ #if defined(PERL_IN_UTF8_C) static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ - 1287, /* Number of elements */ + 1337, /* 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 */ @@ -52338,8 +53494,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0x840, 0x85C, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x964, 0x966, 0x970, @@ -52429,6 +53585,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -52510,7 +53668,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -52559,7 +53717,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD70, @@ -52704,7 +53862,9 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -52948,7 +54108,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -52962,19 +54122,15 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0xA674, 0xA67E, 0xA67F, - 0xA69E, - 0xA69F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA828, 0xA840, @@ -52987,6 +54143,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA92E, 0xA930, @@ -53028,10 +54186,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEB, 0xABEC, 0xABEE, @@ -53078,7 +54234,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0xFE00, 0xFE10, 0xFE20, - 0xFE2E, + 0xFE30, 0xFE33, 0xFE35, 0xFE4D, @@ -53183,6 +54339,10 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -53223,6 +54383,10 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11047, 0x11066, @@ -53243,17 +54407,31 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0x11177, 0x11180, 0x111C5, + 0x111CA, + 0x111CD, 0x111D0, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -53273,6 +54451,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -53291,6 +54471,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0x115B6, 0x115B8, 0x115C1, + 0x115D8, + 0x115DE, 0x11600, 0x11641, 0x11644, @@ -53301,6 +54483,12 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, 0x118A0, 0x118EA, 0x118FF, @@ -53308,11 +54496,15 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -53425,6 +54617,18 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0x1D7CC, 0x1D7CE, 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8D0, @@ -53501,6 +54705,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0100, @@ -53508,7 +54714,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */ }; static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ - 1117, /* Number of elements */ + 1151, /* 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 */ @@ -53634,7 +54840,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0x840, 0x859, 0x8A0, - 0x8B3, + 0x8B5, 0x904, 0x93A, 0x93D, @@ -53705,6 +54911,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0xAD1, 0xAE0, 0xAE2, + 0xAF9, + 0xAFA, 0xB05, 0xB0D, 0xB0F, @@ -53758,7 +54966,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0xC3D, 0xC3E, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC62, 0xC85, @@ -53789,7 +54997,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0xD3E, 0xD4E, 0xD4F, - 0xD60, + 0xD5F, 0xD62, 0xD7A, 0xD80, @@ -53912,7 +55120,9 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -53957,8 +55167,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0x1975, 0x1980, 0x19AC, - 0x19C1, - 0x19C8, + 0x19B0, + 0x19CA, 0x1A00, 0x1A17, 0x1A20, @@ -54126,7 +55336,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -54148,11 +55358,9 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA802, 0xA803, @@ -54169,6 +55377,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA90A, 0xA926, 0xA930, @@ -54226,10 +55436,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABE3, 0xAC00, 0xD7A4, @@ -54363,6 +55571,10 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -54397,6 +55609,10 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11003, 0x11038, 0x11083, @@ -54415,10 +55631,22 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0x111C5, 0x111DA, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112DF, 0x11305, @@ -54435,6 +55663,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0x1133A, 0x1133D, 0x1133E, + 0x11350, + 0x11351, 0x1135D, 0x11362, 0x11480, @@ -54445,12 +55675,16 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0x114C8, 0x11580, 0x115AF, + 0x115D8, + 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, + 0x11700, + 0x1171A, 0x118A0, 0x118E0, 0x118FF, @@ -54458,11 +55692,15 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -54627,6 +55865,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E }; @@ -54636,7 +55876,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */ #if defined(PERL_IN_PERL_C) static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ - 2855, /* Number of elements */ + 2916, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -55362,8 +56602,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0x859, 0x85C, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x904, 0x93A, 0x93D, @@ -55473,6 +56713,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -55559,7 +56801,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC62, 0xC64, @@ -55614,7 +56856,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD62, 0xD64, 0xD66, @@ -55794,7 +57036,9 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166E, @@ -55869,8 +57113,6 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0x1980, 0x19AC, 0x19B0, - 0x19C1, - 0x19C8, 0x19CA, 0x19D0, 0x19DA, @@ -56557,7 +57799,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -56651,7 +57893,6 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0xA69A, 0xA69B, 0xA69E, - 0xA69F, 0xA6A0, 0xA6F0, 0xA6F2, @@ -56785,7 +58026,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0xA7AA, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B5, + 0xA7B6, + 0xA7B7, + 0xA7B8, 0xA7F7, 0xA7F8, 0xA7FB, @@ -56813,6 +58057,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA90A, 0xA926, @@ -56886,9 +58132,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, + 0xAB70, 0xABC0, 0xABE3, 0xABEB, @@ -56943,7 +58188,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0xFE17, 0xFE19, 0xFE20, - 0xFE2E, + 0xFE30, 0xFE31, 0xFE33, 0xFE35, @@ -57077,6 +58322,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -57122,6 +58371,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11003, 0x11038, @@ -57159,11 +58412,16 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0x111C1, 0x111C5, 0x111C7, + 0x111CA, 0x111CD, 0x111CE, 0x111D0, 0x111DA, 0x111DB, + 0x111DC, + 0x111DD, + 0x111DE, + 0x111E0, 0x11200, 0x11212, 0x11213, @@ -57172,12 +58430,23 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0x1123A, 0x1123B, 0x1123D, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, + 0x112AA, 0x112B0, 0x112DF, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -57199,6 +58468,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -57224,7 +58495,9 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0x115C2, 0x115C4, 0x115C9, - 0x115CA, + 0x115D8, + 0x115DC, + 0x115DE, 0x11600, 0x11630, 0x11641, @@ -57238,6 +58511,14 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, + 0x1173C, + 0x1173F, 0x118A0, 0x118C0, 0x118E0, @@ -57247,11 +58528,15 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -57403,6 +58688,20 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0x1D7CC, 0x1D7CE, 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA88, + 0x1DA89, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8D0, @@ -57487,6 +58786,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC 037 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0001, @@ -58356,6 +59657,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_Numeric, SB_Other, + SB_OLetter, + SB_Other, SB_Extend, SB_Other, SB_OLetter, @@ -58676,7 +59979,9 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_OLetter, SB_Other, - SB_OLetter, + SB_Upper, + SB_Other, + SB_Lower, SB_Other, SB_OLetter, SB_Other, @@ -58751,9 +60056,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_OLetter, SB_Other, - SB_Extend, SB_OLetter, - SB_Extend, SB_Other, SB_Numeric, SB_Other, @@ -59533,7 +60836,6 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_Lower, SB_Upper, SB_Lower, - SB_Other, SB_Extend, SB_OLetter, SB_Extend, @@ -59640,7 +60942,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_Lower, SB_Upper, SB_Lower, - SB_Other, + SB_OLetter, SB_Upper, SB_Lower, SB_Upper, @@ -59668,6 +60970,9 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_Upper, SB_Other, SB_Upper, + SB_Lower, + SB_Upper, + SB_Lower, SB_Other, SB_OLetter, SB_Lower, @@ -59696,6 +61001,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, SB_Numeric, SB_OLetter, SB_Extend, @@ -59771,7 +61078,6 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_Lower, SB_Other, SB_Lower, - SB_Other, SB_OLetter, SB_Extend, SB_STerm, @@ -59969,6 +61275,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_OLetter, SB_Other, SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, SB_Extend, SB_Other, SB_Extend, @@ -60005,6 +61315,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_OLetter, SB_Other, + SB_Upper, + SB_Other, + SB_Lower, + SB_Other, SB_Extend, SB_OLetter, SB_Extend, @@ -60042,6 +61356,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_OLetter, SB_STerm, SB_Other, + SB_Extend, SB_STerm, SB_Other, SB_Numeric, @@ -60049,6 +61364,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_OLetter, SB_Other, + SB_STerm, + SB_Other, + SB_OLetter, + SB_Other, SB_OLetter, SB_Extend, SB_STerm, @@ -60056,6 +61375,17 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_STerm, SB_Other, SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_STerm, + SB_Other, + SB_OLetter, SB_Extend, SB_Other, SB_Numeric, @@ -60082,6 +61412,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_Extend, SB_Other, + SB_OLetter, + SB_Other, SB_Extend, SB_Other, SB_OLetter, @@ -60107,6 +61439,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_STerm, SB_Other, SB_STerm, + SB_OLetter, + SB_Extend, SB_Other, SB_OLetter, SB_Extend, @@ -60121,6 +61455,14 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_Numeric, SB_Other, + SB_OLetter, + SB_Other, + SB_Extend, + SB_Other, + SB_Numeric, + SB_Other, + SB_STerm, + SB_Other, SB_Upper, SB_Lower, SB_Numeric, @@ -60139,6 +61481,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, SB_Numeric, SB_Other, SB_STerm, @@ -60286,6 +61632,20 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_Numeric, SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_STerm, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, SB_OLetter, SB_Other, SB_Extend, @@ -60372,6 +61732,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, SB_Format, SB_Other, SB_Format, @@ -60469,7 +61831,7 @@ static const UV VertSpace_invlist[] = { /* for EBCDIC 037 */ }; static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ - 1501, /* Number of elements */ + 1545, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -60659,8 +62021,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0x859, 0x85C, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x904, 0x93A, 0x93D, @@ -60770,6 +62132,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -60856,7 +62220,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC62, 0xC64, @@ -60911,7 +62275,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD62, 0xD64, 0xD66, @@ -61052,7 +62416,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -61107,10 +62473,6 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0x193C, 0x1946, 0x1950, - 0x19B0, - 0x19C1, - 0x19C8, - 0x19CA, 0x19D0, 0x19DA, 0x1A00, @@ -61352,7 +62714,6 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0xA67E, 0xA67F, 0xA69E, - 0xA69F, 0xA6A0, 0xA6F0, 0xA6F2, @@ -61361,11 +62722,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA802, 0xA803, @@ -61388,6 +62747,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA90A, 0xA926, @@ -61449,10 +62810,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABE3, 0xABEB, 0xABEC, @@ -61501,7 +62860,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0xFE14, 0xFE15, 0xFE20, - 0xFE2E, + 0xFE30, 0xFE33, 0xFE35, 0xFE4D, @@ -61616,6 +62975,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -61659,6 +63022,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11003, 0x11038, @@ -61691,20 +63058,34 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0x111B3, 0x111C1, 0x111C5, + 0x111CA, + 0x111CD, 0x111D0, 0x111DA, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112DF, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -61726,6 +63107,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -61748,6 +63131,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0x115B6, 0x115B8, 0x115C1, + 0x115D8, + 0x115DC, + 0x115DE, 0x11600, 0x11630, 0x11641, @@ -61760,6 +63146,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0x116B8, 0x116C0, 0x116CA, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, 0x118A0, 0x118E0, 0x118EA, @@ -61768,11 +63158,15 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -61890,6 +63284,18 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC 037 */ 0x1D7CC, 0x1D7CE, 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8D0, @@ -62302,6 +63708,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_Numeric, WB_Other, + WB_ALetter, + WB_Other, WB_Extend, WB_Other, WB_ALetter, @@ -62598,6 +64006,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */ WB_ALetter, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_ALetter, @@ -62639,10 +64049,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_Numeric, WB_Other, - WB_Extend, - WB_Other, - WB_Extend, - WB_Other, WB_Numeric, WB_Other, WB_ALetter, @@ -62883,7 +64289,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */ WB_Extend, WB_Other, WB_ALetter, - WB_Other, WB_Extend, WB_ALetter, WB_Extend, @@ -62897,8 +64302,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */ WB_ALetter, WB_Other, WB_ALetter, - WB_Other, - WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, @@ -62920,6 +64323,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, WB_Numeric, WB_ALetter, WB_Extend, @@ -62983,8 +64388,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */ WB_ALetter, WB_Other, WB_ALetter, - WB_Other, - WB_ALetter, WB_Extend, WB_Other, WB_Extend, @@ -63157,6 +64560,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */ WB_ALetter, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_Extend, @@ -63191,6 +64598,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, WB_Extend, WB_ALetter, WB_Extend, @@ -63223,15 +64634,29 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */ WB_Extend, WB_ALetter, WB_Other, + WB_Extend, + WB_Other, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_Numeric, @@ -63258,6 +64683,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_Extend, WB_Other, + WB_ALetter, + WB_Other, WB_Extend, WB_Other, WB_ALetter, @@ -63284,6 +64711,9 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */ WB_Extend, WB_Other, WB_ALetter, + WB_Extend, + WB_Other, + WB_ALetter, WB_Other, WB_Numeric, WB_Other, @@ -63292,6 +64722,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_Numeric, WB_Other, + WB_Extend, + WB_Other, + WB_Numeric, + WB_Other, WB_ALetter, WB_Numeric, WB_Other, @@ -63309,6 +64743,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, WB_Numeric, WB_Other, WB_ALetter, @@ -63422,6 +64860,18 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_Numeric, WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, WB_ALetter, WB_Other, WB_Extend, @@ -63543,7 +64993,7 @@ static const UV XPerlSpace_invlist[] = { /* for EBCDIC 037 */ }; static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ - 1281, /* Number of elements */ + 1317, /* 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 */ @@ -63671,8 +65121,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0x840, 0x859, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x8EA, 0x8F0, 0x93C, @@ -63770,6 +65220,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -63851,7 +65303,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -63902,7 +65354,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD70, @@ -64051,7 +65503,9 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -64295,7 +65749,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -64309,19 +65763,15 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0xA674, 0xA67C, 0xA67F, - 0xA69E, - 0xA69F, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA802, 0xA803, @@ -64340,6 +65790,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA92B, 0xA930, @@ -64391,10 +65843,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEB, 0xABF0, 0xABFA, @@ -64518,6 +65968,10 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -64554,6 +66008,10 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11046, 0x11066, @@ -64578,17 +66036,29 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0x111C5, 0x111D0, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x11235, 0x11237, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112E9, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -64608,6 +66078,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0x11349, 0x1134B, 0x1134D, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -64624,6 +66096,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0x115B6, 0x115B8, 0x115BF, + 0x115D8, + 0x115DE, 0x11600, 0x1163F, 0x11640, @@ -64636,6 +66110,12 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0x116B6, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172B, + 0x11730, + 0x1173A, 0x118A0, 0x118EA, 0x118FF, @@ -64643,11 +66123,15 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -64826,12 +66310,14 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E }; static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ - 1223, /* Number of elements */ + 1257, /* 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 */ @@ -64961,8 +66447,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0x840, 0x859, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x8EA, 0x8F0, 0x93C, @@ -65056,6 +66542,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0xAD1, 0xAE0, 0xAE4, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -65133,7 +66621,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC81, @@ -65180,7 +66668,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD7A, 0xD80, @@ -65317,7 +66805,9 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -65551,7 +67041,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -65567,19 +67057,15 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0xA674, 0xA67C, 0xA67F, - 0xA69E, - 0xA69F, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA802, 0xA803, @@ -65596,6 +67082,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA90A, 0xA92B, 0xA930, @@ -65647,10 +67135,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEB, 0xAC00, 0xD7A4, @@ -65768,6 +67254,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -65804,6 +67294,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11046, 0x11082, @@ -65822,15 +67316,27 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0x111C5, 0x111DA, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x11235, 0x11237, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112E9, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -65850,6 +67356,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0x11349, 0x1134B, 0x1134D, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -65864,6 +67372,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0x115B6, 0x115B8, 0x115BF, + 0x115D8, + 0x115DE, 0x11600, 0x1163F, 0x11640, @@ -65872,6 +67382,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0x11645, 0x11680, 0x116B6, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172B, 0x118A0, 0x118E0, 0x118FF, @@ -65879,11 +67393,15 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -66056,6 +67574,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E }; @@ -66094,7 +67614,7 @@ static const UV XPosixCntrl_invlist[] = { /* for EBCDIC 037 */ }; static const UV XPosixDigit_invlist[] = { /* for EBCDIC 037 */ - 101, /* Number of elements */ + 103, /* 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 */ @@ -66191,6 +67711,8 @@ static const UV XPosixDigit_invlist[] = { /* for EBCDIC 037 */ 0x1165A, 0x116C0, 0x116CA, + 0x11730, + 0x1173A, 0x118E0, 0x118EA, 0x16A60, @@ -66202,7 +67724,7 @@ static const UV XPosixDigit_invlist[] = { /* for EBCDIC 037 */ }; static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ - 1211, /* Number of elements */ + 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 */ @@ -66256,8 +67778,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x85E, 0x85F, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x984, 0x985, 0x98D, @@ -66343,6 +67865,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0xAE4, 0xAE6, 0xAF2, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -66422,7 +67946,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -66473,7 +67997,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD76, @@ -66598,7 +68122,9 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x1380, 0x139A, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1400, 0x1680, 0x1681, @@ -66734,11 +68260,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x2090, 0x209D, 0x20A0, - 0x20BE, + 0x20BF, 0x20D0, 0x20F1, 0x2100, - 0x218A, + 0x218C, 0x2190, 0x23FB, 0x2400, @@ -66755,6 +68281,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x2BC9, 0x2BCA, 0x2BD2, + 0x2BEC, + 0x2BF0, 0x2C00, 0x2C2F, 0x2C30, @@ -66820,7 +68348,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x3300, 0x4DB6, 0x4DC0, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA490, @@ -66828,15 +68356,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0xA4D0, 0xA62C, 0xA640, - 0xA69E, - 0xA69F, 0xA6F8, 0xA700, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA82C, 0xA830, @@ -66848,7 +68372,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0xA8CE, 0xA8DA, 0xA8E0, - 0xA8FC, + 0xA8FE, 0xA900, 0xA954, 0xA95F, @@ -66880,10 +68404,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEE, 0xABF0, 0xABFA, @@ -66924,8 +68446,6 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0xFE00, 0xFE1A, 0xFE20, - 0xFE2E, - 0xFE30, 0xFE53, 0xFE54, 0xFE67, @@ -67029,7 +68549,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x1089F, 0x108A7, 0x108B0, - 0x10900, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, + 0x108FB, 0x1091C, 0x1091F, 0x1093A, @@ -67037,9 +68561,9 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x10940, 0x10980, 0x109B8, - 0x109BE, - 0x109C0, - 0x10A00, + 0x109BC, + 0x109D0, + 0x109D2, 0x10A04, 0x10A05, 0x10A07, @@ -67075,6 +68599,12 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x10BB0, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, + 0x10CFA, + 0x10D00, 0x10E60, 0x10E7F, 0x11000, @@ -67094,22 +68624,30 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x11150, 0x11177, 0x11180, - 0x111C9, - 0x111CD, 0x111CE, 0x111D0, - 0x111DB, + 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123E, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -67129,6 +68667,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -67144,7 +68684,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x11580, 0x115B6, 0x115B8, - 0x115CA, + 0x115DE, 0x11600, 0x11645, 0x11650, @@ -67153,6 +68693,12 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x11740, 0x118A0, 0x118F3, 0x118FF, @@ -67160,13 +68706,17 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -67212,7 +68762,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x1D100, 0x1D127, 0x1D129, - 0x1D1DE, + 0x1D1E9, 0x1D200, 0x1D246, 0x1D300, @@ -67260,7 +68810,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x1D6A8, 0x1D7CC, 0x1D7CE, - 0x1D800, + 0x1DA8C, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8C7, @@ -67362,25 +68916,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x1F250, 0x1F252, 0x1F300, - 0x1F32D, - 0x1F330, - 0x1F37E, - 0x1F380, - 0x1F3CF, - 0x1F3D4, - 0x1F3F8, - 0x1F400, - 0x1F4FF, - 0x1F500, - 0x1F54B, - 0x1F550, 0x1F57A, 0x1F57B, 0x1F5A4, 0x1F5A5, - 0x1F643, - 0x1F645, - 0x1F6D0, + 0x1F6D1, 0x1F6E0, 0x1F6ED, 0x1F6F0, @@ -67399,12 +68939,20 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F910, + 0x1F919, + 0x1F980, + 0x1F985, + 0x1F9C0, + 0x1F9C1, 0x20000, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0001, @@ -67420,7 +68968,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */ }; static const UV XPosixLower_invlist[] = { /* for EBCDIC 037 */ - 1275, /* Number of elements */ + 1283, /* 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 */ @@ -67983,6 +69531,8 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 037 */ 0x530, 0x561, 0x588, + 0x13F8, + 0x13FE, 0x1D00, 0x1DC0, 0x1E01, @@ -68625,14 +70175,18 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 037 */ 0xA7A8, 0xA7A9, 0xA7AA, + 0xA7B5, + 0xA7B6, + 0xA7B7, + 0xA7B8, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, + 0xAB70, + 0xABC0, 0xFB00, 0xFB07, 0xFB13, @@ -68641,6 +70195,8 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 037 */ 0xFF5B, 0x10428, 0x10450, + 0x10CC0, + 0x10CF3, 0x118C0, 0x118E0, 0x1D41A, @@ -68702,7 +70258,7 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC 037 */ }; static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ - 1205, /* Number of elements */ + 1231, /* 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 */ @@ -68756,8 +70312,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x85E, 0x85F, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x984, 0x985, 0x98D, @@ -68843,6 +70399,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0xAE4, 0xAE6, 0xAF2, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -68922,7 +70480,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -68973,7 +70531,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD76, @@ -69098,7 +70656,9 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x1380, 0x139A, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1400, 0x169D, 0x16A0, @@ -69228,11 +70788,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x2090, 0x209D, 0x20A0, - 0x20BE, + 0x20BF, 0x20D0, 0x20F1, 0x2100, - 0x218A, + 0x218C, 0x2190, 0x23FB, 0x2400, @@ -69249,6 +70809,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x2BC9, 0x2BCA, 0x2BD2, + 0x2BEC, + 0x2BF0, 0x2C00, 0x2C2F, 0x2C30, @@ -69314,7 +70876,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x3300, 0x4DB6, 0x4DC0, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA490, @@ -69322,15 +70884,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0xA4D0, 0xA62C, 0xA640, - 0xA69E, - 0xA69F, 0xA6F8, 0xA700, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA82C, 0xA830, @@ -69342,7 +70900,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0xA8CE, 0xA8DA, 0xA8E0, - 0xA8FC, + 0xA8FE, 0xA900, 0xA954, 0xA95F, @@ -69374,10 +70932,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEE, 0xABF0, 0xABFA, @@ -69418,8 +70974,6 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0xFE00, 0xFE1A, 0xFE20, - 0xFE2E, - 0xFE30, 0xFE53, 0xFE54, 0xFE67, @@ -69523,7 +71077,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x1089F, 0x108A7, 0x108B0, - 0x10900, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, + 0x108FB, 0x1091C, 0x1091F, 0x1093A, @@ -69531,9 +71089,9 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x10940, 0x10980, 0x109B8, - 0x109BE, - 0x109C0, - 0x10A00, + 0x109BC, + 0x109D0, + 0x109D2, 0x10A04, 0x10A05, 0x10A07, @@ -69569,6 +71127,12 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x10BB0, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, + 0x10CFA, + 0x10D00, 0x10E60, 0x10E7F, 0x11000, @@ -69588,22 +71152,30 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x11150, 0x11177, 0x11180, - 0x111C9, - 0x111CD, 0x111CE, 0x111D0, - 0x111DB, + 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123E, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -69623,6 +71195,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -69638,7 +71212,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x11580, 0x115B6, 0x115B8, - 0x115CA, + 0x115DE, 0x11600, 0x11645, 0x11650, @@ -69647,6 +71221,12 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x11740, 0x118A0, 0x118F3, 0x118FF, @@ -69654,13 +71234,17 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -69706,7 +71290,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x1D100, 0x1D127, 0x1D129, - 0x1D1DE, + 0x1D1E9, 0x1D200, 0x1D246, 0x1D300, @@ -69754,7 +71338,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x1D6A8, 0x1D7CC, 0x1D7CE, - 0x1D800, + 0x1DA8C, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8C7, @@ -69856,25 +71444,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x1F250, 0x1F252, 0x1F300, - 0x1F32D, - 0x1F330, - 0x1F37E, - 0x1F380, - 0x1F3CF, - 0x1F3D4, - 0x1F3F8, - 0x1F400, - 0x1F4FF, - 0x1F500, - 0x1F54B, - 0x1F550, 0x1F57A, 0x1F57B, 0x1F5A4, 0x1F5A5, - 0x1F643, - 0x1F645, - 0x1F6D0, + 0x1F6D1, 0x1F6E0, 0x1F6ED, 0x1F6F0, @@ -69893,12 +71467,20 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F910, + 0x1F919, + 0x1F980, + 0x1F985, + 0x1F9C0, + 0x1F9C1, 0x20000, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0001, @@ -69914,7 +71496,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */ }; static const UV XPosixPunct_invlist[] = { /* for EBCDIC 037 */ - 311, /* Number of elements */ + 323, /* 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 */ @@ -70121,6 +71703,8 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC 037 */ 0xA8D0, 0xA8F8, 0xA8FB, + 0xA8FC, + 0xA8FD, 0xA92E, 0xA930, 0xA95F, @@ -70206,17 +71790,25 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC 037 */ 0x11174, 0x11176, 0x111C5, - 0x111C9, + 0x111CA, 0x111CD, 0x111CE, + 0x111DB, + 0x111DC, + 0x111DD, + 0x111E0, 0x11238, 0x1123E, + 0x112A9, + 0x112AA, 0x114C6, 0x114C7, 0x115C1, - 0x115CA, + 0x115D8, 0x11641, 0x11644, + 0x1173C, + 0x1173F, 0x12470, 0x12475, 0x16A6E, @@ -70228,7 +71820,9 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC 037 */ 0x16B44, 0x16B45, 0x1BC9F, - 0x1BCA0 + 0x1BCA0, + 0x1DA87, + 0x1DA8C }; static const UV XPosixSpace_invlist[] = { /* for EBCDIC 037 */ @@ -70262,7 +71856,7 @@ static const UV XPosixSpace_invlist[] = { /* for EBCDIC 037 */ }; static const UV XPosixUpper_invlist[] = { /* for EBCDIC 037 */ - 1269, /* Number of elements */ + 1275, /* 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 */ @@ -70831,6 +72425,8 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC 037 */ 0x10C8, 0x10CD, 0x10CE, + 0x13A0, + 0x13F6, 0x1E00, 0x1E01, 0x1E02, @@ -71460,11 +73056,15 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC 037 */ 0xA7AA, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B5, + 0xA7B6, + 0xA7B7, 0xFF21, 0xFF3B, 0x10400, 0x10428, + 0x10C80, + 0x10CB3, 0x118A0, 0x118C0, 0x1D400, @@ -71538,7 +73138,7 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC 037 */ }; static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ - 1281, /* Number of elements */ + 1331, /* 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 */ @@ -71660,8 +73260,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0x840, 0x85C, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x964, 0x966, 0x970, @@ -71751,6 +73351,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -71832,7 +73434,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -71881,7 +73483,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD70, @@ -72026,7 +73628,9 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -72272,7 +73876,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -72286,19 +73890,15 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0xA674, 0xA67E, 0xA67F, - 0xA69E, - 0xA69F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA828, 0xA840, @@ -72311,6 +73911,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA92E, 0xA930, @@ -72352,10 +73954,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEB, 0xABEC, 0xABEE, @@ -72400,7 +74000,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0xFE00, 0xFE10, 0xFE20, - 0xFE2E, + 0xFE30, 0xFE33, 0xFE35, 0xFE4D, @@ -72495,6 +74095,10 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -72535,6 +74139,10 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11047, 0x11066, @@ -72555,17 +74163,31 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0x11177, 0x11180, 0x111C5, + 0x111CA, + 0x111CD, 0x111D0, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -72585,6 +74207,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -72603,6 +74227,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0x115B6, 0x115B8, 0x115C1, + 0x115D8, + 0x115DE, 0x11600, 0x11641, 0x11644, @@ -72613,6 +74239,12 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, 0x118A0, 0x118EA, 0x118FF, @@ -72620,11 +74252,15 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -72737,6 +74373,18 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0x1D7CC, 0x1D7CE, 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8D0, @@ -72819,6 +74467,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0100, @@ -72922,7 +74572,7 @@ static const UV ASCII_invlist[] = { /* for EBCDIC POSIX-BC */ }; static const UV Cased_invlist[] = { /* for EBCDIC POSIX-BC */ - 279, /* Number of elements */ + 287, /* 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 */ @@ -73011,6 +74661,10 @@ static const UV Cased_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10C8, 0x10CD, 0x10CE, + 0x13A0, + 0x13F6, + 0x13F8, + 0x13FE, 0x1D00, 0x1DC0, 0x1E00, @@ -73118,15 +74772,15 @@ static const UV Cased_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, + 0xAB70, + 0xABC0, 0xFB00, 0xFB07, 0xFB13, @@ -73137,6 +74791,10 @@ static const UV Cased_invlist[] = { /* for EBCDIC POSIX-BC */ 0xFF5B, 0x10400, 0x10450, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x118A0, 0x118E0, 0x1D400, @@ -73208,7 +74866,7 @@ static const UV Cased_invlist[] = { /* for EBCDIC POSIX-BC */ }; static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */ - 1484, /* Number of elements */ + 1502, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -73275,7 +74933,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x82E, 0x859, 0x85C, - 0x8E4, + 0x8E3, 0x903, 0x904, 0x93A, @@ -73543,10 +75201,6 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1933, 0x1939, 0x193C, - 0x19B5, - 0x19B8, - 0x19BA, - 0x19BB, 0x1A17, 0x1A19, 0x1A1B, @@ -73647,7 +75301,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA673, 0xA674, 0xA67E, - 0xA69F, + 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, @@ -74536,7 +76190,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xFE00, 0xFE10, 0xFE20, - 0xFE2E, + 0xFE30, 0xFEFF, 0xFF00, 0xFF9E, @@ -74592,6 +76246,8 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x111B6, 0x111BF, 0x111C1, + 0x111CA, + 0x111CD, 0x1122C, 0x1122F, 0x11232, @@ -74603,7 +76259,7 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x112E0, 0x112E3, 0x112EB, - 0x11301, + 0x11300, 0x11302, 0x11304, 0x1133C, @@ -74646,6 +76302,8 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x115BE, 0x115BF, 0x115C1, + 0x115DC, + 0x115DE, 0x11630, 0x11633, 0x1163B, @@ -74661,6 +76319,12 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x116B6, 0x116B7, 0x116B8, + 0x1171D, + 0x11720, + 0x11722, + 0x11726, + 0x11727, + 0x1172C, 0x16AF0, 0x16AF5, 0x16B30, @@ -74688,6 +76352,18 @@ static const UV Grapheme_Cluster_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1D1AE, 0x1D242, 0x1D245, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E8D0, 0x1E8D7, 0x1F1E6, @@ -75053,10 +76729,6 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC POSIX-BC GCB_SpacingMark, GCB_Extend, GCB_Other, - GCB_SpacingMark, - GCB_Other, - GCB_SpacingMark, - GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, @@ -76102,6 +77774,8 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC POSIX-BC GCB_Extend, GCB_SpacingMark, GCB_Other, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, @@ -76156,6 +77830,8 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC POSIX-BC GCB_SpacingMark, GCB_Extend, GCB_Other, + GCB_Extend, + GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, @@ -76172,6 +77848,12 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC POSIX-BC GCB_Extend, GCB_Other, GCB_Extend, + GCB_SpacingMark, + GCB_Extend, + GCB_SpacingMark, + GCB_Extend, + GCB_Other, + GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, @@ -76200,6 +77882,18 @@ static const GCB_enum Grapheme_Cluster_Break_invmap[] = { /* for EBCDIC POSIX-BC GCB_Other, GCB_Extend, GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, + GCB_Extend, + GCB_Other, GCB_Regional_Indicator, GCB_Other, GCB_Control, @@ -76265,7 +77959,7 @@ static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for EBCDIC POSIX-BC }; static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC POSIX-BC */ - 265, /* Number of elements */ + 277, /* 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 */ @@ -76364,7 +78058,7 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC POSIX-BC */ 0x28D, 0x292, 0x293, - 0x29E, + 0x29D, 0x29F, 0x2BC, 0x2BD, @@ -76422,6 +78116,10 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10C8, 0x10CD, 0x10CE, + 0x13A0, + 0x13F6, + 0x13F8, + 0x13FE, 0x1D79, 0x1D7A, 0x1D7D, @@ -76521,7 +78219,11 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA796, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, + 0xAB53, + 0xAB54, + 0xAB70, + 0xABC0, 0xFB00, 0xFB07, 0xFB13, @@ -76532,6 +78234,10 @@ static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC POSIX-BC */ 0xFF5B, 0x10400, 0x10450, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x118A0, 0x118E0 }; @@ -76607,7 +78313,7 @@ static const UV _Perl_Folds_To_Multi_Char_invlist[] = { /* for EBCDIC POSIX-BC * #if defined(PERL_IN_UTF8_C) static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ - 1289, /* Number of elements */ + 1339, /* 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 */ @@ -76733,8 +78439,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0x840, 0x85C, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x964, 0x966, 0x970, @@ -76824,6 +78530,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -76905,7 +78613,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -76954,7 +78662,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD70, @@ -77099,7 +78807,9 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -77343,7 +79053,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -77357,19 +79067,15 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA674, 0xA67E, 0xA67F, - 0xA69E, - 0xA69F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA828, 0xA840, @@ -77382,6 +79088,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA92E, 0xA930, @@ -77423,10 +79131,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEB, 0xABEC, 0xABEE, @@ -77473,7 +79179,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0xFE00, 0xFE10, 0xFE20, - 0xFE2E, + 0xFE30, 0xFE33, 0xFE35, 0xFE4D, @@ -77578,6 +79284,10 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -77618,6 +79328,10 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11047, 0x11066, @@ -77638,17 +79352,31 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11177, 0x11180, 0x111C5, + 0x111CA, + 0x111CD, 0x111D0, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -77668,6 +79396,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -77686,6 +79416,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0x115B6, 0x115B8, 0x115C1, + 0x115D8, + 0x115DE, 0x11600, 0x11641, 0x11644, @@ -77696,6 +79428,12 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, 0x118A0, 0x118EA, 0x118FF, @@ -77703,11 +79441,15 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -77820,6 +79562,18 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1D7CC, 0x1D7CE, 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8D0, @@ -77896,6 +79650,8 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0100, @@ -77903,7 +79659,7 @@ static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC POSIX-BC */ }; static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ - 1119, /* Number of elements */ + 1153, /* 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 */ @@ -78031,7 +79787,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0x840, 0x859, 0x8A0, - 0x8B3, + 0x8B5, 0x904, 0x93A, 0x93D, @@ -78102,6 +79858,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAD1, 0xAE0, 0xAE2, + 0xAF9, + 0xAFA, 0xB05, 0xB0D, 0xB0F, @@ -78155,7 +79913,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0xC3D, 0xC3E, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC62, 0xC85, @@ -78186,7 +79944,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0xD3E, 0xD4E, 0xD4F, - 0xD60, + 0xD5F, 0xD62, 0xD7A, 0xD80, @@ -78309,7 +80067,9 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -78354,8 +80114,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1975, 0x1980, 0x19AC, - 0x19C1, - 0x19C8, + 0x19B0, + 0x19CA, 0x1A00, 0x1A17, 0x1A20, @@ -78523,7 +80283,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -78545,11 +80305,9 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA802, 0xA803, @@ -78566,6 +80324,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA90A, 0xA926, 0xA930, @@ -78623,10 +80383,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABE3, 0xAC00, 0xD7A4, @@ -78760,6 +80518,10 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -78794,6 +80556,10 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11003, 0x11038, 0x11083, @@ -78812,10 +80578,22 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0x111C5, 0x111DA, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112DF, 0x11305, @@ -78832,6 +80610,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1133A, 0x1133D, 0x1133E, + 0x11350, + 0x11351, 0x1135D, 0x11362, 0x11480, @@ -78842,12 +80622,16 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0x114C8, 0x11580, 0x115AF, + 0x115D8, + 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, + 0x11700, + 0x1171A, 0x118A0, 0x118E0, 0x118FF, @@ -78855,11 +80639,15 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -79024,6 +80812,8 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E }; @@ -79033,7 +80823,7 @@ static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC POSIX-BC */ #if defined(PERL_IN_PERL_C) static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ - 2863, /* Number of elements */ + 2924, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -79767,8 +81557,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x859, 0x85C, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x904, 0x93A, 0x93D, @@ -79878,6 +81668,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -79964,7 +81756,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC62, 0xC64, @@ -80019,7 +81811,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD62, 0xD64, 0xD66, @@ -80199,7 +81991,9 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166E, @@ -80274,8 +82068,6 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1980, 0x19AC, 0x19B0, - 0x19C1, - 0x19C8, 0x19CA, 0x19D0, 0x19DA, @@ -80962,7 +82754,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -81056,7 +82848,6 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA69A, 0xA69B, 0xA69E, - 0xA69F, 0xA6A0, 0xA6F0, 0xA6F2, @@ -81190,7 +82981,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA7AA, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B5, + 0xA7B6, + 0xA7B7, + 0xA7B8, 0xA7F7, 0xA7F8, 0xA7FB, @@ -81218,6 +83012,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA90A, 0xA926, @@ -81291,9 +83087,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, + 0xAB70, 0xABC0, 0xABE3, 0xABEB, @@ -81348,7 +83143,7 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xFE17, 0xFE19, 0xFE20, - 0xFE2E, + 0xFE30, 0xFE31, 0xFE33, 0xFE35, @@ -81482,6 +83277,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -81527,6 +83326,10 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11003, 0x11038, @@ -81564,11 +83367,16 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x111C1, 0x111C5, 0x111C7, + 0x111CA, 0x111CD, 0x111CE, 0x111D0, 0x111DA, 0x111DB, + 0x111DC, + 0x111DD, + 0x111DE, + 0x111E0, 0x11200, 0x11212, 0x11213, @@ -81577,12 +83385,23 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1123A, 0x1123B, 0x1123D, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, + 0x112AA, 0x112B0, 0x112DF, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -81604,6 +83423,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -81629,7 +83450,9 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x115C2, 0x115C4, 0x115C9, - 0x115CA, + 0x115D8, + 0x115DC, + 0x115DE, 0x11600, 0x11630, 0x11641, @@ -81643,6 +83466,14 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, + 0x1173C, + 0x1173F, 0x118A0, 0x118C0, 0x118E0, @@ -81652,11 +83483,15 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -81808,6 +83643,20 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1D7CC, 0x1D7CE, 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA88, + 0x1DA89, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8D0, @@ -81892,6 +83741,8 @@ static const UV Sentence_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0001, @@ -82769,6 +84620,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_Other, SB_Numeric, SB_Other, + SB_OLetter, + SB_Other, SB_Extend, SB_Other, SB_OLetter, @@ -83089,7 +84942,9 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_Other, SB_OLetter, SB_Other, - SB_OLetter, + SB_Upper, + SB_Other, + SB_Lower, SB_Other, SB_OLetter, SB_Other, @@ -83164,9 +85019,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_Other, SB_OLetter, SB_Other, - SB_Extend, SB_OLetter, - SB_Extend, SB_Other, SB_Numeric, SB_Other, @@ -83946,7 +85799,6 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_Lower, SB_Upper, SB_Lower, - SB_Other, SB_Extend, SB_OLetter, SB_Extend, @@ -84053,7 +85905,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_Lower, SB_Upper, SB_Lower, - SB_Other, + SB_OLetter, SB_Upper, SB_Lower, SB_Upper, @@ -84081,6 +85933,9 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_Upper, SB_Other, SB_Upper, + SB_Lower, + SB_Upper, + SB_Lower, SB_Other, SB_OLetter, SB_Lower, @@ -84109,6 +85964,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, SB_Numeric, SB_OLetter, SB_Extend, @@ -84184,7 +86041,6 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_Lower, SB_Other, SB_Lower, - SB_Other, SB_OLetter, SB_Extend, SB_STerm, @@ -84382,6 +86238,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_OLetter, SB_Other, SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, SB_Extend, SB_Other, SB_Extend, @@ -84418,6 +86278,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_Other, SB_OLetter, SB_Other, + SB_Upper, + SB_Other, + SB_Lower, + SB_Other, SB_Extend, SB_OLetter, SB_Extend, @@ -84455,6 +86319,7 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_OLetter, SB_STerm, SB_Other, + SB_Extend, SB_STerm, SB_Other, SB_Numeric, @@ -84462,6 +86327,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_Other, SB_OLetter, SB_Other, + SB_STerm, + SB_Other, + SB_OLetter, + SB_Other, SB_OLetter, SB_Extend, SB_STerm, @@ -84469,6 +86338,17 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_STerm, SB_Other, SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_STerm, + SB_Other, + SB_OLetter, SB_Extend, SB_Other, SB_Numeric, @@ -84495,6 +86375,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_Other, SB_Extend, SB_Other, + SB_OLetter, + SB_Other, SB_Extend, SB_Other, SB_OLetter, @@ -84520,6 +86402,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_STerm, SB_Other, SB_STerm, + SB_OLetter, + SB_Extend, SB_Other, SB_OLetter, SB_Extend, @@ -84534,6 +86418,14 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_Other, SB_Numeric, SB_Other, + SB_OLetter, + SB_Other, + SB_Extend, + SB_Other, + SB_Numeric, + SB_Other, + SB_STerm, + SB_Other, SB_Upper, SB_Lower, SB_Numeric, @@ -84552,6 +86444,10 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, + SB_OLetter, + SB_Other, SB_Numeric, SB_Other, SB_STerm, @@ -84699,6 +86595,20 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_Other, SB_Numeric, SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, + SB_STerm, + SB_Other, + SB_Extend, + SB_Other, + SB_Extend, + SB_Other, SB_OLetter, SB_Other, SB_Extend, @@ -84785,6 +86695,8 @@ static const SB_enum Sentence_Break_invmap[] = { /* for EBCDIC POSIX-BC */ SB_Other, SB_OLetter, SB_Other, + SB_OLetter, + SB_Other, SB_Format, SB_Other, SB_Format, @@ -84882,7 +86794,7 @@ static const UV VertSpace_invlist[] = { /* for EBCDIC POSIX-BC */ }; static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ - 1503, /* Number of elements */ + 1547, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ @@ -85074,8 +86986,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x859, 0x85C, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x904, 0x93A, 0x93D, @@ -85185,6 +87097,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -85271,7 +87185,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC62, 0xC64, @@ -85326,7 +87240,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD62, 0xD64, 0xD66, @@ -85467,7 +87381,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -85522,10 +87438,6 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x193C, 0x1946, 0x1950, - 0x19B0, - 0x19C1, - 0x19C8, - 0x19CA, 0x19D0, 0x19DA, 0x1A00, @@ -85767,7 +87679,6 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA67E, 0xA67F, 0xA69E, - 0xA69F, 0xA6A0, 0xA6F0, 0xA6F2, @@ -85776,11 +87687,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA802, 0xA803, @@ -85803,6 +87712,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA90A, 0xA926, @@ -85864,10 +87775,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABE3, 0xABEB, 0xABEC, @@ -85916,7 +87825,7 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0xFE14, 0xFE15, 0xFE20, - 0xFE2E, + 0xFE30, 0xFE33, 0xFE35, 0xFE4D, @@ -86031,6 +87940,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -86074,6 +87987,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11003, 0x11038, @@ -86106,20 +88023,34 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x111B3, 0x111C1, 0x111C5, + 0x111CA, + 0x111CD, 0x111D0, 0x111DA, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112DF, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -86141,6 +88072,8 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -86163,6 +88096,9 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x115B6, 0x115B8, 0x115C1, + 0x115D8, + 0x115DC, + 0x115DE, 0x11600, 0x11630, 0x11641, @@ -86175,6 +88111,10 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x116B8, 0x116C0, 0x116CA, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, 0x118A0, 0x118E0, 0x118EA, @@ -86183,11 +88123,15 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -86305,6 +88249,18 @@ static const UV Word_Break_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1D7CC, 0x1D7CE, 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8D0, @@ -86719,6 +88675,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */ WB_Other, WB_Numeric, WB_Other, + WB_ALetter, + WB_Other, WB_Extend, WB_Other, WB_ALetter, @@ -87015,6 +88973,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */ WB_ALetter, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_ALetter, @@ -87056,10 +89016,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */ WB_Other, WB_Numeric, WB_Other, - WB_Extend, - WB_Other, - WB_Extend, - WB_Other, WB_Numeric, WB_Other, WB_ALetter, @@ -87300,7 +89256,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */ WB_Extend, WB_Other, WB_ALetter, - WB_Other, WB_Extend, WB_ALetter, WB_Extend, @@ -87314,8 +89269,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */ WB_ALetter, WB_Other, WB_ALetter, - WB_Other, - WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, @@ -87337,6 +89290,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, WB_Numeric, WB_ALetter, WB_Extend, @@ -87400,8 +89355,6 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */ WB_ALetter, WB_Other, WB_ALetter, - WB_Other, - WB_ALetter, WB_Extend, WB_Other, WB_Extend, @@ -87574,6 +89527,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */ WB_ALetter, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_Extend, @@ -87608,6 +89565,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, WB_Extend, WB_ALetter, WB_Extend, @@ -87640,15 +89601,29 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */ WB_Extend, WB_ALetter, WB_Other, + WB_Extend, + WB_Other, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, WB_Extend, WB_Other, WB_Numeric, @@ -87675,6 +89650,8 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */ WB_Other, WB_Extend, WB_Other, + WB_ALetter, + WB_Other, WB_Extend, WB_Other, WB_ALetter, @@ -87701,6 +89678,9 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */ WB_Extend, WB_Other, WB_ALetter, + WB_Extend, + WB_Other, + WB_ALetter, WB_Other, WB_Numeric, WB_Other, @@ -87709,6 +89689,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */ WB_Other, WB_Numeric, WB_Other, + WB_Extend, + WB_Other, + WB_Numeric, + WB_Other, WB_ALetter, WB_Numeric, WB_Other, @@ -87726,6 +89710,10 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */ WB_Other, WB_ALetter, WB_Other, + WB_ALetter, + WB_Other, + WB_ALetter, + WB_Other, WB_Numeric, WB_Other, WB_ALetter, @@ -87839,6 +89827,18 @@ static const WB_enum Word_Break_invmap[] = { /* for EBCDIC POSIX-BC */ WB_Other, WB_Numeric, WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, + WB_Extend, + WB_Other, WB_ALetter, WB_Other, WB_Extend, @@ -87960,7 +89960,7 @@ static const UV XPerlSpace_invlist[] = { /* for EBCDIC POSIX-BC */ }; static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ - 1283, /* Number of elements */ + 1319, /* 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 */ @@ -88090,8 +90090,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0x840, 0x859, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x8EA, 0x8F0, 0x93C, @@ -88189,6 +90189,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -88270,7 +90272,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -88321,7 +90323,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD70, @@ -88470,7 +90472,9 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -88714,7 +90718,7 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -88728,19 +90732,15 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA674, 0xA67C, 0xA67F, - 0xA69E, - 0xA69F, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA802, 0xA803, @@ -88759,6 +90759,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA92B, 0xA930, @@ -88810,10 +90812,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEB, 0xABF0, 0xABFA, @@ -88937,6 +90937,10 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -88973,6 +90977,10 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11046, 0x11066, @@ -88997,17 +91005,29 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0x111C5, 0x111D0, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x11235, 0x11237, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112E9, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -89027,6 +91047,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11349, 0x1134B, 0x1134D, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -89043,6 +91065,8 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0x115B6, 0x115B8, 0x115BF, + 0x115D8, + 0x115DE, 0x11600, 0x1163F, 0x11640, @@ -89055,6 +91079,12 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0x116B6, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172B, + 0x11730, + 0x1173A, 0x118A0, 0x118EA, 0x118FF, @@ -89062,11 +91092,15 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -89245,12 +91279,14 @@ static const UV XPosixAlnum_invlist[] = { /* for EBCDIC POSIX-BC */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E }; static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ - 1225, /* Number of elements */ + 1259, /* 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 */ @@ -89382,8 +91418,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0x840, 0x859, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x8EA, 0x8F0, 0x93C, @@ -89477,6 +91513,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAD1, 0xAE0, 0xAE4, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -89554,7 +91592,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC81, @@ -89601,7 +91639,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD7A, 0xD80, @@ -89738,7 +91776,9 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -89972,7 +92012,7 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -89988,19 +92028,15 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA674, 0xA67C, 0xA67F, - 0xA69E, - 0xA69F, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA802, 0xA803, @@ -90017,6 +92053,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA90A, 0xA92B, 0xA930, @@ -90068,10 +92106,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEB, 0xAC00, 0xD7A4, @@ -90189,6 +92225,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -90225,6 +92265,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11046, 0x11082, @@ -90243,15 +92287,27 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0x111C5, 0x111DA, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x11235, 0x11237, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112E9, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -90271,6 +92327,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11349, 0x1134B, 0x1134D, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -90285,6 +92343,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0x115B6, 0x115B8, 0x115BF, + 0x115D8, + 0x115DE, 0x11600, 0x1163F, 0x11640, @@ -90293,6 +92353,10 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11645, 0x11680, 0x116B6, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172B, 0x118A0, 0x118E0, 0x118FF, @@ -90300,11 +92364,15 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -90477,6 +92545,8 @@ static const UV XPosixAlpha_invlist[] = { /* for EBCDIC POSIX-BC */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E }; @@ -90515,7 +92585,7 @@ static const UV XPosixCntrl_invlist[] = { /* for EBCDIC POSIX-BC */ }; static const UV XPosixDigit_invlist[] = { /* for EBCDIC POSIX-BC */ - 101, /* Number of elements */ + 103, /* 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 */ @@ -90612,6 +92682,8 @@ static const UV XPosixDigit_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1165A, 0x116C0, 0x116CA, + 0x11730, + 0x1173A, 0x118E0, 0x118EA, 0x16A60, @@ -90623,7 +92695,7 @@ static const UV XPosixDigit_invlist[] = { /* for EBCDIC POSIX-BC */ }; static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ - 1211, /* Number of elements */ + 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 */ @@ -90677,8 +92749,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x85E, 0x85F, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x984, 0x985, 0x98D, @@ -90764,6 +92836,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAE4, 0xAE6, 0xAF2, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -90843,7 +92917,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -90894,7 +92968,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD76, @@ -91019,7 +93093,9 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1380, 0x139A, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1400, 0x1680, 0x1681, @@ -91155,11 +93231,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x2090, 0x209D, 0x20A0, - 0x20BE, + 0x20BF, 0x20D0, 0x20F1, 0x2100, - 0x218A, + 0x218C, 0x2190, 0x23FB, 0x2400, @@ -91176,6 +93252,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x2BC9, 0x2BCA, 0x2BD2, + 0x2BEC, + 0x2BF0, 0x2C00, 0x2C2F, 0x2C30, @@ -91241,7 +93319,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x3300, 0x4DB6, 0x4DC0, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA490, @@ -91249,15 +93327,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA4D0, 0xA62C, 0xA640, - 0xA69E, - 0xA69F, 0xA6F8, 0xA700, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA82C, 0xA830, @@ -91269,7 +93343,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA8CE, 0xA8DA, 0xA8E0, - 0xA8FC, + 0xA8FE, 0xA900, 0xA954, 0xA95F, @@ -91301,10 +93375,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEE, 0xABF0, 0xABFA, @@ -91345,8 +93417,6 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0xFE00, 0xFE1A, 0xFE20, - 0xFE2E, - 0xFE30, 0xFE53, 0xFE54, 0xFE67, @@ -91450,7 +93520,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1089F, 0x108A7, 0x108B0, - 0x10900, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, + 0x108FB, 0x1091C, 0x1091F, 0x1093A, @@ -91458,9 +93532,9 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10940, 0x10980, 0x109B8, - 0x109BE, - 0x109C0, - 0x10A00, + 0x109BC, + 0x109D0, + 0x109D2, 0x10A04, 0x10A05, 0x10A07, @@ -91496,6 +93570,12 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10BB0, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, + 0x10CFA, + 0x10D00, 0x10E60, 0x10E7F, 0x11000, @@ -91515,22 +93595,30 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11150, 0x11177, 0x11180, - 0x111C9, - 0x111CD, 0x111CE, 0x111D0, - 0x111DB, + 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123E, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -91550,6 +93638,8 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -91565,7 +93655,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11580, 0x115B6, 0x115B8, - 0x115CA, + 0x115DE, 0x11600, 0x11645, 0x11650, @@ -91574,6 +93664,12 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x11740, 0x118A0, 0x118F3, 0x118FF, @@ -91581,13 +93677,17 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -91633,7 +93733,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1D100, 0x1D127, 0x1D129, - 0x1D1DE, + 0x1D1E9, 0x1D200, 0x1D246, 0x1D300, @@ -91681,7 +93781,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1D6A8, 0x1D7CC, 0x1D7CE, - 0x1D800, + 0x1DA8C, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8C7, @@ -91783,25 +93887,11 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1F250, 0x1F252, 0x1F300, - 0x1F32D, - 0x1F330, - 0x1F37E, - 0x1F380, - 0x1F3CF, - 0x1F3D4, - 0x1F3F8, - 0x1F400, - 0x1F4FF, - 0x1F500, - 0x1F54B, - 0x1F550, 0x1F57A, 0x1F57B, 0x1F5A4, 0x1F5A5, - 0x1F643, - 0x1F645, - 0x1F6D0, + 0x1F6D1, 0x1F6E0, 0x1F6ED, 0x1F6F0, @@ -91820,12 +93910,20 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F910, + 0x1F919, + 0x1F980, + 0x1F985, + 0x1F9C0, + 0x1F9C1, 0x20000, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0001, @@ -91841,7 +93939,7 @@ static const UV XPosixGraph_invlist[] = { /* for EBCDIC POSIX-BC */ }; static const UV XPosixLower_invlist[] = { /* for EBCDIC POSIX-BC */ - 1279, /* Number of elements */ + 1287, /* 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 */ @@ -92408,6 +94506,8 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC POSIX-BC */ 0x530, 0x561, 0x588, + 0x13F8, + 0x13FE, 0x1D00, 0x1DC0, 0x1E01, @@ -93050,14 +95150,18 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA7A8, 0xA7A9, 0xA7AA, + 0xA7B5, + 0xA7B6, + 0xA7B7, + 0xA7B8, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, + 0xAB70, + 0xABC0, 0xFB00, 0xFB07, 0xFB13, @@ -93066,6 +95170,8 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC POSIX-BC */ 0xFF5B, 0x10428, 0x10450, + 0x10CC0, + 0x10CF3, 0x118C0, 0x118E0, 0x1D41A, @@ -93127,7 +95233,7 @@ static const UV XPosixLower_invlist[] = { /* for EBCDIC POSIX-BC */ }; static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ - 1205, /* Number of elements */ + 1231, /* 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 */ @@ -93181,8 +95287,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x85E, 0x85F, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x984, 0x985, 0x98D, @@ -93268,6 +95374,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAE4, 0xAE6, 0xAF2, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -93347,7 +95455,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -93398,7 +95506,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD76, @@ -93523,7 +95631,9 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1380, 0x139A, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1400, 0x169D, 0x16A0, @@ -93653,11 +95763,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x2090, 0x209D, 0x20A0, - 0x20BE, + 0x20BF, 0x20D0, 0x20F1, 0x2100, - 0x218A, + 0x218C, 0x2190, 0x23FB, 0x2400, @@ -93674,6 +95784,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x2BC9, 0x2BCA, 0x2BD2, + 0x2BEC, + 0x2BF0, 0x2C00, 0x2C2F, 0x2C30, @@ -93739,7 +95851,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x3300, 0x4DB6, 0x4DC0, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA490, @@ -93747,15 +95859,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA4D0, 0xA62C, 0xA640, - 0xA69E, - 0xA69F, 0xA6F8, 0xA700, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA82C, 0xA830, @@ -93767,7 +95875,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA8CE, 0xA8DA, 0xA8E0, - 0xA8FC, + 0xA8FE, 0xA900, 0xA954, 0xA95F, @@ -93799,10 +95907,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAB28, 0xAB2F, 0xAB30, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEE, 0xABF0, 0xABFA, @@ -93843,8 +95949,6 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0xFE00, 0xFE1A, 0xFE20, - 0xFE2E, - 0xFE30, 0xFE53, 0xFE54, 0xFE67, @@ -93948,7 +96052,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1089F, 0x108A7, 0x108B0, - 0x10900, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, + 0x108FB, 0x1091C, 0x1091F, 0x1093A, @@ -93956,9 +96064,9 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10940, 0x10980, 0x109B8, - 0x109BE, - 0x109C0, - 0x10A00, + 0x109BC, + 0x109D0, + 0x109D2, 0x10A04, 0x10A05, 0x10A07, @@ -93994,6 +96102,12 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10BB0, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, + 0x10CFA, + 0x10D00, 0x10E60, 0x10E7F, 0x11000, @@ -94013,22 +96127,30 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11150, 0x11177, 0x11180, - 0x111C9, - 0x111CD, 0x111CE, 0x111D0, - 0x111DB, + 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123E, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -94048,6 +96170,8 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -94063,7 +96187,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11580, 0x115B6, 0x115B8, - 0x115CA, + 0x115DE, 0x11600, 0x11645, 0x11650, @@ -94072,6 +96196,12 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x11740, 0x118A0, 0x118F3, 0x118FF, @@ -94079,13 +96209,17 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -94131,7 +96265,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1D100, 0x1D127, 0x1D129, - 0x1D1DE, + 0x1D1E9, 0x1D200, 0x1D246, 0x1D300, @@ -94179,7 +96313,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1D6A8, 0x1D7CC, 0x1D7CE, - 0x1D800, + 0x1DA8C, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8C7, @@ -94281,25 +96419,11 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1F250, 0x1F252, 0x1F300, - 0x1F32D, - 0x1F330, - 0x1F37E, - 0x1F380, - 0x1F3CF, - 0x1F3D4, - 0x1F3F8, - 0x1F400, - 0x1F4FF, - 0x1F500, - 0x1F54B, - 0x1F550, 0x1F57A, 0x1F57B, 0x1F5A4, 0x1F5A5, - 0x1F643, - 0x1F645, - 0x1F6D0, + 0x1F6D1, 0x1F6E0, 0x1F6ED, 0x1F6F0, @@ -94318,12 +96442,20 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1F888, 0x1F890, 0x1F8AE, + 0x1F910, + 0x1F919, + 0x1F980, + 0x1F985, + 0x1F9C0, + 0x1F9C1, 0x20000, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0001, @@ -94339,7 +96471,7 @@ static const UV XPosixPrint_invlist[] = { /* for EBCDIC POSIX-BC */ }; static const UV XPosixPunct_invlist[] = { /* for EBCDIC POSIX-BC */ - 307, /* Number of elements */ + 319, /* 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 */ @@ -94542,6 +96674,8 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA8D0, 0xA8F8, 0xA8FB, + 0xA8FC, + 0xA8FD, 0xA92E, 0xA930, 0xA95F, @@ -94627,17 +96761,25 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11174, 0x11176, 0x111C5, - 0x111C9, + 0x111CA, 0x111CD, 0x111CE, + 0x111DB, + 0x111DC, + 0x111DD, + 0x111E0, 0x11238, 0x1123E, + 0x112A9, + 0x112AA, 0x114C6, 0x114C7, 0x115C1, - 0x115CA, + 0x115D8, 0x11641, 0x11644, + 0x1173C, + 0x1173F, 0x12470, 0x12475, 0x16A6E, @@ -94649,7 +96791,9 @@ static const UV XPosixPunct_invlist[] = { /* for EBCDIC POSIX-BC */ 0x16B44, 0x16B45, 0x1BC9F, - 0x1BCA0 + 0x1BCA0, + 0x1DA87, + 0x1DA8C }; static const UV XPosixSpace_invlist[] = { /* for EBCDIC POSIX-BC */ @@ -94683,7 +96827,7 @@ static const UV XPosixSpace_invlist[] = { /* for EBCDIC POSIX-BC */ }; static const UV XPosixUpper_invlist[] = { /* for EBCDIC POSIX-BC */ - 1275, /* Number of elements */ + 1281, /* 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 */ @@ -95258,6 +97402,8 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10C8, 0x10CD, 0x10CE, + 0x13A0, + 0x13F6, 0x1E00, 0x1E01, 0x1E02, @@ -95887,11 +98033,15 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA7AA, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B5, + 0xA7B6, + 0xA7B7, 0xFF21, 0xFF3B, 0x10400, 0x10428, + 0x10C80, + 0x10CB3, 0x118A0, 0x118C0, 0x1D400, @@ -95965,7 +98115,7 @@ static const UV XPosixUpper_invlist[] = { /* for EBCDIC POSIX-BC */ }; static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ - 1283, /* Number of elements */ + 1333, /* 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 */ @@ -96089,8 +98239,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0x840, 0x85C, 0x8A0, - 0x8B3, - 0x8E4, + 0x8B5, + 0x8E3, 0x964, 0x966, 0x970, @@ -96180,6 +98330,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAE4, 0xAE6, 0xAF0, + 0xAF9, + 0xAFA, 0xB01, 0xB04, 0xB05, @@ -96261,7 +98413,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0xC55, 0xC57, 0xC58, - 0xC5A, + 0xC5B, 0xC60, 0xC64, 0xC66, @@ -96310,7 +98462,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0xD4F, 0xD57, 0xD58, - 0xD60, + 0xD5F, 0xD64, 0xD66, 0xD70, @@ -96455,7 +98607,9 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1380, 0x1390, 0x13A0, - 0x13F5, + 0x13F6, + 0x13F8, + 0x13FE, 0x1401, 0x166D, 0x166F, @@ -96701,7 +98855,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0x3400, 0x4DB6, 0x4E00, - 0x9FCD, + 0x9FD6, 0xA000, 0xA48D, 0xA4D0, @@ -96715,19 +98869,15 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA674, 0xA67E, 0xA67F, - 0xA69E, - 0xA69F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, - 0xA78F, - 0xA790, 0xA7AE, 0xA7B0, - 0xA7B2, + 0xA7B8, 0xA7F7, 0xA828, 0xA840, @@ -96740,6 +98890,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0xA8F8, 0xA8FB, 0xA8FC, + 0xA8FD, + 0xA8FE, 0xA900, 0xA92E, 0xA930, @@ -96781,10 +98933,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0xAB30, 0xAB5B, 0xAB5C, - 0xAB60, - 0xAB64, 0xAB66, - 0xABC0, + 0xAB70, 0xABEB, 0xABEC, 0xABEE, @@ -96829,7 +98979,7 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0xFE00, 0xFE10, 0xFE20, - 0xFE2E, + 0xFE30, 0xFE33, 0xFE35, 0xFE4D, @@ -96924,6 +99074,10 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10877, 0x10880, 0x1089F, + 0x108E0, + 0x108F3, + 0x108F4, + 0x108F6, 0x10900, 0x10916, 0x10920, @@ -96964,6 +99118,10 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0x10B92, 0x10C00, 0x10C49, + 0x10C80, + 0x10CB3, + 0x10CC0, + 0x10CF3, 0x11000, 0x11047, 0x11066, @@ -96984,17 +99142,31 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11177, 0x11180, 0x111C5, + 0x111CA, + 0x111CD, 0x111D0, 0x111DB, + 0x111DC, + 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, + 0x11280, + 0x11287, + 0x11288, + 0x11289, + 0x1128A, + 0x1128E, + 0x1128F, + 0x1129E, + 0x1129F, + 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, - 0x11301, + 0x11300, 0x11304, 0x11305, 0x1130D, @@ -97014,6 +99186,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11349, 0x1134B, 0x1134E, + 0x11350, + 0x11351, 0x11357, 0x11358, 0x1135D, @@ -97032,6 +99206,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0x115B6, 0x115B8, 0x115C1, + 0x115D8, + 0x115DE, 0x11600, 0x11641, 0x11644, @@ -97042,6 +99218,12 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0x116B8, 0x116C0, 0x116CA, + 0x11700, + 0x1171A, + 0x1171D, + 0x1172C, + 0x11730, + 0x1173A, 0x118A0, 0x118EA, 0x118FF, @@ -97049,11 +99231,15 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0x11AC0, 0x11AF9, 0x12000, - 0x12399, + 0x1239A, 0x12400, 0x1246F, + 0x12480, + 0x12544, 0x13000, 0x1342F, + 0x14400, + 0x14647, 0x16800, 0x16A39, 0x16A40, @@ -97166,6 +99352,18 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0x1D7CC, 0x1D7CE, 0x1D800, + 0x1DA00, + 0x1DA37, + 0x1DA3B, + 0x1DA6D, + 0x1DA75, + 0x1DA76, + 0x1DA84, + 0x1DA85, + 0x1DA9B, + 0x1DAA0, + 0x1DAA1, + 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8D0, @@ -97248,6 +99446,8 @@ static const UV XPosixWord_invlist[] = { /* for EBCDIC POSIX-BC */ 0x2B735, 0x2B740, 0x2B81E, + 0x2B820, + 0x2CEA2, 0x2F800, 0x2FA1E, 0xE0100, @@ -97280,48 +99480,49 @@ static const UV XPosixXDigit_invlist[] = { /* for EBCDIC POSIX-BC */ /* Generated from: * 083180df694deb1fc173361406c1a75619fb8376403db3a76dc585c1e3951eca lib/Unicode/UCD.pm - * 827aa7ee45ca9fe09f3e0969a5a27a69ce58a6c7134548125266210018d27b49 lib/unicore/ArabicShaping.txt - * 3748fbbe9d280a9da700bfd0c28beaaf6f32a67ec263a124fcb0a4095a30fae5 lib/unicore/BidiBrackets.txt - * 3925329c2432fa7248b2e180cddcedb9a4f9eafbbb10ab9e105eaf833043b2fb lib/unicore/BidiMirroring.txt - * 7f5a1b4a346c6cdbe948d3baf50fc31fff29c26bcd4ad422dc1fbcc1c23b0bde lib/unicore/Blocks.txt - * 82f3cc8217455f22d294d7df767a62906baf31456ea8902336ae7fee943a2538 lib/unicore/CaseFolding.txt - * 8be553529f7dd22e3e0ffa25eb3f1743f5243bbfe868559be73bf3a163c21913 lib/unicore/CompositionExclusions.txt - * ab64278818411762311b9d5974438ac5cf14e98c79b44a6373022f0780de38a7 lib/unicore/DAge.txt - * f2ff892add5e6624cee8300c297373216df7f1a596c6e74510afe5e8b96c8d91 lib/unicore/DCoreProperties.txt - * 656aa2c6996a049e84c6d38676bc73c3245c808869d64073b812690ae475d534 lib/unicore/DNormalizationProps.txt - * e064b066e555cbace95951fcba9b5336a4d04c88c5949a1ff7615190eaa67682 lib/unicore/EastAsianWidth.txt - * 2aa574984e9cea6980eddd6e36044168d543b7f0449266fa3248aca28790cf06 lib/unicore/HangulSyllableType.txt - * e7122c4d4d598854b5fbefeb2b1ee9f05aef6a8d6e718b5f56c2a8ea31145f12 lib/unicore/IndicMatraCategory.txt - * 478ca00ea86b47209f0b27eb3959ad83cb2b76f5159213d242390d07d5af2b8d lib/unicore/IndicSyllabicCategory.txt - * 0aa8af5cbb4d0570b1006aefffc021c6ef637dffb15572a5a85e7f7e7778fe22 lib/unicore/Jamo.txt - * 3b359eeff325f7e773ea9d5feb8af053b94c579844f0db7ce648f418c9d136d8 lib/unicore/LineBreak.txt - * af85d961d0ed6055271ca6e0174451a8dc1822e31de9e07e1246535318b9341a lib/unicore/NameAliases.txt - * 1c379b9c1b0f6cd14208b766f74fc92ff5a9528aee66083db307f1fc9a615729 lib/unicore/NamedSequences.txt - * 0df343d93293f14e9ff0b0a721d8b8e6c23c86dbad7be18d362d6bf1281590d9 lib/unicore/PropList.txt - * 6c14f474761b8db46f95cf2d1e235ce40abf3382226c5b1a2210df83775fe6fa lib/unicore/PropValueAliases.txt - * 3f3dd77644faa905ce02de7c0e3167fdc4afdf94748f074192bd70821c8341ea lib/unicore/PropertyAliases.txt - * 2767531dec8c525a317ab488b95eed73461fe9c6fbb8088594f3886964724475 lib/unicore/ScriptExtensions.txt - * a638f9f0eb3c521ed6c7755fce93c04bf6e4ba89f23ac3d1bd4c4e486c400118 lib/unicore/Scripts.txt - * 35496d45fc8babd8deb866491ea82ff7b3d2d49ad4c9c656685cd14833101e25 lib/unicore/SpecialCasing.txt - * bfa3da58ea982199829e1107ac5a9a544b83100470a2d0cc28fb50ec234cb840 lib/unicore/UnicodeData.txt - * 916289f471c4a337fb1e0715985a11e6bc8bb205736e84164849d601d265d9e0 lib/unicore/auxiliary/GCBTest.txt - * 3d7ffae56e506d595f3e0e5d36978bc6721d53470e5ca9666ad7cdfc4a46cb3d lib/unicore/auxiliary/GraphemeBreakProperty.txt - * 370ddf3ba9b337819cf21795c2bd7cda578ac5ff4700d1a3ac923e8be988b57e lib/unicore/auxiliary/SBTest.txt - * 28356f6912113a9fe8244d9396e9786115dbc10b3ffb5e31b08969122e91d3f3 lib/unicore/auxiliary/SentenceBreakProperty.txt - * 3f56d3ccfc35c6dac44d143a4d6087af4e4ee9f1bdbae482c12f6149b60dec3b lib/unicore/auxiliary/WBTest.txt - * 82f7304030e6866ef8e02cdfb0485c52c18a661282bfce9c259cc6300abd79ad lib/unicore/auxiliary/WordBreakProperty.txt - * b88801b4a469207892a0401697c6b1c5fd64042ae0ef867f4ad0ec04942b415c lib/unicore/extracted/DBidiClass.txt - * 074d33ea6c7349eab840d690369dffb3568e2f7b039552b7c10480274d321545 lib/unicore/extracted/DBinaryProperties.txt - * 8ad457aef3525aedce823b9177dad33e0088df536dff11e3df405ecefc92ba08 lib/unicore/extracted/DCombiningClass.txt - * 59ec46c1e30458ffff50d41196fd45e3bbaf3172a8111117af1b930199be2d96 lib/unicore/extracted/DDecompositionType.txt - * cf7c07557ae915a7508c6c7fc8c2e8c900782364ec62e8a5d2813f3b97449ee0 lib/unicore/extracted/DEastAsianWidth.txt - * 56a5b47331a7ec784e848bcaae1ddc08cbf72aab583ca82dcc98ecf2851a3d43 lib/unicore/extracted/DGeneralCategory.txt - * c14e83161e56eb15d78b1589352d6c0bd8feb7889a5d17f70a2ebb2a43cab86d lib/unicore/extracted/DJoinGroup.txt - * 8c9405c54d8b1dd3fe2f2d691b30c0816ca15481995152ed07fc9b844dfd0ad4 lib/unicore/extracted/DJoinType.txt - * a9791f08281d7b0a417e4ad882cf64463f6815db8156932acd85228ac717fd94 lib/unicore/extracted/DLineBreak.txt - * a17a0330e57d774343a53c019f1bc69827c2676982a1bf48e0898a76710e8877 lib/unicore/extracted/DNumType.txt - * c2cb810a67cc5fb4a8d236b6c1bc6dd4d89733d8603881997e8aae2c816a3db1 lib/unicore/extracted/DNumValues.txt - * 808d76136d9952faf581347e9bc040dbab5158f143f243a6de455a4af39b7401 lib/unicore/mktables - * 746472de66b936ac885ca6d6e68058242b4e909e3260c6317f3ec719f78f76cc lib/unicore/version - * 4360c31f23eb368e0f3bfd045a44d3bc37ff0889e216f686ebea02543ac188d9 regen/mk_invlists.pl + * ae98bec7e4f0564758eed81eca5015481ba32581f8a735a825b71b3bba714450 lib/unicore/ArabicShaping.txt + * 1687fe5994eb7e5c0dab8503fc2a1b3b479d91af9d3b8055941c9bd791f7d0b5 lib/unicore/BidiBrackets.txt + * 350d1302116194b0b21def287434b55c5088098fbc726e879f7420a391965643 lib/unicore/BidiMirroring.txt + * 288fc7b85c76bda296e296c8465f1f4baeb456cb814430dfaa0f546bfbe86b4a lib/unicore/Blocks.txt + * 86e075f2ede997b3fa5965516c75190b5a88bb82d302272d9c3179b7a57af03f lib/unicore/CaseFolding.txt + * 2fafee5be73bf2817ee669c53c504a6c4aa02ac7344194af18511aea2e05d750 lib/unicore/CompositionExclusions.txt + * 302f6d6171dc9c6165db86d0226b7923a64cea06c493d339d35436bf137606a3 lib/unicore/DAge.txt + * ff666dece87dfdbdbf04a2e26a0bfb52c4ba98db1f8965b0b01ddb9e15f97476 lib/unicore/DCoreProperties.txt + * 6cc76100d402d7dd12bd769ac61158b91e71aad58c8333abb848f1b9c9fdde2d lib/unicore/DNormalizationProps.txt + * ccc571829b384b8a2c24b7a62f8aa6a891a6e8c48f08513ef84fd6da26dba4bb lib/unicore/EastAsianWidth.txt + * 2320db06cf88c755ec7b9cfec96dd9e1d774173521dbc3ee7985377c2ab90d32 lib/unicore/HangulSyllableType.txt + * e52216b5fdb04910e06e94f01cabdf70656b0077c92b756c7b38822626d572f2 lib/unicore/IndicPositionalCategory.txt + * 4db71a39102e173095cb8bda8b4c35e78fe6b365e443c584b19f081d8c4894fc lib/unicore/IndicSyllabicCategory.txt + * eeb30346bb545bb45ff16486d9234397bfe1a195bb12b54fc1d9f48f87e8aa5e lib/unicore/Jamo.txt + * 13e2b7087bcca3163272e64e34e480534bd2f8353a0245c26e6642566f59a60d lib/unicore/LineBreak.txt + * 9bb54cd7b5509779f269fa60341bcbfca8da8f17d3c4999e44a5a51671d3c402 lib/unicore/NameAliases.txt + * e4c29d9ceefbe2382af819ac7646265a9e4ea599ce04a90d31bec97cfaa2848f lib/unicore/NamedSequences.txt + * 70d40297f1bf91397fbdab5a770c12100733e67c5c3398446c5e950715d5e535 lib/unicore/PropList.txt + * 03a440f2a4b9151043a6bb53d4a4e528b73238079f9d686dc2a5846e6895588a lib/unicore/PropValueAliases.txt + * 8e8b48c2080d31aa6713f5535aad94a1f7bc9a65cc52563724e5e69b0a3b4196 lib/unicore/PropertyAliases.txt + * 45d42b1ecbac2263c1c63c95104e63ea64313eb99be94542e040aea11c449f6c lib/unicore/ScriptExtensions.txt + * 79fbd73ad82c30fdb67d36a349d12667bd58d3e9da6a8ce7dd26383b637ba85f lib/unicore/Scripts.txt + * fb2025dae3b9b17649b6e379c1cdbddf50641267ca6d2446caeccf4a141fe167 lib/unicore/SpecialCasing.txt + * 38b17e1118206489a7e0ab5d29d7932212d38838df7d3ec025ecb58e8798ec20 lib/unicore/UnicodeData.txt + * 0cedd6e0f5cadf57ce9cfc96beccfd083b0faa0809a631a777cd25f0316bfabb lib/unicore/auxiliary/GCBTest.txt + * 230005412f9a47128e37bc52330766aaa0b5522a53737a89cff66e891e14527a lib/unicore/auxiliary/GraphemeBreakProperty.txt + * 41bf82452d71ce15eda8c9bb1bb0c20b72205acaaf503e3cb84734ed8e85d33a lib/unicore/auxiliary/SBTest.txt + * d3b45cdb0a73eeb9d25158336583dfc1e6f64da59537acb0008988b40e6b3b63 lib/unicore/auxiliary/SentenceBreakProperty.txt + * a661f42a54f7cc4dded72a61c508be2b482f912d4b6cf140335010f0c684dbb9 lib/unicore/auxiliary/WBTest.txt + * c255bd2e1f163373510679bf4b272eee97b635bfce2a6550d6c10fe5c917f01a lib/unicore/auxiliary/WordBreakProperty.txt + * 16dac6f1c164a4f52741b71221a8aafb6acb52cd8a436af139da6e93d86efdfb lib/unicore/extracted/DBidiClass.txt + * c4e78efc041668548117f7462af03b28dfbb2caca5d46a1ae78ae0ce0bb26c4a lib/unicore/extracted/DBinaryProperties.txt + * 5886bb44aae8f2821663f742793cb91d4ed0923c6840f3bfb73530e37030abf8 lib/unicore/extracted/DCombiningClass.txt + * 9edba3785ed0e6e46e10f67e2dd0ec3cb0799b7f75f526fe918429576060352e lib/unicore/extracted/DDecompositionType.txt + * b774387f79b27ae4268ae89450f971408dc9bbbb523426482ab4375c962bd922 lib/unicore/extracted/DEastAsianWidth.txt + * ba4207d2464077e807b20caf063041142afc0a8a38c328c5c23b3417c9f2da33 lib/unicore/extracted/DGeneralCategory.txt + * 29fdd151266595eb1b37715937afe0727bb632a2bc1130f0d2314040175df82e lib/unicore/extracted/DJoinGroup.txt + * 7725fe247da06986e43e89fd316b8b22a0619546d0c1ed499a94b25e9164c150 lib/unicore/extracted/DJoinType.txt + * 1a0687fb9c6c4567e853913549df0944fe40821279a3e9cdaa6ab8679bc286fd lib/unicore/extracted/DLineBreak.txt + * 40bcfed3ca727c19e1331f6c33806231d5f7eeeabd2e6a9e06a3740c85d0c250 lib/unicore/extracted/DNumType.txt + * a18d502bad39d527ac5586d7bc93e29f565859e3bcc24ada627eff606d6f5fed lib/unicore/extracted/DNumValues.txt + * c9326eab8d7861c3543963e555d5b927348f4467c93071db23154dece7619654 lib/unicore/mktables + * 462c9aaa608fb2014cd9649af1c5c009485c60b9c8b15b89401fdc10cf6161c6 lib/unicore/version + * c6884f4d629f04d1316f3476cb1050b6a1b98ca30c903262955d4eae337c6b1e regen/charset_translations.pl + * f199f92c0b5f87882b0198936ea8ef3dc43627b57a77ac3eb9250bd2664bbd88 regen/mk_invlists.pl * ex: set ro: */ diff --git a/config_h.SH b/config_h.SH index fc93f24..0701a42 100755 --- a/config_h.SH +++ b/config_h.SH @@ -1967,10 +1967,8 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un * LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN * LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN * LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN - * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE - * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE - * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE - * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE + * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN + * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN * LONG_DOUBLE_IS_UNKNOWN_FORMAT * It is only defined if the system supports long doubles. */ @@ -1984,14 +1982,9 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #define LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 2 #define LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN 3 #define LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN 4 -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE 5 -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE 6 -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE 7 -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE 8 +#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN 5 +#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN 6 #define LONG_DOUBLE_IS_UNKNOWN_FORMAT -1 -/* Backward compat. */ -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE #endif /* HAS_LONG_LONG: @@ -4844,6 +4837,53 @@ sed <$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #$d_PRIeldbl PERL_PRIeldbl $sPRIeldbl /**/ #$d_SCNfldbl PERL_SCNfldbl $sSCNfldbl /**/ +/* DOUBLEINFBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes for the double precision infinity. + */ +/* DOUBLENANBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes (0xHH) for the double precision not-a-number. + */ +/* LONGDBLINFBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes for the long double precision infinity. + */ +/* LONGDBLNANBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes (0xHH) for the long double precision not-a-number. + */ +#define DOUBLEINFBYTES $doubleinfbytes /**/ +#define DOUBLENANBYTES $doublenanbytes /**/ +#define LONGDBLINFBYTES $longdblinfbytes /**/ +#define LONGDBLNANBYTES $longdblnanbytes /**/ + +/* DOUBLEMANTBITS: + * This symbol, if defined, tells how many mantissa bits + * there are in double precision floating point format. + * Note that this is usually DBL_MANT_DIG minus one, since + * with the standard IEEE 754 formats DBL_MANT_DIG includes + * the implicit bit, which doesn't really exist. + */ +#define DOUBLEMANTBITS $doublemantbits + +/* LONGDBLMANTBITS: + * This symbol, if defined, tells how many mantissa bits + * there are in long double precision floating point format. + * Note that this can be LDBL_MANT_DIG minus one, + * since LDBL_MANT_DIG can include the IEEE 754 implicit bit. + * The common x86-style 80-bit long double does not have + * an implicit bit. + */ +#define LONGDBLMANTBITS $longdblmantbits + +/* NVMANTBITS: + * This symbol, if defined, tells how many mantissa bits + * (not including implicit bit) there are in a Perl NV. + * This depends on which floating point type was chosen. + */ +#define NVMANTBITS $nvmantbits /**/ + /* NEED_VA_COPY: * This symbol, if defined, indicates that the system stores * the variable argument list datatype, va_list, in a format diff --git a/configure.com b/configure.com index 78ce59f..a136a77 100644 --- a/configure.com +++ b/configure.com @@ -3661,6 +3661,9 @@ $ IF link_status .NE. good_link $ THEN $ longdblsize="0" $ longdblkind="0" +$ longdblinfbytes="undef" +$ longdblnanbytes="undef" +$ longdblmantbits="undef" $ d_longdbl="undef" $ echo "You do not have long double." $ ELSE @@ -3669,6 +3672,9 @@ $ echo4 "Checking to see how big your long doubles are..." $ GOSUB just_mcr_it $ longdblsize = tmp $ longdblkind = "1" +$ longdblinfbytes="0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f" +$ longdblnanbytes="0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff" +$ longdblmantbits="112" $ d_longdbl = "define" $ echo "Your long doubles are ''longdblsize' bytes long." $ ENDIF @@ -5569,9 +5575,13 @@ $ i64size="undef" $ u64size="undef" $ ENDIF $! +$ doublemantbits = "52" $ IF uselongdouble .OR. uselongdouble .EQS. "define" $ THEN $ nvtype="long double" +$ nvmantbits = longdblmantbits +$ ELSE +$ nvmantbits = doublemantbits $ ENDIF $! $ tmp = "''ivtype'" @@ -6472,6 +6482,9 @@ $ WC "dlext='" + dlext + "'" $ WC "dlobj='" + dlobj + "'" $ WC "dlsrc='dl_vms.xs'" $ WC "doublekind='3'" +$ WC "doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f'" +$ WC "doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f'" +$ WC "doublemantbits='" + doublemantbits + "'" $ WC "doublesize='" + doublesize + "'" $ WC "drand01='" + drand01 + "'" $ WC "dtrace='" + "'" @@ -6648,6 +6661,9 @@ $ WC "libswanted='" + "'" $ WC "libswanted_uselargefiles='" + "'" $ WC "longdblsize='" + longdblsize + "'" $ WC "longdblkind='" + longdblkind + "'" +$ WC "longdblinfbytes='" + longdblinfbytes + "'" +$ WC "longdblnanbytes='" + longdblnanbytes + "'" +$ WC "longdblmantbits='" + longdblmantbits + "'" $ WC "longlongsize='" + longlongsize + "'" $ WC "longsize='" + longsize + "'" $ IF uselargefiles .OR. uselargefiles .EQS. "define" @@ -6683,6 +6699,7 @@ $ WC "nvfformat='" + nvfformat + "'" $ WC "nvFUformat='" + nvFUformat + "'" $ WC "nvgformat='" + nvgformat + "'" $ WC "nvGUformat='" + nvGUformat + "'" +$ WC "nvmantbits='" + nvmantbits + "'" $ WC "nvsize='" + nvsize + "'" $ WC "nvtype='" + nvtype + "'" $ WC "o_nonblock=' '" @@ -7002,12 +7019,12 @@ $ WRITE CONFIG "Gnu_CC:[000000]gcclib.olb/library" $ ENDIF $ WRITE CONFIG "Sys$Share:VAXCRTL/Share" $ CLOSE CONFIG -$ 'ld' munchconfig.obj,munchconfig.opt/opt +$ 'ld'/EXE='exe_ext' munchconfig'obj_ext',munchconfig.opt/opt $ DELETE/NOLOG/NOCONFIRM munchconfig.opt; $ ELSE -$ 'ld' munchconfig.obj +$ 'ld'/EXE='exe_ext' munchconfig'obj_ext' $ ENDIF -$ IF F$SEARCH("munchconfig.obj") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig.obj; +$ IF F$SEARCH("munchconfig''obj_ext'") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig'obj_ext'; $ IF F$SEARCH("munchconfig.c") .NES. "" THEN DELETE/NOLOG/NOCONFIRM munchconfig.c; $ IF ccname .EQS. "CXX" $ THEN @@ -7097,7 +7114,7 @@ $ echo4 "Extracting config.h (with variable substitutions)" $! $! Now build the normal config.h $ DEFINE/USER_MODE sys$output [-]config.main -$ mcr []munchconfig 'config_sh' [-]config_h.sh +$ mcr []munchconfig'exe_ext' 'config_sh' [-]config_h.sh $ ! Concatenate them together $ copy [-]config.local,[-]config.main [-]config.h $! Clean up @@ -7186,9 +7203,9 @@ $ close CONFIG $! $ echo4 "Extracting ''defmakefile' (with variable substitutions)" $ DEFINE/USER_MODE sys$output 'UUmakefile' -$ mcr []munchconfig 'config_sh' 'Makefile_SH' -f extra_subs.txt +$ mcr []munchconfig'exe_ext' 'config_sh' 'Makefile_SH' -f extra_subs.txt $! Clean up after ourselves -$ DELETE/NOLOG/NOCONFIRM []munchconfig.exe; +$ DELETE/NOLOG/NOCONFIRM []munchconfig'exe_ext'; $ DELETE/NOLOG/NOCONFIRM []extra_subs.txt; $! $! Note that the /key qualifier to search, as in: @@ -7203,6 +7220,7 @@ $! NOTE: This file is extracted as part of the VMS configuration process. $! Any changes made to it directly will be lost. If you need to make any $! changes, please edit the template in Configure.Com instead. $! Use FORCE if you've just podified a README.* file on VMS. +$ miniperl = f$search("sys$disk:[]miniperl.%xe;") ! could have alternate extension $ if f$search("extra.pods") .eqs. "" .or. P1 .eqs. "FORCE" then - search README.* "=head"/window=0/output=extra.pods $ open/read/error=extra_close EXTRA extra.pods @@ -7225,7 +7243,7 @@ $ pod_file_rdt = f$cvtime(f$file_attributes(pod_file,"RDT")) $ if file_rdt .GTS. pod_file_rdt then do_copy := true $ endif $ ! wacky method to preserve case on ODS-5 even when parse style is traditional -$ if do_copy then mcr sys$disk:[]miniperl.exe -e "exit 0+$^E unless File::Copy::rmscopy(q{''file'}, q{''pod_file'});" +$ if do_copy then mcr 'miniperl' -e "exit 0+$^E unless File::Copy::rmscopy(q{''file'}, q{''pod_file'});" $ endif $ endif $ goto extra_loop diff --git a/cop.h b/cop.h index f2006c2..bf287a1 100644 --- a/cop.h +++ b/cop.h @@ -935,13 +935,11 @@ struct subst { cx->sb_rx = rx, \ cx->cx_type = CXt_SUBST | (once ? CXp_ONCE : 0); \ rxres_save(&cx->sb_rxres, rx); \ - (void)ReREFCNT_inc(rx); \ - SvREFCNT_inc_void_NN(targ) + (void)ReREFCNT_inc(rx) # define POPSUBST(cx) cx = &cxstack[cxstack_ix--]; \ rxres_free(&cx->sb_rxres); \ - ReREFCNT_dec(cx->sb_rx); \ - SvREFCNT_dec_NN(cx->sb_targ) + ReREFCNT_dec(cx->sb_rx) #endif #define CxONCE(cx) ((cx)->cx_type & CXp_ONCE) @@ -1094,6 +1092,7 @@ L. #define PERLSI_WARNHOOK 7 #define PERLSI_DIEHOOK 8 #define PERLSI_REQUIRE 9 +#define PERLSI_MULTICALL 10 struct stackinfo { AV * si_stack; /* stack for current runlevel */ @@ -1217,7 +1216,7 @@ See L. multicall_oldcatch = CATCH_GET; \ SAVETMPS; SAVEVPTR(PL_op); \ CATCH_SET(TRUE); \ - PUSHSTACKi(PERLSI_SORT); \ + PUSHSTACKi(PERLSI_MULTICALL); \ PUSHBLOCK(cx, (CXt_SUB|CXp_MULTICALL|flags), PL_stack_sp); \ PUSHSUB(cx); \ if (!(flags & CXp_SUB_RE_FAKE)) \ diff --git a/cpan/.dir-locals.el b/cpan/.dir-locals.el index 13109d1..8690ac6 100644 --- a/cpan/.dir-locals.el +++ b/cpan/.dir-locals.el @@ -1,2 +1,3 @@ ;; Empty file to avoid imposing the defaults from the parent directory ;; on code imported from CPAN +() diff --git a/cpan/Archive-Tar/bin/ptar b/cpan/Archive-Tar/bin/ptar index 9dc6402..0eaffa7 100644 --- a/cpan/Archive-Tar/bin/ptar +++ b/cpan/Archive-Tar/bin/ptar @@ -1,7 +1,6 @@ #!/usr/bin/perl use strict; -BEGIN { pop @INC if $INC[-1] eq '.' } use File::Find; use Getopt::Std; use Archive::Tar; diff --git a/cpan/Archive-Tar/bin/ptardiff b/cpan/Archive-Tar/bin/ptardiff index 4668fa6..66bd859 100644 --- a/cpan/Archive-Tar/bin/ptardiff +++ b/cpan/Archive-Tar/bin/ptardiff @@ -1,6 +1,5 @@ #!/usr/bin/perl -BEGIN { pop @INC if $INC[-1] eq '.' } use strict; use Archive::Tar; use Getopt::Std; diff --git a/cpan/Archive-Tar/bin/ptargrep b/cpan/Archive-Tar/bin/ptargrep index 8dc6b4f..1a320f1 100644 --- a/cpan/Archive-Tar/bin/ptargrep +++ b/cpan/Archive-Tar/bin/ptargrep @@ -4,7 +4,6 @@ # archive. See 'ptargrep --help' for more documentation. # -BEGIN { pop @INC if $INC[-1] eq '.' } use strict; use warnings; diff --git a/cpan/Archive-Tar/lib/Archive/Tar.pm b/cpan/Archive-Tar/lib/Archive/Tar.pm index 6a047a3..1b792df 100644 --- a/cpan/Archive-Tar/lib/Archive/Tar.pm +++ b/cpan/Archive-Tar/lib/Archive/Tar.pm @@ -31,7 +31,7 @@ use vars qw[$DEBUG $error $VERSION $WARN $FOLLOW_SYMLINK $CHOWN $CHMOD $DEBUG = 0; $WARN = 1; $FOLLOW_SYMLINK = 0; -$VERSION = "2.04_01"; +$VERSION = "2.04"; $CHOWN = 1; $CHMOD = 1; $SAME_PERMISSIONS = $> == 0 ? 1 : 0; diff --git a/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm b/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm index f9557e9..399aaf6 100644 --- a/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm +++ b/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm @@ -3,7 +3,7 @@ package Archive::Tar::Constant; BEGIN { require Exporter; - $VERSION = '2.04_01'; + $VERSION = '2.04'; @ISA = qw[Exporter]; require Time::Local if $^O eq "MacOS"; diff --git a/cpan/Archive-Tar/lib/Archive/Tar/File.pm b/cpan/Archive-Tar/lib/Archive/Tar/File.pm index 3ecad56..3aa1b3c 100644 --- a/cpan/Archive-Tar/lib/Archive/Tar/File.pm +++ b/cpan/Archive-Tar/lib/Archive/Tar/File.pm @@ -13,7 +13,7 @@ use Archive::Tar::Constant; use vars qw[@ISA $VERSION]; #@ISA = qw[Archive::Tar]; -$VERSION = '2.04_01'; +$VERSION = '2.04'; ### set value to 1 to oct() it during the unpack ### diff --git a/cpan/CPAN-Meta-Requirements/lib/CPAN/Meta/Requirements.pm b/cpan/CPAN-Meta-Requirements/lib/CPAN/Meta/Requirements.pm index 8348559..037ea50 100644 --- a/cpan/CPAN-Meta-Requirements/lib/CPAN/Meta/Requirements.pm +++ b/cpan/CPAN-Meta-Requirements/lib/CPAN/Meta/Requirements.pm @@ -3,7 +3,7 @@ use warnings; package CPAN::Meta::Requirements; # ABSTRACT: a set of version requirements for a CPAN dist -our $VERSION = '2.132'; +our $VERSION = '2.133'; #pod =head1 SYNOPSIS #pod @@ -110,34 +110,32 @@ sub _isa_version { sub _version_object { my ($self, $module, $version) = @_; - my $vobj; + my ($vobj, $err); - # hack around version::vpp not handling <3 character vstring literals - if ( $INC{'version/vpp.pm'} || $INC{'ExtUtils/MakeMaker/version/vpp.pm'} ) { - my $magic = _find_magic_vstring( $version ); - $version = $magic if length $magic; + if (not defined $version or (!ref($version) && $version eq '0')) { + return $V0; } - - eval { - if (not defined $version or (!ref($version) && $version eq '0')) { - $vobj = $V0; - } - elsif ( ref($version) eq 'version' || _isa_version($version) ) { - $vobj = $version; + elsif ( ref($version) eq 'version' || _isa_version($version) ) { + $vobj = $version; + } + else { + # hack around version::vpp not handling <3 character vstring literals + if ( $INC{'version/vpp.pm'} || $INC{'ExtUtils/MakeMaker/version/vpp.pm'} ) { + my $magic = _find_magic_vstring( $version ); + $version = $magic if length $magic; } - else { + eval { local $SIG{__WARN__} = sub { die "Invalid version: $_[0]" }; $vobj = version->new($version); - } - }; - - if ( my $err = $@ ) { - my $hook = $self->{bad_version_hook}; - $vobj = eval { $hook->($version, $module) } - if ref $hook eq 'CODE'; - unless (eval { $vobj->isa("version") }) { - $err =~ s{ at .* line \d+.*$}{}; - die "Can't convert '$version': $err"; + }; + if ( my $err = $@ ) { + my $hook = $self->{bad_version_hook}; + $vobj = eval { $hook->($version, $module) } + if ref $hook eq 'CODE'; + unless (eval { $vobj->isa("version") }) { + $err =~ s{ at .* line \d+.*$}{}; + die "Can't convert '$version': $err"; + } } } @@ -226,10 +224,14 @@ BEGIN { } } +# add_minimum is optimized compared to generated subs above because +# it is called frequently and with "0" or equivalent input sub add_minimum { my ($self, $name, $version) = @_; - if (not defined $version or (!ref($version) && $version eq '0')) { + # stringify $version so that version->new("0.00")->stringify ne "0" + # which preserves the user's choice of "0.00" as the requirement + if (not defined $version or "$version" eq '0') { return $self if $self->__entry_for($name); Carp::confess("can't add new requirements to finalized requirements") if $self->is_finalized; @@ -787,7 +789,7 @@ CPAN::Meta::Requirements - a set of version requirements for a CPAN dist =head1 VERSION -version 2.132 +version 2.133 =head1 SYNOPSIS diff --git a/cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm b/cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm index 387a8c4..96ed0ca 100644 --- a/cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm +++ b/cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm @@ -1,17 +1,12 @@ use 5.008001; # sane UTF-8 support use strict; use warnings; -package CPAN::Meta::YAML; -$CPAN::Meta::YAML::VERSION = '0.012'; -BEGIN { - $CPAN::Meta::YAML::AUTHORITY = 'cpan:ADAMK'; -} -# git description: v1.60-1-g1c16a0a -; # original $VERSION removed by Doppelgaenger +package CPAN::Meta::YAML; # git description: v1.66-5-ge09e1ae # XXX-INGY is 5.8.1 too old/broken for utf8? # XXX-XDG Lancaster consensus was that it was sufficient until # proven otherwise - +$CPAN::Meta::YAML::VERSION = '0.016'; +; # original $VERSION removed by Doppelgaenger ##################################################################### # The CPAN::Meta::YAML API. @@ -153,7 +148,7 @@ my %QUOTE = map { $_ => 1 } qw{ 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_capture_unquoted_key = qr/([^:]+(?::+\S(?:[^:]*|.*?(?=:)))*)(?=\s*\:(?:\s+|$))/; my $re_trailing_comment = qr/(?:\s+\#.*)?/; my $re_key_value_separator = qr/\s*:(?:\s+(?:\#.*)?|$)/; @@ -300,10 +295,11 @@ Did you decode with lax ":utf8" instead of strict ":encoding(UTF-8)"? } } }; - if ( ref $@ eq 'SCALAR' ) { - $self->_error(${$@}); - } elsif ( $@ ) { - $self->_error($@); + my $err = $@; + if ( ref $err eq 'SCALAR' ) { + $self->_error(${$err}); + } elsif ( $err ) { + $self->_error($err); } return $self; @@ -515,6 +511,10 @@ sub _load_hash { die \"CPAN::Meta::YAML failed to classify line '$lines->[0]'"; } + if ( exists $hash->{$key} ) { + warn "CPAN::Meta::YAML found a duplicate key '$key' in line '$lines->[0]'"; + } + # Do we have a value? if ( length $lines->[0] ) { # Yes @@ -828,12 +828,10 @@ sub _can_flock { ##################################################################### # Use Scalar::Util if possible, otherwise emulate it +use Scalar::Util (); BEGIN { local $@; - if ( eval { require Scalar::Util } - && $Scalar::Util::VERSION - && eval($Scalar::Util::VERSION) >= 1.18 - ) { + if ( eval { Scalar::Util->VERSION(1.18); } ) { *refaddr = *Scalar::Util::refaddr; } else { @@ -855,8 +853,7 @@ END_PERL } } - - +delete $CPAN::Meta::YAML::{refaddr}; 1; @@ -881,7 +878,7 @@ CPAN::Meta::YAML - Read and write a subset of YAML for CPAN Meta files =head1 VERSION -version 0.012 +version 0.016 =head1 SYNOPSIS @@ -917,31 +914,12 @@ C methods do B support UTF-8 and should not be used. This module is currently derived from L 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 +L =head1 SEE ALSO L, L, L -=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. -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 - - git clone https://github.com/dagolden/CPAN-Meta-YAML.git - =head1 AUTHORS =over 4 diff --git a/cpan/CPAN-Meta-YAML/t/00-report-prereqs.dd b/cpan/CPAN-Meta-YAML/t/00-report-prereqs.dd new file mode 100644 index 0000000..98d00aa --- /dev/null +++ b/cpan/CPAN-Meta-YAML/t/00-report-prereqs.dd @@ -0,0 +1,66 @@ +do { my $x = { + 'configure' => { + 'requires' => { + 'ExtUtils::MakeMaker' => '6.17', + 'perl' => '5.008001' + } + }, + 'develop' => { + 'requires' => { + 'Dist::Zilla' => '5', + 'Dist::Zilla::Plugin::AppendExternalData' => '0', + 'Dist::Zilla::Plugin::Doppelgaenger' => '0.007', + 'Dist::Zilla::Plugin::Encoding' => '0', + 'Dist::Zilla::Plugin::Git::NextVersion' => '0', + 'Dist::Zilla::Plugin::MakeMaker::Highlander' => '0.003', + 'Dist::Zilla::Plugin::MetaResources' => '0', + 'Dist::Zilla::Plugin::PkgVersion' => '0', + 'Dist::Zilla::Plugin::PodWeaver' => '0', + 'Dist::Zilla::Plugin::PruneFiles' => '0', + 'Dist::Zilla::Plugin::RemovePrereqs' => '0', + 'Dist::Zilla::PluginBundle::DAGOLDEN' => '0.072', + 'File::Spec' => '0', + 'File::Temp' => '0', + 'IO::Handle' => '0', + 'IPC::Open3' => '0', + 'Test::CPAN::Meta' => '0', + 'Test::More' => '0', + 'Test::Pod' => '1.41', + 'Test::Version' => '1' + } + }, + 'runtime' => { + 'requires' => { + 'B' => '0', + 'Carp' => '0', + 'Exporter' => '0', + 'Fcntl' => '0', + 'Scalar::Util' => '0', + 'perl' => '5.008001', + 'strict' => '0', + 'warnings' => '0' + } + }, + 'test' => { + 'recommends' => { + 'CPAN::Meta' => '2.120900' + }, + 'requires' => { + 'ExtUtils::MakeMaker' => '0', + 'File::Basename' => '0', + 'File::Find' => '0', + 'File::Spec' => '0', + 'File::Spec::Functions' => '0', + 'File::Temp' => '0.19', + 'IO::Dir' => '0', + 'JSON::PP' => '0', + 'Test::More' => '0.99', + 'lib' => '0', + 'perl' => '5.008001', + 'utf8' => '0', + 'vars' => '0' + } + } + }; + $x; + } \ No newline at end of file diff --git a/cpan/CPAN-Meta-YAML/t/10_read.t b/cpan/CPAN-Meta-YAML/t/10_read.t index 27f83b6..af02e79 100644 --- a/cpan/CPAN-Meta-YAML/t/10_read.t +++ b/cpan/CPAN-Meta-YAML/t/10_read.t @@ -101,12 +101,5 @@ subtest "bad read arguments" => sub { }; done_testing; -# -# This file is part of CPAN-Meta-YAML -# -# This software is copyright (c) 2010 by Adam Kennedy. -# -# This is free software; you can redistribute it and/or modify it under -# the same terms as the Perl 5 programming language system itself. -# +# COPYRIGHT # vim: ts=4 sts=4 sw=4 et: diff --git a/cpan/CPAN-Meta-YAML/t/12_write.t b/cpan/CPAN-Meta-YAML/t/12_write.t index 8c7b4be..b4be78a 100644 --- a/cpan/CPAN-Meta-YAML/t/12_write.t +++ b/cpan/CPAN-Meta-YAML/t/12_write.t @@ -8,7 +8,8 @@ use TestUtils; use CPAN::Meta::YAML; use File::Basename qw/basename/; -use File::Temp qw/tempfile/; +use File::Spec::Functions 'catfile'; +use File::Temp 0.19; # newdir #--------------------------------------------------------------------------# # Error conditions @@ -44,9 +45,9 @@ for my $c ( @cases ) { @warnings = (); # get a tempfile name to write to - my ($fh, $tempfile) = tempfile("YAML-Tiny-test-XXXXXXXX", TMPDIR => 1 ); - my $short_tempfile = basename($tempfile); - close $fh; # avoid locks on windows + my $tempdir = File::Temp->newdir("YTXXXXXX", TMPDIR => 1 ); + my $short_tempfile = 'output'; + my $tempfile = catfile($tempdir, $short_tempfile); # CPAN::Meta::YAML->write ok( CPAN::Meta::YAML->new($c)->write($tempfile), diff --git a/cpan/CPAN-Meta-YAML/t/21_yamlpm_compat.t b/cpan/CPAN-Meta-YAML/t/21_yamlpm_compat.t index e6a69d3..944ceff 100644 --- a/cpan/CPAN-Meta-YAML/t/21_yamlpm_compat.t +++ b/cpan/CPAN-Meta-YAML/t/21_yamlpm_compat.t @@ -3,7 +3,8 @@ use warnings; use lib 't/lib/'; use Test::More 0.99; use TestBridge; -use File::Temp qw(tempfile); +use File::Spec::Functions 'catfile'; +use File::Temp 0.19; # newdir #--------------------------------------------------------------------------# # This file test that the YAML.pm compatible Dump/Load/DumpFile/LoadFile @@ -31,8 +32,8 @@ use CPAN::Meta::YAML; my $arrayref = [ 1 .. 5 ]; my $hashref = { alpha => 'beta', gamma => 'delta' }; - my ($fh, $filename) = tempfile; - close $fh; # or LOCK_SH will hang + my $tempdir = File::Temp->newdir("YTXXXXXX", TMPDIR => 1 ); + my $filename = catfile($tempdir, 'compat'); my $rv = CPAN::Meta::YAML::DumpFile( $filename, $scalar, $arrayref, $hashref); diff --git a/cpan/CPAN-Meta-YAML/t/30_yaml_spec_tml.t b/cpan/CPAN-Meta-YAML/t/30_yaml_spec_tml.t index 1c56c38..1209a96 100644 --- a/cpan/CPAN-Meta-YAML/t/30_yaml_spec_tml.t +++ b/cpan/CPAN-Meta-YAML/t/30_yaml_spec_tml.t @@ -1,20 +1,22 @@ # Run the appropriate tests from https://github.com/ingydotnet/yaml-spec-tml use strict; use warnings; -use lib 't/lib/'; +use lib 't/lib'; use Test::More 0.99; use TestBridge; use TestUtils; my $JSON = json_class() - or Test::More::plan skip_all => "no JSON or JSON::PP"; + or Test::More::plan skip_all => 'no JSON backends available!?'; + +diag 'using JSON backend: ' . $JSON; # Each spec test will need a different bridge and arguments: my @spec_tests = ( ['t/tml-spec/basic-data.tml', 'test_yaml_json', $JSON], # This test is currently failing massively. We use LAST to only run what is # covered so far. - ['t/tml-spec/unicode.tml', 'test_code_point'], + ['t/tml-spec/unicode.tml', 'test_code_point'], # uses JSON::PP ); for my $test (@spec_tests) { diff --git a/cpan/CPAN-Meta-YAML/t/86_fail.t b/cpan/CPAN-Meta-YAML/t/86_fail.t new file mode 100644 index 0000000..b61a06b --- /dev/null +++ b/cpan/CPAN-Meta-YAML/t/86_fail.t @@ -0,0 +1,30 @@ +=pod + +This is an example of a serious design flaw in CPAN::Meta::YAML. + +It is generally a bad idea to fake out a parsing process. In this case, +CPAN::Meta::YAML strips off all lines that look like comments. + +It should be easy to find dozens of bugs by looking at the assumptions the code +makes and then finding a counter case like this. + +That's why I'm working on Tiny::YAML and YAML::Pegex, which are driven by a +grammar. + +=cut + +use Test::More tests => 1; +use CPAN::Meta::YAML; + +TODO: { +local $TODO = "Failing tests for things CPAN::Meta::YAML does wrong"; + +my $yaml = <<'...'; +- | + # Perl sub: + sub foo {} +... +is Load($yaml)->[0], + "# Perl sub:\nsub foo{}\n", + "Comments in literal scalars"; +} diff --git a/cpan/CPAN-Meta-YAML/t/README.md b/cpan/CPAN-Meta-YAML/t/README.md index 4eece3c..e95ebfe 100644 --- a/cpan/CPAN-Meta-YAML/t/README.md +++ b/cpan/CPAN-Meta-YAML/t/README.md @@ -1,6 +1,6 @@ -# Guide to CPAN::Meta::YAML testing +# Guide to YAML::Tiny testing -CPAN::Meta::YAML tests use several components: +YAML::Tiny tests use several components: * .t files * Test libraries in t/lib @@ -120,10 +120,10 @@ functions used to process test blocks. TestML data files are organized into three directories: * t/tml-spec — these test files are provided by the YAML spec maintainers and -should not be modified except to skip testing features that CPAN::Meta::YAML does not +should not be modified except to skip testing features that YAML::Tiny does not support -* t/tml-local — these test files are CPAN::Meta::YAML's own unit tests; generally new +* t/tml-local — these test files are YAML::Tiny's own unit tests; generally new test cases for coverage or correctness should be added here; these are broken into subdirectories, described later diff --git a/cpan/CPAN-Meta-YAML/t/lib/TestBridge.pm b/cpan/CPAN-Meta-YAML/t/lib/TestBridge.pm index 56c3a38..eb2ebe7 100644 --- a/cpan/CPAN-Meta-YAML/t/lib/TestBridge.pm +++ b/cpan/CPAN-Meta-YAML/t/lib/TestBridge.pm @@ -24,6 +24,7 @@ our @EXPORT = qw{ test_perl_to_yaml test_dump_error test_load_error + test_load_warning test_yaml_json test_code_point error_like @@ -40,6 +41,10 @@ my %ERROR = ( E_CLASSIFY => qr{\QCPAN::Meta::YAML failed to classify the line}, ); +my %WARN = ( + E_DUPKEY => qr{\QCPAN::Meta::YAML found a duplicate key}, +); + # use XXX -with => 'YAML::XS'; #--------------------------------------------------------------------------# @@ -77,6 +82,9 @@ sub run_testml_file { $code->($file, $blocks); } +# retrieves all the keys in @point from the $block hash, returning them in +# order, along with $block->{Label}. +# returns false if any keys cannot be found sub _testml_has_points { my ($block, @points) = @_; my @values; @@ -194,7 +202,7 @@ sub test_perl_to_yaml { #--------------------------------------------------------------------------# # test_dump_error # -# two blocks: perl, error +# two blocks: perl, error # # Tests that perl references result in an error when dumped # @@ -225,7 +233,7 @@ sub test_dump_error { #--------------------------------------------------------------------------# # test_load_error # -# two blocks: yaml, error +# two blocks: yaml, error # # Tests that a YAML string results in an error when loaded # @@ -250,6 +258,41 @@ sub test_load_error { } #--------------------------------------------------------------------------# +# test_load_warning +# +# two blocks: yaml, warning +# +# Tests that a YAML string results in warning when loaded +# +# The warning must be a key in the %WARN hash in this file +#--------------------------------------------------------------------------# +sub test_load_warning { + my ($block) = @_; + + my ($yaml, $warning, $label) = + _testml_has_points($block, qw(yaml warning)) or return; + + chomp $warning; + my $expected = $WARN{$warning}; + + subtest $label, sub { + # this is not in a sub like warning_like because of the danger of + # matching the regex parameter against something earlier in the stack + my @warnings; + local $SIG{__WARN__} = sub { push @warnings, shift; }; + + my $result = eval { CPAN::Meta::YAML->read_string( $yaml ) }; + + is(scalar(@warnings), 1, 'got exactly one warning'); + like( + $warnings[0], + $expected, + 'Got expected warning', + ) or diag "YAML:\n$yaml\n", 'warning: ', explain(\@warnings); + }; +} + +#--------------------------------------------------------------------------# # test_yaml_json # # two blocks: yaml, json diff --git a/cpan/CPAN-Meta-YAML/t/lib/TestUtils.pm b/cpan/CPAN-Meta-YAML/t/lib/TestUtils.pm index df49933..b41f35c 100644 --- a/cpan/CPAN-Meta-YAML/t/lib/TestUtils.pm +++ b/cpan/CPAN-Meta-YAML/t/lib/TestUtils.pm @@ -26,12 +26,9 @@ sub find_tml_files { return @files; } -# Prefer JSON to JSON::PP; skip if we don't have at least one sub json_class { - for (qw/JSON JSON::PP/) { - return $_ if eval "require $_; 1"; - } - return; + return eval { require JSON::MaybeXS; JSON::MaybeXS->VERSION('1.001000'); $JSON::MaybeXS::JSON_Class } + || do { require JSON::PP; 'JSON::PP' }; } sub test_data_directory { diff --git a/cpan/CPAN-Meta-YAML/t/tml b/cpan/CPAN-Meta-YAML/t/tml index 4ae95e9..d4e3fe7 100755 --- a/cpan/CPAN-Meta-YAML/t/tml +++ b/cpan/CPAN-Meta-YAML/t/tml @@ -17,6 +17,7 @@ use TestUtils; my %BRIDGE_MAP = ( 'tml-local/dump-error' => \&test_dump_error, 'tml-local/load-error' => \&test_load_error, + 'tml-local/load-warning' => \&test_load_warning, 'tml-local/perl-to-yaml' => \&test_perl_to_yaml, 'tml-local/yaml-roundtrip' => \&test_yaml_roundtrip, 'tml-spec/basic-data.tml' => \&test_yaml_json, diff --git a/cpan/CPAN-Meta-YAML/t/tml-local/load-warning/document.tml b/cpan/CPAN-Meta-YAML/t/tml-local/load-warning/document.tml new file mode 100644 index 0000000..482a490 --- /dev/null +++ b/cpan/CPAN-Meta-YAML/t/tml-local/load-warning/document.tml @@ -0,0 +1,5 @@ +=== mapping with double key +--- yaml +foo: 1 +foo: 2 +--- warning: E_DUPKEY diff --git a/cpan/CPAN-Meta-YAML/t/tml-local/yaml-roundtrip/collection.tml b/cpan/CPAN-Meta-YAML/t/tml-local/yaml-roundtrip/collection.tml index 5b45243..8927ebd 100644 --- a/cpan/CPAN-Meta-YAML/t/tml-local/yaml-roundtrip/collection.tml +++ b/cpan/CPAN-Meta-YAML/t/tml-local/yaml-roundtrip/collection.tml @@ -126,3 +126,12 @@ FOO: bar: baz --- perl [ { 'FOO' => [ { bar => 'baz' } ] } ] + +# RT 92916 (a Test::Database ticket) +=== colon at end of key +--- yaml +\--- +dbi:SQLite:: + foo: bar +--- perl +[ { 'dbi:SQLite:' => { 'foo' => 'bar' } } ] diff --git a/cpan/CPAN-Meta-YAML/t/tml-local/yaml-roundtrip/quoting.tml b/cpan/CPAN-Meta-YAML/t/tml-local/yaml-roundtrip/quoting.tml index e9fb60f..18de3bb 100644 --- a/cpan/CPAN-Meta-YAML/t/tml-local/yaml-roundtrip/quoting.tml +++ b/cpan/CPAN-Meta-YAML/t/tml-local/yaml-roundtrip/quoting.tml @@ -131,4 +131,9 @@ slash3: '\\foo\\\\' [ "A\\B \\C" ] - +=== Single Dash +--- yaml +--- +foo: '-' +--- perl +[ { foo => '-' } ] diff --git a/cpan/CPAN-Meta-YAML/t/tml-world/YAML-Tiny-META.tml b/cpan/CPAN-Meta-YAML/t/tml-world/YAML-Tiny-META.tml index af84a39..b5b39ed 100644 --- a/cpan/CPAN-Meta-YAML/t/tml-world/YAML-Tiny-META.tml +++ b/cpan/CPAN-Meta-YAML/t/tml-world/YAML-Tiny-META.tml @@ -1,5 +1,5 @@ -=== CPAN::Meta::YAML -# Testing CPAN::Meta::YAML's own META.yml file -- at least as of some time ago +=== YAML::Tiny +# Testing YAML::Tiny's own META.yml file -- at least as of some time ago --- yaml abstract: Read/Write YAML files with as little code as possible author: 'Adam Kennedy ' diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta.pm b/cpan/CPAN-Meta/lib/CPAN/Meta.pm index 2a78691..afbb221 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta.pm +++ b/cpan/CPAN-Meta/lib/CPAN/Meta.pm @@ -3,7 +3,7 @@ use strict; use warnings; package CPAN::Meta; -our $VERSION = '2.150001'; +our $VERSION = '2.150005'; #pod =head1 SYNOPSIS #pod @@ -591,6 +591,10 @@ sub as_struct { #pod both cases, the same rules are followed as in the C method for choosing #pod a serialization backend. #pod +#pod The serialized structure will include a C entry giving +#pod the package and version used to serialize. Any existing key in the given +#pod C<$meta> object will be clobbered. +#pod #pod =cut sub as_string { @@ -610,10 +614,14 @@ sub as_string { my ($data, $backend); if ( $version ge '2' ) { $backend = Parse::CPAN::Meta->json_backend(); + local $struct->{x_serialization_backend} = sprintf '%s version %s', + $backend, $backend->VERSION; $data = $backend->new->pretty->canonical->encode($struct); } else { $backend = Parse::CPAN::Meta->yaml_backend(); + local $struct->{x_serialization_backend} = sprintf '%s version %s', + $backend, $backend->VERSION; $data = eval { no strict 'refs'; &{"$backend\::Dump"}($struct) }; if ( $@ ) { croak $backend->can('errstr') ? $backend->errstr : $@ @@ -632,8 +640,6 @@ sub TO_JSON { # ABSTRACT: the distribution metadata for a CPAN dist -__END__ - =pod =encoding UTF-8 @@ -644,7 +650,7 @@ CPAN::Meta - the distribution metadata for a CPAN dist =head1 VERSION -version 2.150001 +version 2.150005 =head1 SYNOPSIS @@ -859,6 +865,10 @@ JSON. For C less than 2, the string will be serialized as YAML. In both cases, the same rules are followed as in the C method for choosing a serialization backend. +The serialized structure will include a C entry giving +the package and version used to serialize. Any existing key in the given +C<$meta> object will be clobbered. + =head1 STRING DATA The following methods return a single value, which is the value for the @@ -1025,7 +1035,7 @@ Ricardo Signes =head1 CONTRIBUTORS -=for stopwords Ansgar Burchardt Avar Arnfjord Bjarmason Christopher J. Madsen Chuck Adams Cory G Watson Damyan Ivanov Eric Wilhelm Graham Knop Gregor Hermann Karen Etheridge Kenichi Ishigaki Ken Williams Lars Dieckow Leon Timmermans majensen Mark Fowler Matt S Trout Michael G. Schwern mohawk2 moznion Olaf Alders Olivier Mengue Randy Sims +=for stopwords Ansgar Burchardt Avar Arnfjord Bjarmason Christopher J. Madsen Chuck Adams Cory G Watson Damyan Ivanov Eric Wilhelm Graham Knop Gregor Hermann Karen Etheridge Kenichi Ishigaki Ken Williams Lars Dieckow Leon Timmermans majensen Mark Fowler Matt S Trout Michael G. Schwern mohawk2 moznion Niko Tyni Olaf Alders Olivier Mengué Randy Sims Tomohiro Hosaka =over 4 @@ -1111,16 +1121,24 @@ moznion =item * +Niko Tyni + +=item * + Olaf Alders =item * -Olivier Mengue +Olivier Mengué =item * Randy Sims +=item * + +Tomohiro Hosaka + =back =head1 COPYRIGHT AND LICENSE @@ -1131,3 +1149,8 @@ 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=2 sts=2 sw=2 et : diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm b/cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm index 8b32b13..03806bc 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm @@ -3,7 +3,7 @@ use strict; use warnings; package CPAN::Meta::Converter; -our $VERSION = '2.150001'; +our $VERSION = '2.150005'; #pod =head1 SYNOPSIS #pod @@ -388,6 +388,8 @@ sub _clean_version { sub _bad_version_hook { my ($v) = @_; + $v =~ s{^\s*}{}; + $v =~ s{\s*$}{}; $v =~ s{[a-z]+$}{}; # strip trailing alphabetics my $vobj = eval { version->new($v) }; return defined($vobj) ? $vobj : version->new(0); # or give up @@ -803,7 +805,7 @@ my %up_convert = ( # CHANGED TO MANDATORY 'dynamic_config' => \&_keep_or_one, # ADDED MANDATORY - 'release_status' => \&_release_status_from_version, + 'release_status' => \&_release_status, # PRIOR OPTIONAL 'keywords' => \&_keep, 'no_index' => \&_no_index_directory, @@ -1497,7 +1499,7 @@ CPAN::Meta::Converter - Convert CPAN distribution metadata structures =head1 VERSION -version 2.150001 +version 2.150005 =head1 SYNOPSIS @@ -1634,4 +1636,4 @@ the same terms as the Perl 5 programming language system itself. __END__ -# vim: ts=2 sts=2 sw=2 et: +# vim: ts=2 sts=2 sw=2 et : diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm b/cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm index 4bfbb19..9dac4f4 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm @@ -3,7 +3,7 @@ use strict; use warnings; package CPAN::Meta::Feature; -our $VERSION = '2.150001'; +our $VERSION = '2.150005'; use CPAN::Meta::Prereqs; @@ -67,8 +67,6 @@ sub prereqs { $_[0]{prereqs} } # ABSTRACT: an optional feature provided by a CPAN distribution -__END__ - =pod =encoding UTF-8 @@ -79,7 +77,7 @@ CPAN::Meta::Feature - an optional feature provided by a CPAN distribution =head1 VERSION -version 2.150001 +version 2.150005 =head1 DESCRIPTION @@ -144,3 +142,8 @@ 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=2 sts=2 sw=2 et : diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/History.pm b/cpan/CPAN-Meta/lib/CPAN/Meta/History.pm index 3d7e558..f4cac5e 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/History.pm +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/History.pm @@ -4,7 +4,7 @@ use strict; use warnings; package CPAN::Meta::History; -our $VERSION = '2.150001'; +our $VERSION = '2.150005'; 1; @@ -22,7 +22,7 @@ CPAN::Meta::History - history of CPAN Meta Spec changes =head1 VERSION -version 2.150001 +version 2.150005 =head1 DESCRIPTION diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_0.pod b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_0.pod index 1052c3e..cd3bb9c 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_0.pod +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_0.pod @@ -7,7 +7,8 @@ CPAN::Meta::History::Meta_1_0 - Version 1.0 metadata specification for META.yml =head1 PREFACE This is a historical copy of the version 1.0 specification for F -files, copyright by Ken Williams. +files, copyright by Ken Williams and licensed under the same terms as Perl +itself. Modifications from the original: diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_1.pod b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_1.pod index 69f3411..7b4b2f4 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_1.pod +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_1.pod @@ -7,7 +7,8 @@ CPAN::Meta::History::Meta_1_1 - Version 1.1 metadata specification for META.yml =head1 PREFACE This is a historical copy of the version 1.1 specification for F -files, copyright by Ken Williams. +files, copyright by Ken Williams and licensed under the same terms as Perl +itself. Modifications from the original: diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_2.pod b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_2.pod index 69cd5bb..48867b2 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_2.pod +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_2.pod @@ -7,7 +7,8 @@ CPAN::Meta::History::Meta_1_2 - Version 1.2 metadata specification for META.yml =head1 PREFACE This is a historical copy of the version 1.2 specification for F -files, copyright by Ken Williams. +files, copyright by Ken Williams and licensed under the same terms as Perl +itself. Modifications from the original: diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_3.pod b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_3.pod index deff28d..b075adc 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_3.pod +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_3.pod @@ -7,7 +7,8 @@ CPAN::Meta::History::Meta_1_3 - Version 1.3 metadata specification for META.yml =head1 PREFACE This is a historical copy of the version 1.3 specification for F -files, copyright by Ken Williams. +files, copyright by Ken Williams and licensed under the same terms as Perl +itself. Modifications from the original: diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_4.pod b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_4.pod index a84fb3d..471296c 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_4.pod +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_4.pod @@ -7,7 +7,8 @@ CPAN::Meta::History::Meta_1_4 - Version 1.4 metadata specification for META.yml =head1 PREFACE This is a historical copy of the version 1.4 specification for F -files, copyright by Ken Williams. +files, copyright by Ken Williams and licensed under the same terms as Perl +itself. Modifications from the original: diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm b/cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm index f4c1286..05a18ea 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm @@ -3,15 +3,24 @@ use warnings; package CPAN::Meta::Merge; -our $VERSION = '2.150001'; +our $VERSION = '2.150005'; use Carp qw/croak/; use Scalar::Util qw/blessed/; use CPAN::Meta::Converter 2.141170; +sub _is_identical { + my ($left, $right) = @_; + return + (not defined $left and not defined $right) + # if either of these are references, we compare the serialized value + || (defined $left and defined $right and $left eq $right); +} + sub _identical { my ($left, $right, $path) = @_; - croak sprintf "Can't merge attribute %s: '%s' does not equal '%s'", join('.', @{$path}), $left, $right unless $left eq $right; + croak sprintf "Can't merge attribute %s: '%s' does not equal '%s'", join('.', @{$path}), $left, $right + unless _is_identical($left, $right); return $left; } @@ -50,6 +59,13 @@ sub _uniq_map { if (not exists $left->{$key}) { $left->{$key} = $right->{$key}; } + # identical strings or references are merged identically + elsif (_is_identical($left->{$key}, $right->{$key})) { + 1; # do nothing - keep left + } + elsif (ref $left->{$key} eq 'HASH' and ref $right->{$key} eq 'HASH') { + $left->{$key} = _uniq_map($left->{$key}, $right->{$key}, [ @{$path}, $key ]); + } else { croak 'Duplication of element ' . join '.', @{$path}, $key; } @@ -219,6 +235,9 @@ sub merge { # ABSTRACT: Merging CPAN Meta fragments + +# vim: ts=2 sts=2 sw=2 et : + __END__ =pod @@ -231,7 +250,7 @@ CPAN::Meta::Merge - Merging CPAN Meta fragments =head1 VERSION -version 2.150001 +version 2.150005 =head1 SYNOPSIS diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm b/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm index 7503510..8a13eb1 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm @@ -3,7 +3,7 @@ use strict; use warnings; package CPAN::Meta::Prereqs; -our $VERSION = '2.150001'; +our $VERSION = '2.150005'; #pod =head1 DESCRIPTION #pod @@ -163,7 +163,7 @@ sub with_merged_prereqs { #pod #pod my $new_reqs = $prereqs->merged_requirements( \@phases, \@types ); #pod my $new_reqs = $prereqs->merged_requirements( \@phases ); -#pod my $new_reqs = $preerqs->merged_requirements(); +#pod my $new_reqs = $prereqs->merged_requirements(); #pod #pod This method joins together all requirements across a number of phases #pod and types into a new L object. If arguments @@ -275,8 +275,6 @@ sub clone { # ABSTRACT: a set of distribution prerequisites by phase and type -__END__ - =pod =encoding UTF-8 @@ -287,7 +285,7 @@ CPAN::Meta::Prereqs - a set of distribution prerequisites by phase and type =head1 VERSION -version 2.150001 +version 2.150005 =head1 DESCRIPTION @@ -353,7 +351,7 @@ will not alter them. my $new_reqs = $prereqs->merged_requirements( \@phases, \@types ); my $new_reqs = $prereqs->merged_requirements( \@phases ); - my $new_reqs = $preerqs->merged_requirements(); + my $new_reqs = $prereqs->merged_requirements(); This method joins together all requirements across a number of phases and types into a new L object. If arguments @@ -417,3 +415,8 @@ 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=2 sts=2 sw=2 et : diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm b/cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm index ec68f17..9056940 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm @@ -8,7 +8,7 @@ use strict; use warnings; package CPAN::Meta::Spec; -our $VERSION = '2.150001'; +our $VERSION = '2.150005'; 1; @@ -29,7 +29,7 @@ CPAN::Meta::Spec - specification for CPAN distribution metadata =head1 VERSION -version 2.150001 +version 2.150005 =head1 SYNOPSIS diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm b/cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm index cc0409e..eddaa10 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm @@ -3,7 +3,7 @@ use strict; use warnings; package CPAN::Meta::Validator; -our $VERSION = '2.150001'; +our $VERSION = '2.150005'; #pod =head1 SYNOPSIS #pod @@ -986,8 +986,6 @@ sub _error { # ABSTRACT: validate CPAN distribution metadata structures -__END__ - =pod =encoding UTF-8 @@ -998,7 +996,7 @@ CPAN::Meta::Validator - validate CPAN distribution metadata structures =head1 VERSION -version 2.150001 +version 2.150005 =head1 SYNOPSIS @@ -1205,3 +1203,8 @@ 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=2 sts=2 sw=2 et : diff --git a/cpan/CPAN-Meta/t/converter-bad.t b/cpan/CPAN-Meta/t/converter-bad.t index f9e7d59..7cce934 100644 --- a/cpan/CPAN-Meta/t/converter-bad.t +++ b/cpan/CPAN-Meta/t/converter-bad.t @@ -73,4 +73,4 @@ for my $f ( reverse sort @files ) { } done_testing; - +# vim: ts=2 sts=2 sw=2 et : diff --git a/cpan/CPAN-Meta/t/converter-fail.t b/cpan/CPAN-Meta/t/converter-fail.t index b9cfedd..dfda1ae 100644 --- a/cpan/CPAN-Meta/t/converter-fail.t +++ b/cpan/CPAN-Meta/t/converter-fail.t @@ -38,4 +38,4 @@ for my $f ( reverse sort @files ) { } done_testing; - +# vim: ts=2 sts=2 sw=2 et : diff --git a/cpan/CPAN-Meta/t/converter-fragments.t b/cpan/CPAN-Meta/t/converter-fragments.t index 18dad14..a9b78de 100644 --- a/cpan/CPAN-Meta/t/converter-fragments.t +++ b/cpan/CPAN-Meta/t/converter-fragments.t @@ -151,8 +151,8 @@ for my $c (@cases) { my $got = $cmc->upgrade_fragment; my $exp = $c->{expect}; is_deeply( $got, $exp, $c->{label} ) - or diag "GOT:\n" . explain($got) . "\nEXPECTED:\n" . explain($exp); + or diag "GOT:\n", explain($got), "EXPECTED:\n", explain($exp); } done_testing; -# vim: ts=4 sts=4 sw=4 et: +# vim: ts=8 sts=4 sw=4 et : diff --git a/cpan/CPAN-Meta/t/converter.t b/cpan/CPAN-Meta/t/converter.t index 10c6a48..87cdbd6 100644 --- a/cpan/CPAN-Meta/t/converter.t +++ b/cpan/CPAN-Meta/t/converter.t @@ -34,6 +34,7 @@ my @files = sort grep { /^\w/ } $data_dir->read; #use Data::Dumper; for my $f ( reverse sort @files ) { + note ''; my $path = File::Spec->catfile('t','data-test',$f); my $original = Parse::CPAN::Meta->load_file( $path ); ok( $original, "loaded $f" ); @@ -294,4 +295,15 @@ sub _normalize_reqs { ); } +# specific test for preserving release_status on upconversion +{ + my $path = File::Spec->catfile('t','data-test','preserve-release-status.yml'); + my $original = Parse::CPAN::Meta->load_file( $path ); + ok( $original, "loaded META-2.json" ); + my $cmc = CPAN::Meta::Converter->new( $original ); + my $cleaned_up = $cmc->convert( version => "2" ); + is( $cleaned_up->{release_status}, 'unstable', "release_status preserved" ); +} + done_testing; +# vim: ts=2 sts=2 sw=2 et: diff --git a/cpan/CPAN-Meta/t/data-test/preserve-release-status.yml b/cpan/CPAN-Meta/t/data-test/preserve-release-status.yml new file mode 100644 index 0000000..9468b86 --- /dev/null +++ b/cpan/CPAN-Meta/t/data-test/preserve-release-status.yml @@ -0,0 +1,13 @@ +# http://module-build.sourceforge.net/META-spec.html +#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# +name: Template-DBI +version: 2.64 +version_from: lib/Template/Plugin/DBI.pm +installdirs: site +license: perl +requires: + DBI: 1 + Template: 2.15 +distribution_type: module +generated_by: ExtUtils::MakeMaker version 6.17 +release_status: unstable diff --git a/cpan/CPAN-Meta/t/load-bad.t b/cpan/CPAN-Meta/t/load-bad.t index c3df3ea..7cae168 100644 --- a/cpan/CPAN-Meta/t/load-bad.t +++ b/cpan/CPAN-Meta/t/load-bad.t @@ -15,13 +15,11 @@ my @files = sort grep { /^\w/ } $data_dir->read; for my $f ( sort @files ) { my $path = File::Spec->catfile('t','data-fixable',$f); - my $meta = eval { CPAN::Meta->load_file( $path ) }; - ok( defined $meta, "load_file('$f')" ) or diag $@; + ok( eval { CPAN::Meta->load_file( $path ) }, "load_file('$f')" ) or diag $@; my $string = _slurp($path); my $method = $path =~ /\.json/ ? "load_json_string" : "load_yaml_string"; - my $meta2 = eval { CPAN::Meta->$method( $string, { fix_errors => 1 } ) }; - ok( defined $meta2, "$method(slurp('$f'))" ) or diag $@; + ok( eval { CPAN::Meta->$method( $string, { fix_errors => 1 } ) }, "$method(slurp('$f'))" ) or diag $@; } done_testing; - +# vim: ts=2 sts=2 sw=2 et: diff --git a/cpan/CPAN-Meta/t/merge.t b/cpan/CPAN-Meta/t/merge.t index f58e8c6..39e8124 100644 --- a/cpan/CPAN-Meta/t/merge.t +++ b/cpan/CPAN-Meta/t/merge.t @@ -1,5 +1,3 @@ -#! perl - use strict; use warnings; @@ -14,6 +12,7 @@ my %base = ( license => [ 'perl_5' ], resources => { license => [ 'http://dev.perl.org/licenses/' ], + bugtracker => { web => 'https://rt.cpan.org/Dist/Display.html?Foo-Bar' }, }, prereqs => { runtime => { @@ -70,6 +69,7 @@ my %first_expected = ( license => [ 'perl_5', 'bsd' ], resources => { license => [ 'http://dev.perl.org/licenses/', 'http://opensource.org/licenses/bsd-license.php' ], + bugtracker => { web => 'https://rt.cpan.org/Dist/Display.html?Foo-Bar' }, }, prereqs => { runtime => { @@ -100,6 +100,34 @@ my %first_expected = ( version => 2, }, ); +my %provides_merge_expected = ( + abstract => 'This is a test', + author => ['A.U. Thor'], + generated_by => 'Myself', + license => [ 'perl_5' ], + resources => { + license => [ 'http://dev.perl.org/licenses/' ], + bugtracker => { web => 'https://rt.cpan.org/Dist/Display.html?Foo-Bar' }, + }, + prereqs => { + runtime => { + requires => { + Foo => '0', + }, + }, + }, + dynamic_config => 0, + provides => { + Baz => { + file => 'lib/Baz.pm', + version => '0.001', # same as %base, but for this extra key + }, + }, + 'meta-spec' => { + url => "http://search.cpan.org/perldoc?CPAN::Meta::Spec", + version => 2, + }, +); my $merger = CPAN::Meta::Merge->new(default_version => '2'); @@ -108,13 +136,34 @@ my $first_result = $merger->merge(\%base, \%first); is_deeply($first_result, \%first_expected, 'First result is as expected'); is_deeply($merger->merge(\%base, { abstract => 'This is a test' }), \%base, 'Can merge in identical abstract'); -my $failure = eval { $merger->merge(\%base, { abstract => 'And now for something else' }) }; -is($failure, undef, 'Trying to merge different author gives an exception'); +is( + eval { $merger->merge(\%base, { abstract => 'And now for something else' }) }, + undef, + 'Trying to merge different author gives an exception', +); like $@, qr/^Can't merge attribute abstract/, 'Exception looks right'; -my $failure2 = eval { $merger->merge(\%base, { provides => { Baz => { file => 'Baz.pm' } } }) }; -is($failure2, undef, 'Trying to merge different author gives an exception'); -like $@, qr/^Duplication of element provides\.Baz /, 'Exception looks right'; +is( + eval { $merger->merge(\%base, { resources => { bugtracker => { web => 'http://foo.com' } } } ) }, + undef, + 'Trying to merge a different bugtracker URL gives an exception', +); +like $@, qr/^Duplication of element resources\.bugtracker\.web /, 'Exception looks right'; + +is( + eval { $merger->merge(\%base, { provides => { Baz => { file => 'Baz.pm' } } }) }, + undef, + 'Trying to merge different provides.$module.file gives an exception', +); +like $@, qr/^Duplication of element provides\.Baz\.file /, 'Exception looks right'; + +my $provides_result = $merger->merge(\%base, { provides => { Baz => { file => 'lib/Baz.pm', version => '0.001' } } }); +is_deeply( + $provides_result, + \%provides_merge_expected, + 'Trying to merge a new key for provides.$module is permitted; identical values are preserved', +); + # issue 67 @base{qw/name version release_status/} = qw/Foo-Bar 0.01 testing/; @@ -122,3 +171,4 @@ my $base_obj = CPAN::Meta->create(\%base); ok my $first_result_obj = $merger->merge($base_obj, \%first), 'merging CPAN::Meta objects succeeds'; done_testing(); +# vim: ts=4 sts=4 sw=4 tw=78 noet : diff --git a/cpan/CPAN-Meta/t/meta-obj.t b/cpan/CPAN-Meta/t/meta-obj.t index bb39c46..fa3c703 100644 --- a/cpan/CPAN-Meta/t/meta-obj.t +++ b/cpan/CPAN-Meta/t/meta-obj.t @@ -240,3 +240,4 @@ $chk_feature->($features[0]); $chk_feature->( $meta->feature('domination') ); done_testing; +# vim: ts=2 sts=2 sw=2 et : diff --git a/cpan/CPAN-Meta/t/no-index.t b/cpan/CPAN-Meta/t/no-index.t index 456633a..554e921 100644 --- a/cpan/CPAN-Meta/t/no-index.t +++ b/cpan/CPAN-Meta/t/no-index.t @@ -86,3 +86,4 @@ my %distmeta = ( } done_testing; +# vim: ts=2 sts=2 sw=2 et : diff --git a/cpan/CPAN-Meta/t/optional_feature-merge.t b/cpan/CPAN-Meta/t/optional_feature-merge.t index 15aa621..76ea964 100644 --- a/cpan/CPAN-Meta/t/optional_feature-merge.t +++ b/cpan/CPAN-Meta/t/optional_feature-merge.t @@ -1,6 +1,5 @@ use strict; use warnings; -# vim: set ts=4 sw=4 noet nolist : use Test::More; use CPAN::Meta; @@ -92,8 +91,7 @@ my $fragment3 = { } }; -my $result = eval { $merger->merge($meta1, $fragment3) }; -is($result, undef, 'Trying to merge optional_features with same feature name and different descriptions gives an exception'); +is( eval { $merger->merge($meta1, $fragment3) }, undef, 'Trying to merge optional_features with same feature name and different descriptions gives an exception'); like $@, qr/^Cannot merge two optional_features named 'FeatureName' with different 'description' values/, 'Exception looks right'; my $fragment4 = { @@ -106,8 +104,7 @@ my $fragment4 = { } }; -$result = eval { $merger->merge($meta1, $fragment4) }; -is($result, undef, 'Trying to merge optional_features with same feature name and differences in other keys gives an exception'); +is( eval { $merger->merge($meta1, $fragment4) }, undef, 'Trying to merge optional_features with same feature name and differences in other keys gives an exception'); like $@, qr/^Cannot merge two optional_features named 'FeatureName' with different 'x_default' values/, 'Exception looks right'; my $fragment5 = { @@ -140,3 +137,4 @@ is_deeply( ); done_testing; +# vim: ts=4 sts=4 sw=4 noet : diff --git a/cpan/CPAN-Meta/t/prereqs-finalize.t b/cpan/CPAN-Meta/t/prereqs-finalize.t index e974f99..ac4aea8 100644 --- a/cpan/CPAN-Meta/t/prereqs-finalize.t +++ b/cpan/CPAN-Meta/t/prereqs-finalize.t @@ -9,9 +9,7 @@ delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults sub dies_ok (&@) { my ($code, $qr, $comment) = @_; - my $lived = eval { $code->(); 1 }; - - if ($lived) { + if (eval { $code->(); 1 }) { fail("$comment: did not die"); } else { like($@, $qr, $comment); @@ -91,3 +89,4 @@ $clone->requirements_for(qw(develop suggests))->add_minimum(Foo => 1); pass('...and we can add stuff to it'); done_testing; +# vim: ts=2 sts=2 sw=2 et : diff --git a/cpan/CPAN-Meta/t/prereqs-merge.t b/cpan/CPAN-Meta/t/prereqs-merge.t index 37bca7d..e15c9f2 100644 --- a/cpan/CPAN-Meta/t/prereqs-merge.t +++ b/cpan/CPAN-Meta/t/prereqs-merge.t @@ -104,3 +104,4 @@ is_deeply( ); done_testing; +# vim: ts=2 sts=2 sw=2 et : diff --git a/cpan/CPAN-Meta/t/prereqs.t b/cpan/CPAN-Meta/t/prereqs.t index ad21caa..b4a3c95 100644 --- a/cpan/CPAN-Meta/t/prereqs.t +++ b/cpan/CPAN-Meta/t/prereqs.t @@ -161,4 +161,4 @@ is_deeply($prereq->as_string_hash, $prereq_struct, "round-trip okay"); } done_testing; - +# vim: ts=2 sts=2 sw=2 et : diff --git a/cpan/CPAN-Meta/t/repository.t b/cpan/CPAN-Meta/t/repository.t index 8bb1da7c..0cd2c24 100644 --- a/cpan/CPAN-Meta/t/repository.t +++ b/cpan/CPAN-Meta/t/repository.t @@ -225,3 +225,4 @@ delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults ); } done_testing; +# vim: ts=2 sts=2 sw=2 et : diff --git a/cpan/CPAN-Meta/t/save-load.t b/cpan/CPAN-Meta/t/save-load.t index 5399305..8093344 100644 --- a/cpan/CPAN-Meta/t/save-load.t +++ b/cpan/CPAN-Meta/t/save-load.t @@ -83,6 +83,16 @@ ok( -f $metafile, "save meta to file" ); ok( my $loaded = Parse::CPAN::Meta->load_file($metafile), 'load saved file' ); is($loaded->{name}, 'Module-Build', 'name correct'); +like( + $loaded->{x_serialization_backend}, + qr/\AJSON::PP version [0-9]/, + "x_serialization_backend", +); + +ok( + ! exists $meta->{x_serialization_backend}, + "we didn't leak x_serialization_backend up into the saved struct", +); ok( $loaded = Parse::CPAN::Meta->load_file('t/data-test/META-1_4.yml'), 'load META-1.4' ); is($loaded->{name}, 'Module-Build', 'name correct'); @@ -98,6 +108,17 @@ ok( $loaded = Parse::CPAN::Meta->load_file($metayml), 'load saved file' ); is( $loaded->{name}, 'Module-Build', 'name correct'); is( $loaded->{requires}{perl}, "5.006", 'prereq correct' ); +like( + $loaded->{x_serialization_backend}, + qr/\ACPAN::Meta::YAML version [0-9]/, + "x_serialization_backend", +); + +ok( + ! exists $meta->{x_serialization_backend}, + "we didn't leak x_serialization_backend up into the saved struct", +); + # file without suffix ok( $loaded = CPAN::Meta->load_file('t/data-test/META-2.meta'), 'load_file META-2.meta' ); @@ -106,3 +127,4 @@ my $string = do { open my $fh, '<', 't/data-test/META-2.meta'; local $/; <$fh> } ok( $loaded = CPAN::Meta->load_string($string), 'load META-2.meta from string' ); done_testing; +# vim: ts=2 sts=2 sw=2 et : diff --git a/cpan/CPAN-Meta/t/validator.t b/cpan/CPAN-Meta/t/validator.t index 4fce192..0145073 100644 --- a/cpan/CPAN-Meta/t/validator.t +++ b/cpan/CPAN-Meta/t/validator.t @@ -36,8 +36,9 @@ delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults my $meta = Parse::CPAN::Meta->load_file( File::Spec->catfile($f) ); my $cmv = CPAN::Meta::Validator->new({%$meta}); ok( ! $cmv->is_valid, "$f shouldn't validate" ); + note 'validation error: ', $_ foreach $cmv->errors; } } done_testing; - +# vim: ts=2 sts=2 sw=2 et : diff --git a/cpan/CPAN/lib/App/Cpan.pm b/cpan/CPAN/lib/App/Cpan.pm index 94607d9..e8c9bb7 100644 --- a/cpan/CPAN/lib/App/Cpan.pm +++ b/cpan/CPAN/lib/App/Cpan.pm @@ -6,7 +6,7 @@ use vars qw($VERSION); use if $] < 5.008 => 'IO::Scalar'; -$VERSION = '1.63_01'; +$VERSION = '1.63'; =head1 NAME @@ -530,20 +530,9 @@ sub AUTOLOAD { 1 } sub DESTROY { 1 } } -# load a module without searching the default entry for the current -# directory -sub _safe_load_module { - my $name = shift; - - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - - eval "require $name; 1"; -} - sub _init_logger { - my $log4perl_loaded = _safe_load_module("Log::Log4perl"); + my $log4perl_loaded = eval "require Log::Log4perl; 1"; unless( $log4perl_loaded ) { @@ -1004,7 +993,7 @@ sub _load_local_lib # -I { $logger->debug( "Loading local::lib" ); - my $rc = _safe_load_module("local::lib"); + my $rc = eval { require local::lib; 1; }; unless( $rc ) { $logger->die( "Could not load local::lib" ); } @@ -1132,7 +1121,7 @@ sub _get_file { my $path = shift; - my $loaded = _safe_load_module("LWP::Simple"); + my $loaded = eval "require LWP::Simple; 1;"; croak "You need LWP::Simple to use features that fetch files from CPAN\n" unless $loaded; @@ -1154,7 +1143,7 @@ sub _gitify { my $args = shift; - my $loaded = _safe_load_module("Archive::Extract"); + my $loaded = eval "require Archive::Extract; 1;"; croak "You need Archive::Extract to use features that gitify distributions\n" unless $loaded; @@ -1218,7 +1207,7 @@ sub _show_Changes sub _get_changes_file { croak "Reading Changes files requires LWP::Simple and URI\n" - unless _safe_load_module("LWP::Simple") && _safe_load_module("URI"); + unless eval "require LWP::Simple; require URI; 1"; my $url = shift; diff --git a/cpan/CPAN/lib/CPAN.pm b/cpan/CPAN/lib/CPAN.pm index 25bf349..6096916 100644 --- a/cpan/CPAN/lib/CPAN.pm +++ b/cpan/CPAN/lib/CPAN.pm @@ -2,7 +2,7 @@ # vim: ts=4 sts=4 sw=4: use strict; package CPAN; -$CPAN::VERSION = '2.11_01'; +$CPAN::VERSION = '2.11'; $CPAN::VERSION =~ s/_//; # we need to run chdir all over and we would get at wrong libraries @@ -1104,8 +1104,6 @@ sub has_usable { ] }; if ($usable->{$mod}) { - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; for my $c (0..$#{$usable->{$mod}}) { my $code = $usable->{$mod}[$c]; my $ret = eval { &$code() }; @@ -1148,8 +1146,6 @@ sub has_inst { $CPAN::META->{dontload_hash}{$mod}||=1; # unsafe meta access, ok return 0; } - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; my $file = $mod; my $obj; $file =~ s|::|/|g; diff --git a/cpan/CPAN/scripts/cpan b/cpan/CPAN/scripts/cpan index ccba47e..5f4320e 100644 --- a/cpan/CPAN/scripts/cpan +++ b/cpan/CPAN/scripts/cpan @@ -1,6 +1,5 @@ #!/usr/local/bin/perl -BEGIN { pop @INC if $INC[-1] eq '.' } use strict; use vars qw($VERSION); diff --git a/cpan/Digest-SHA/lib/Digest/SHA.pm b/cpan/Digest-SHA/lib/Digest/SHA.pm index e696dec..3abca3d 100644 --- a/cpan/Digest-SHA/lib/Digest/SHA.pm +++ b/cpan/Digest-SHA/lib/Digest/SHA.pm @@ -8,7 +8,7 @@ use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); use Fcntl; use integer; -$VERSION = '5.95_01'; +$VERSION = '5.95'; require Exporter; require DynaLoader; diff --git a/cpan/Digest-SHA/shasum b/cpan/Digest-SHA/shasum index 62a2b0e..14ddd60 100644 --- a/cpan/Digest-SHA/shasum +++ b/cpan/Digest-SHA/shasum @@ -13,7 +13,6 @@ ## "-0" option for reading bit strings, and ## "-p" option for portable digests (to be deprecated). -BEGIN { pop @INC if $INC[-1] eq '.' } use strict; use warnings; use Fcntl; diff --git a/cpan/Digest/Digest.pm b/cpan/Digest/Digest.pm index 16dae9d..c3355a8 100644 --- a/cpan/Digest/Digest.pm +++ b/cpan/Digest/Digest.pm @@ -3,7 +3,7 @@ package Digest; use strict; use vars qw($VERSION %MMAP $AUTOLOAD); -$VERSION = "1.17_01"; +$VERSION = "1.17"; %MMAP = ( "SHA-1" => [["Digest::SHA", 1], "Digest::SHA1", ["Digest::SHA2", 1]], @@ -38,11 +38,7 @@ sub new unless (exists ${"$class\::"}{"VERSION"}) { my $pm_file = $class . ".pm"; $pm_file =~ s{::}{/}g; - eval { - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - require $pm_file - }; + eval { require $pm_file }; if ($@) { $err ||= $@; next; diff --git a/cpan/Encode/Encode.pm b/cpan/Encode/Encode.pm index 874cbc6..1c1efd5 100644 --- a/cpan/Encode/Encode.pm +++ b/cpan/Encode/Encode.pm @@ -1,10 +1,10 @@ # -# $Id: Encode.pm,v 2.72 2015/03/14 02:43:24 dankogai Exp $ +# $Id: Encode.pm,v 2.73 2015/04/15 23:14:01 dankogai Exp dankogai $ # package Encode; use strict; use warnings; -our $VERSION = sprintf "%d.%02d_01", q$Revision: 2.72 $ =~ /(\d+)/g; +our $VERSION = sprintf "%d.%02d", q$Revision: 2.73 $ =~ /(\d+)/g; use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG}; use XSLoader (); XSLoader::load( __PACKAGE__, $VERSION ); @@ -56,8 +56,6 @@ require Encode::Config; eval { local $SIG{__DIE__}; local $SIG{__WARN__}; - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; require Encode::ConfigLocal; }; @@ -313,7 +311,11 @@ sub predefine_encodings { $Encode::Encoding{Unicode} = bless { Name => "Internal" } => "Encode::Internal"; } - + { + # https://rt.cpan.org/Public/Bug/Display.html?id=103253 + package Encode::XS; + push @Encode::XS::ISA, 'Encode::Encoding'; + } { # was in Encode::utf8 diff --git a/cpan/Encode/bin/enc2xs b/cpan/Encode/bin/enc2xs index 121e0c2..19f2b2b 100644 --- a/cpan/Encode/bin/enc2xs +++ b/cpan/Encode/bin/enc2xs @@ -4,7 +4,6 @@ BEGIN { # with $ENV{PERL_CORE} set # In case we need it in future... require Config; import Config; - pop @INC if $INC[-1] eq '.'; } use strict; use warnings; diff --git a/cpan/Encode/bin/encguess b/cpan/Encode/bin/encguess index 0be5c7c..5d7ac80 100644 --- a/cpan/Encode/bin/encguess +++ b/cpan/Encode/bin/encguess @@ -1,6 +1,5 @@ #!./perl use 5.008001; -BEGIN { pop @INC if $INC[-1] eq '.' } use strict; use warnings; use Encode; diff --git a/cpan/Encode/bin/piconv b/cpan/Encode/bin/piconv index 60b2a59..c1dad9e 100644 --- a/cpan/Encode/bin/piconv +++ b/cpan/Encode/bin/piconv @@ -1,7 +1,6 @@ #!./perl # $Id: piconv,v 2.7 2014/05/31 09:48:48 dankogai Exp $ # -BEGIN { pop @INC if $INC[-1] eq '.' } use 5.8.0; use strict; use Encode ; diff --git a/cpan/Encode/bin/ucmlint b/cpan/Encode/bin/ucmlint index 25e0d67..622376d 100644 --- a/cpan/Encode/bin/ucmlint +++ b/cpan/Encode/bin/ucmlint @@ -3,7 +3,6 @@ # $Id: ucmlint,v 2.2 2008/03/12 09:51:11 dankogai Exp $ # -BEGIN { pop @INC if $INC[-1] eq '.' } use strict; our $VERSION = do { my @r = (q$Revision: 2.2 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; diff --git a/cpan/Encode/bin/unidump b/cpan/Encode/bin/unidump index f190827..ae0da30 100644 --- a/cpan/Encode/bin/unidump +++ b/cpan/Encode/bin/unidump @@ -1,6 +1,5 @@ #!./perl -BEGIN { pop @INC if $INC[-1] eq '.' } use strict; use Encode; use Getopt::Std; diff --git a/cpan/Encode/encoding.pm b/cpan/Encode/encoding.pm index fde410d..a2831eb 100644 --- a/cpan/Encode/encoding.pm +++ b/cpan/Encode/encoding.pm @@ -1,12 +1,16 @@ -# $Id: encoding.pm,v 2.14 2015/03/14 02:44:39 dankogai Exp dankogai $ +# $Id: encoding.pm,v 2.15 2015/04/15 23:14:01 dankogai Exp dankogai $ package encoding; -our $VERSION = sprintf "%d.%02d", q$Revision: 2.14 $ =~ /(\d+)/g; +our $VERSION = sprintf "%d.%02d", q$Revision: 2.15 $ =~ /(\d+)/g; use Encode; use strict; use warnings; -use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG}; +use constant { + DEBUG => !!$ENV{PERL_ENCODE_DEBUG}, + HAS_PERLIO => eval { require PerlIO::encoding; PerlIO::encoding->VERSION(0.02) }, + PERL_5_21_7 => $^V && $^V ge v5.21.7, +}; BEGIN { if ( ord("A") == 193 ) { @@ -15,12 +19,6 @@ BEGIN { } } -our $HAS_PERLIO = 0; -eval { require PerlIO::encoding }; -unless ($@) { - $HAS_PERLIO = ( PerlIO::encoding->VERSION >= 0.02 ); -} - sub _exception { my $name = shift; $] > 5.008 and return 0; # 5.8.1 or higher then no @@ -39,64 +37,79 @@ sub in_locale { $^H & ( $locale::hint_bits || 0 ) } sub _get_locale_encoding { my $locale_encoding; + if ($^O eq 'MSWin32') { + my @tries = ( + # First try to get the OutputCP. This will work only if we + # are attached to a console + 'Win32.pm' => 'Win32::GetConsoleOutputCP', + 'Win32/Console.pm' => 'Win32::Console::OutputCP', + # If above failed, this means that we are a GUI app + # Let's assume that the ANSI codepage is what matters + 'Win32.pm' => 'Win32::GetACP', + ); + while (@tries) { + my $cp = eval { + require $tries[0]; + no strict 'refs'; + &{$tries[1]}() + }; + if ($cp) { + if ($cp == 65001) { # Code page for UTF-8 + $locale_encoding = 'UTF-8'; + } else { + $locale_encoding = 'cp' . $cp; + } + return $locale_encoding; + } + splice(@tries, 0, 2) + } + } + # I18N::Langinfo isn't available everywhere - eval { + $locale_encoding = eval { require I18N::Langinfo; - I18N::Langinfo->import(qw(langinfo CODESET)); - $locale_encoding = langinfo( CODESET() ); + find_encoding( + I18N::Langinfo::langinfo( I18N::Langinfo::CODESET() ) + )->name }; + return $locale_encoding if defined $locale_encoding; - my $country_language; - - no warnings 'uninitialized'; - - if ( (not $locale_encoding) && in_locale() ) { - if ( $ENV{LC_ALL} =~ /^([^.]+)\.([^.@]+)(@.*)?$/ ) { - ( $country_language, $locale_encoding ) = ( $1, $2 ); - } - elsif ( $ENV{LANG} =~ /^([^.]+)\.([^.@]+)(@.*)?$/ ) { + eval { + require POSIX; + # Get the current locale + # Remember that MSVCRT impl is quite different from Unixes + my $locale = POSIX::setlocale(POSIX::LC_CTYPE()); + if ( $locale =~ /^([^.]+)\.([^.@]+)(?:@.*)?$/ ) { + my $country_language; ( $country_language, $locale_encoding ) = ( $1, $2 ); - } - - # LANGUAGE affects only LC_MESSAGES only on glibc - } - elsif ( not $locale_encoding ) { - if ( $ENV{LC_ALL} =~ /\butf-?8\b/i - || $ENV{LANG} =~ /\butf-?8\b/i ) - { - $locale_encoding = 'utf8'; - } - # Could do more heuristics based on the country and language - # parts of LC_ALL and LANG (the parts before the dot (if any)), - # since we have Locale::Country and Locale::Language available. - # TODO: get a database of Language -> Encoding mappings - # (the Estonian database at http://www.eki.ee/letter/ - # would be excellent!) --jhi - } - if ( defined $locale_encoding - && lc($locale_encoding) eq 'euc' - && defined $country_language ) - { - if ( $country_language =~ /^ja_JP|japan(?:ese)?$/i ) { - $locale_encoding = 'euc-jp'; - } - elsif ( $country_language =~ /^ko_KR|korean?$/i ) { - $locale_encoding = 'euc-kr'; - } - elsif ( $country_language =~ /^zh_CN|chin(?:a|ese)$/i ) { - $locale_encoding = 'euc-cn'; - } - elsif ( $country_language =~ /^zh_TW|taiwan(?:ese)?$/i ) { - $locale_encoding = 'euc-tw'; - } - else { - require Carp; - Carp::croak( - "encoding: Locale encoding '$locale_encoding' too ambiguous" - ); + # Could do more heuristics based on the country and language + # since we have Locale::Country and Locale::Language available. + # TODO: get a database of Language -> Encoding mappings + # (the Estonian database at http://www.eki.ee/letter/ + # would be excellent!) --jhi + if (lc($locale_encoding) eq 'euc') { + if ( $country_language =~ /^ja_JP|japan(?:ese)?$/i ) { + $locale_encoding = 'euc-jp'; + } + elsif ( $country_language =~ /^ko_KR|korean?$/i ) { + $locale_encoding = 'euc-kr'; + } + elsif ( $country_language =~ /^zh_CN|chin(?:a|ese)$/i ) { + $locale_encoding = 'euc-cn'; + } + elsif ( $country_language =~ /^zh_TW|taiwan(?:ese)?$/i ) { + $locale_encoding = 'euc-tw'; + } + else { + require Carp; + Carp::croak( + "encoding: Locale encoding '$locale_encoding' too ambiguous" + ); + } + } } - } + }; return $locale_encoding; } @@ -132,7 +145,7 @@ sub import { unless ( $arg{Filter} ) { DEBUG and warn "_exception($name) = ", _exception($name); if (! _exception($name)) { - if (!$^V || $^V lt v5.21.7) { + if (!PERL_5_21_7) { ${^ENCODING} = $enc; } else { @@ -143,11 +156,11 @@ sub import { ${^E_NCODING} = $enc; } } - $HAS_PERLIO or return 1; + HAS_PERLIO or return 1; } else { defined( ${^ENCODING} ) and undef ${^ENCODING}; - undef ${^E_NCODING} if $^V && $^V ge v5.21.7; + undef ${^E_NCODING} if PERL_5_21_7; # implicitly 'use utf8' require utf8; # to fetch $utf8::hint_bits; @@ -197,8 +210,8 @@ sub import { sub unimport { no warnings; undef ${^ENCODING}; - undef ${^E_NCODING} if $^V && $^V ge v5.21.7; - if ($HAS_PERLIO) { + undef ${^E_NCODING} if PERL_5_21_7; + if (HAS_PERLIO) { binmode( STDIN, ":raw" ); binmode( STDOUT, ":raw" ); } diff --git a/cpan/Encode/t/isa.t b/cpan/Encode/t/isa.t new file mode 100644 index 0000000..84703a5 --- /dev/null +++ b/cpan/Encode/t/isa.t @@ -0,0 +1,10 @@ +# +# $Id: isa.t,v 1.1 2015/04/02 12:08:24 dankogai Exp $ +# +use strict; +use Encode qw/find_encoding/; +use Test::More; +my @enc = Encode->encodings(":all"); +plan tests => 0+@enc; +isa_ok find_encoding($_), "Encode::Encoding" for @enc; + diff --git a/cpan/ExtUtils-Command/lib/ExtUtils/Command.pm b/cpan/ExtUtils-Command/lib/ExtUtils/Command.pm index 01432dc..7f3161a 100644 --- a/cpan/ExtUtils-Command/lib/ExtUtils/Command.pm +++ b/cpan/ExtUtils-Command/lib/ExtUtils/Command.pm @@ -7,7 +7,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.20_01'; +$VERSION = '1.20'; my $Is_VMS = $^O eq 'VMS'; my $Is_VMS_mode = $Is_VMS; @@ -19,10 +19,7 @@ if( $Is_VMS ) { my $vms_efs; my $vms_case; - if (eval { local $SIG{__DIE__}; - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - require VMS::Feature; }) { + if (eval { local $SIG{__DIE__}; require VMS::Feature; }) { $vms_unix_rpt = VMS::Feature::current("filename_unix_report"); $vms_efs = VMS::Feature::current("efs_charset"); $vms_case = VMS::Feature::current("efs_case_preserve"); diff --git a/cpan/ExtUtils-MakeMaker/bin/instmodsh b/cpan/ExtUtils-MakeMaker/bin/instmodsh index ab0f9d1..8b9aa95 100644 --- a/cpan/ExtUtils-MakeMaker/bin/instmodsh +++ b/cpan/ExtUtils-MakeMaker/bin/instmodsh @@ -1,6 +1,5 @@ #!/usr/bin/perl -w -BEGIN { pop @INC if $INC[-1] eq '.' } use strict; use IO::File; use ExtUtils::Packlist; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm index ad67aef..203b3aa 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm @@ -10,7 +10,7 @@ our @ISA = qw(Exporter); our @EXPORT = qw(test_harness pod2man perllocal_install uninstall warn_if_old_packlist test_s cp_nonempty); -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; my $Is_VMS = $^O eq 'VMS'; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm index 3a4e138..3df1793 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm @@ -2,7 +2,7 @@ package ExtUtils::Liblist; use strict; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; use File::Spec; require ExtUtils::Liblist::Kid; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm index 66e4caa..37bcfd4 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm @@ -11,7 +11,7 @@ use 5.006; use strict; use warnings; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; use ExtUtils::MakeMaker::Config; use Cwd 'cwd'; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm index c137ffa..f2aa8b4 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm @@ -3,7 +3,7 @@ package ExtUtils::MM; use strict; use ExtUtils::MakeMaker::Config; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; require ExtUtils::Liblist; require ExtUtils::MakeMaker; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm index a52db81..58ea5b9 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm @@ -1,7 +1,7 @@ package ExtUtils::MM_AIX; use strict; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; require ExtUtils::MM_Unix; our @ISA = qw(ExtUtils::MM_Unix); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm index 5c2f515..4c00129 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm @@ -1,7 +1,7 @@ package ExtUtils::MM_Any; use strict; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; use Carp; use File::Spec; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm index d4267c0..35b76c0 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm +++ b/cpan/ExtUtils-MakeMaker/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 = '7.04_02'; +our $VERSION = '7.04_01'; =item os_flavor diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm index 8252651..b504c47 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm +++ b/cpan/ExtUtils-MakeMaker/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 = '7.04_02'; +our $VERSION = '7.04_01'; =head1 NAME diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm index ac5bfd5..353c54f 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm @@ -2,7 +2,7 @@ package ExtUtils::MM_DOS; use strict; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; require ExtUtils::MM_Any; require ExtUtils::MM_Unix; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm index 08431d2..315d1b4 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm @@ -7,7 +7,7 @@ BEGIN { our @ISA = qw( ExtUtils::MM_Unix ); } -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; =head1 NAME diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm index ab505fe..bef2c00 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm @@ -2,7 +2,7 @@ package ExtUtils::MM_MacOS; use strict; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; sub new { die 'MacOS Classic (MacPerl) is no longer supported by MakeMaker'; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm index 6d189c0..4e36796 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm @@ -22,7 +22,7 @@ use strict; use ExtUtils::MakeMaker::Config; use File::Basename; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; require ExtUtils::MM_Win32; our @ISA = qw(ExtUtils::MM_Win32); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm index 441032b..c9ace00 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm @@ -5,7 +5,7 @@ use strict; use ExtUtils::MakeMaker qw(neatvalue); use File::Spec; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; require ExtUtils::MM_Any; require ExtUtils::MM_Unix; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm index 82ea50c..13e12c4 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm @@ -1,7 +1,7 @@ package ExtUtils::MM_QNX; use strict; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; require ExtUtils::MM_Unix; our @ISA = qw(ExtUtils::MM_Unix); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm index 3d20415..4af2909 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm @@ -1,7 +1,7 @@ package ExtUtils::MM_UWIN; use strict; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; require ExtUtils::MM_Unix; our @ISA = qw(ExtUtils::MM_Unix); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm index d4312b0..f63145c 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm @@ -15,7 +15,7 @@ use ExtUtils::MakeMaker qw($Verbose neatvalue); # If we make $VERSION an our variable parse_version() breaks use vars qw($VERSION); -$VERSION = '7.04_02'; +$VERSION = '7.04_01'; $VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval] require ExtUtils::MM_Any; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm index f3bfaf9..45d06b0 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm @@ -15,7 +15,7 @@ BEGIN { use File::Basename; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; require ExtUtils::MM_Any; require ExtUtils::MM_Unix; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm index 1f0e455..dfec6d5 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm @@ -1,7 +1,7 @@ package ExtUtils::MM_VOS; use strict; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; require ExtUtils::MM_Unix; our @ISA = qw(ExtUtils::MM_Unix); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm index 7edaf8f..fbd3f49 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm @@ -27,7 +27,7 @@ use ExtUtils::MakeMaker qw( neatvalue ); require ExtUtils::MM_Any; require ExtUtils::MM_Unix; our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix ); -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; $ENV{EMXSHELL} = 'sh'; # to run `commands` diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm index 8e03a60..cc37c24 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm @@ -2,7 +2,7 @@ package ExtUtils::MM_Win95; use strict; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; require ExtUtils::MM_Win32; our @ISA = qw(ExtUtils::MM_Win32); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm index c3e6453..f2114f9 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm @@ -3,7 +3,7 @@ package ExtUtils::MY; use strict; require ExtUtils::MM; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; our @ISA = qw(ExtUtils::MM); { diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm index d5a1dd7..fe95b27 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm @@ -24,7 +24,7 @@ my %Recognized_Att_Keys; our %macro_fsentity; # whether a macro is a filesystem name our %macro_dep; # whether a macro is a dependency -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; $VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval] # Emulate something resembling CVS $Revision$ diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm index fe56648..9001cc6 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm @@ -2,7 +2,7 @@ package ExtUtils::MakeMaker::Config; use strict; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; use Config (); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm index 3cbaf28..97d4300 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm +++ b/cpan/ExtUtils-MakeMaker/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 = '7.04_02'; +our $VERSION = '7.04_01'; require Exporter; our @ISA = ('Exporter'); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm index 4ae9e73..3a9fc71 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm @@ -10,7 +10,7 @@ use Config; our @ISA = qw(Exporter); our @EXPORT = qw(&Mksymlists); -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; sub Mksymlists { my(%spec) = @_; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm index fa7b73c..2a5323e 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm @@ -3,7 +3,7 @@ package ExtUtils::testlib; use strict; use warnings; -our $VERSION = '7.04_02'; +our $VERSION = '7.04_01'; use Cwd; use File::Spec; diff --git a/cpan/File-Fetch/lib/File/Fetch.pm b/cpan/File-Fetch/lib/File/Fetch.pm index de2ab12..7d6a263 100644 --- a/cpan/File-Fetch/lib/File/Fetch.pm +++ b/cpan/File-Fetch/lib/File/Fetch.pm @@ -22,7 +22,7 @@ use vars qw[ $VERBOSE $PREFER_BIN $FROM_EMAIL $USER_AGENT $FTP_PASSIVE $TIMEOUT $DEBUG $WARN $FORCEIPV4 ]; -$VERSION = '0.48_01'; +$VERSION = '0.48'; $VERSION = eval $VERSION; # avoid warnings with development releases $PREFER_BIN = 0; # XXX TODO implement $FROM_EMAIL = 'File-Fetch@example.com'; @@ -567,8 +567,6 @@ sub _lwp_fetch { }; - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; unless( can_load( modules => $use_list ) ) { $METHOD_FAIL->{'lwp'} = 1; return; @@ -621,8 +619,6 @@ sub _httptiny_fetch { }; - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; unless( can_load(modules => $use_list) ) { $METHOD_FAIL->{'httptiny'} = 1; return; @@ -662,8 +658,6 @@ sub _httplite_fetch { }; - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; unless( can_load(modules => $use_list) ) { $METHOD_FAIL->{'httplite'} = 1; return; @@ -739,8 +733,6 @@ sub _iosock_fetch { 'IO::Select' => '0.0', }; - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; unless( can_load(modules => $use_list) ) { $METHOD_FAIL->{'iosock'} = 1; return; @@ -822,8 +814,6 @@ sub _netftp_fetch { check( $tmpl, \%hash ) or return; ### required modules ### - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; my $use_list = { 'Net::FTP' => 0 }; unless( can_load( modules => $use_list ) ) { diff --git a/cpan/Getopt-Long/lib/Getopt/Long.pm b/cpan/Getopt-Long/lib/Getopt/Long.pm index 154c008..06fa33a 100644 --- a/cpan/Getopt-Long/lib/Getopt/Long.pm +++ b/cpan/Getopt-Long/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: Mon Feb 23 20:29:11 2015 -# Update Count : 1683 +# Last Modified On: Tue Jun 2 10:40:52 2015 +# Update Count : 1685 # Status : Released ################ Module Preamble ################ @@ -17,10 +17,10 @@ use 5.004; use strict; use vars qw($VERSION); -$VERSION = 2.45; +$VERSION = 2.46; # For testing versions only. use vars qw($VERSION_STRING); -$VERSION_STRING = "2.45"; +$VERSION_STRING = "2.46"; use Exporter; use vars qw(@ISA @EXPORT @EXPORT_OK); @@ -1312,13 +1312,13 @@ sub Configure (@) { my (@options) = @_; my $prevconfig = - [ $error, $debug, $major_version, $minor_version, + [ $error, $debug, $major_version, $minor_version, $caller, $autoabbrev, $getopt_compat, $ignorecase, $bundling, $order, $gnu_compat, $passthrough, $genprefix, $auto_version, $auto_help, $longprefix, $bundling_values ]; if ( ref($options[0]) eq 'ARRAY' ) { - ( $error, $debug, $major_version, $minor_version, + ( $error, $debug, $major_version, $minor_version, $caller, $autoabbrev, $getopt_compat, $ignorecase, $bundling, $order, $gnu_compat, $passthrough, $genprefix, $auto_version, $auto_help, $longprefix, $bundling_values ) = @{shift(@options)}; diff --git a/cpan/HTTP-Tiny/corpus/redirect-10.txt b/cpan/HTTP-Tiny/corpus/redirect-10.txt new file mode 100644 index 0000000..3abe585 --- /dev/null +++ b/cpan/HTTP-Tiny/corpus/redirect-10.txt @@ -0,0 +1,35 @@ +url + http://example.com/index.html +expected + abcdefghijklmnopqrstuvwxyz1234567890abcdef +expected_url + http://example.com/index2.html +---------- +GET /index.html HTTP/1.1 +Host: example.com +Connection: close +User-Agent: HTTP-Tiny/VERSION + +---------- +HTTP/1.1 308 Permanent Redirect +Date: Thu, 03 Feb 1994 00:00:00 GMT +Content-Type: text/html +Content-Length: 53 +Location: http://example.com/index2.html + +redirect + +---------- +GET /index2.html HTTP/1.1 +Host: example.com +Connection: close +User-Agent: HTTP-Tiny/VERSION + +---------- +HTTP/1.1 200 OK +Date: Thu, 03 Feb 1994 00:00:00 GMT +Content-Type: text/plain +Content-Length: 42 + +abcdefghijklmnopqrstuvwxyz1234567890abcdef + diff --git a/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm b/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm index e162e76..52887d1 100644 --- a/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm +++ b/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm @@ -4,7 +4,7 @@ use strict; use warnings; # ABSTRACT: A small, simple, correct HTTP/1.1 client -our $VERSION = '0.054_01'; +our $VERSION = '0.056'; use Carp (); @@ -28,7 +28,7 @@ use Carp (); #pod * C — #pod Maximum number of redirects allowed (defaults to 5) #pod * C — -#pod Maximum response size (only when not using a data callback). If defined, responses larger than this will return an exception. +#pod Maximum response size in bytes (only when not using a data callback). If defined, responses larger than this will return an exception. #pod * C — #pod URL of a proxy server to use for HTTP connections (default is C<$ENV{http_proxy}> — if set) #pod * C — @@ -462,6 +462,55 @@ sub www_form_urlencode { return join("&", (ref $data eq 'ARRAY') ? (@terms) : (sort @terms) ); } +#pod =method can_ssl +#pod +#pod $ok = HTTP::Tiny->can_ssl; +#pod ($ok, $why) = HTTP::Tiny->can_ssl; +#pod ($ok, $why) = $http->can_ssl; +#pod +#pod Indicates if SSL support is available. When called as a class object, it +#pod checks for the correct version of L and L. +#pod When called as an object methods, if C is true or if C +#pod is set in C, it checks that a CA file is available. +#pod +#pod In scalar context, returns a boolean indicating if SSL is available. +#pod In list context, returns the boolean and a (possibly multi-line) string of +#pod errors indicating why SSL isn't available. +#pod +#pod =cut + +sub can_ssl { + my ($self) = @_; + + my($ok, $reason) = (1, ''); + + # Need IO::Socket::SSL 1.42 for SSL_create_ctx_callback + unless (eval {require IO::Socket::SSL; IO::Socket::SSL->VERSION(1.42)}) { + $ok = 0; + $reason .= qq/IO::Socket::SSL 1.42 must be installed for https support\n/; + } + + # Need Net::SSLeay 1.49 for MODE_AUTO_RETRY + unless (eval {require Net::SSLeay; Net::SSLeay->VERSION(1.49)}) { + $ok = 0; + $reason .= qq/Net::SSLeay 1.49 must be installed for https support\n/; + } + + # If an object, check that SSL config lets us get a CA if necessary + if ( ref($self) && ( $self->{verify_SSL} || $self->{SSL_options}{SSL_verify_mode} ) ) { + my $handle = HTTP::Tiny::Handle->new( + SSL_options => $self->{SSL_options}, + verify_SSL => $self->{verify_SSL}, + ); + unless ( eval { $handle->_find_CA_file; 1 } ) { + $ok = 0; + $reason .= "$@"; + } + } + + wantarray ? ($ok, $reason) : $ok; +} + #--------------------------------------------------------------------------# # private methods #--------------------------------------------------------------------------# @@ -766,7 +815,7 @@ sub _maybe_redirect { my ($self, $request, $response, $args) = @_; my $headers = $response->{headers}; my ($status, $method) = ($response->{status}, $request->{method}); - if (($status eq '303' or ($status =~ /^30[127]/ && $method =~ /^GET|HEAD$/)) + if (($status eq '303' or ($status =~ /^30[1278]/ && $method =~ /^GET|HEAD$/)) and $headers->{location} and ++$args->{redirects} <= $self->{max_redirect} ) { @@ -1362,12 +1411,8 @@ sub can_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)}; + my($ok, $reason) = HTTP::Tiny->can_ssl(); + die $reason unless $ok; } sub can_reuse { @@ -1389,13 +1434,15 @@ sub can_reuse { sub _find_CA_file { my $self = shift(); - return $self->{SSL_options}->{SSL_ca_file} - if $self->{SSL_options}->{SSL_ca_file} and -e $self->{SSL_options}->{SSL_ca_file}; + if ( $self->{SSL_options}->{SSL_ca_file} ) { + unless ( -r $self->{SSL_options}->{SSL_ca_file} ) { + die qq/SSL_ca_file '$self->{SSL_options}->{SSL_ca_file}' not found or not readable\n/; + } + return $self->{SSL_options}->{SSL_ca_file}; + } - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; return Mozilla::CA::SSL_ca_file() - if eval { require Mozilla::CA }; + if eval { require Mozilla::CA; 1 }; # cert list copied from golang src/crypto/x509/root_unix.go foreach my $ca_bundle ( @@ -1465,7 +1512,7 @@ HTTP::Tiny - A small, simple, correct HTTP/1.1 client =head1 VERSION -version 0.054 +version 0.056 =head1 SYNOPSIS @@ -1534,7 +1581,7 @@ C — Maximum number of redirects allowed (defaults to 5) =item * -C — Maximum response size (only when not using a data callback). If defined, responses larger than this will return an exception. +C — Maximum response size in bytes (only when not using a data callback). If defined, responses larger than this will return an exception. =item * @@ -1740,6 +1787,21 @@ 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. +=head2 can_ssl + + $ok = HTTP::Tiny->can_ssl; + ($ok, $why) = HTTP::Tiny->can_ssl; + ($ok, $why) = $http->can_ssl; + +Indicates if SSL support is available. When called as a class object, it +checks for the correct version of L and L. +When called as an object methods, if C is true or if C +is set in C, it checks that a CA file is available. + +In scalar context, returns a boolean indicating if SSL is available. +In list context, returns the boolean and a (possibly multi-line) string of +errors indicating why SSL isn't available. + =for Pod::Coverage SSL_options agent cookie_jar @@ -1760,9 +1822,12 @@ verify_SSL Direct C connections are supported only if L 1.56 or greater and L 1.49 or greater are installed. An exception will be thrown if new enough versions of these modules are not installed or if the SSL -encryption fails. An C connection may be made via an C proxy that -supports the CONNECT command (i.e. RFC 2817). You may not proxy C via -a proxy that itself requires C to communicate. +encryption fails. You can also use C utility function +that returns boolean to see if the required modules are installed. + +An C connection may be made via an C proxy that supports the CONNECT +command (i.e. RFC 2817). You may not proxy C via a proxy that itself +requires C to communicate. SSL provides two distinct capabilities: @@ -1938,10 +2003,10 @@ L and L. =item * Redirection is very strict against the specification. Redirection is only -automatic for response codes 301, 302 and 307 if the request method is 'GET' or -'HEAD'. Response code 303 is always converted into a 'GET' redirection, as -mandated by the specification. There is no automatic support for status 305 -("Use proxy") redirections. +automatic for response codes 301, 302, 307 and 308 if the request method is +'GET' or 'HEAD'. Response code 303 is always converted into a 'GET' +redirection, as mandated by the specification. There is no automatic support +for status 305 ("Use proxy") redirections. =item * @@ -2035,7 +2100,7 @@ David Golden =head1 CONTRIBUTORS -=for stopwords Alan Gardner Alessandro Ghedini Brad Gilbert Chris Nehren Weyl Claes Jakobsson Clinton Gormley Craig Berry David Mitchell Dean Pearce Edward Zborowski James Raspass Jess Robinson Lukas Eklund Martin J. Evans Martin-Louis Bright Mike Doherty Olaf Alders Petr Písař Serguei Trouchelle Sören Kornetzki Syohei YOSHIDA Tom Hukins Tony Cook +=for stopwords Alan Gardner Alessandro Ghedini Brad Gilbert Chris Nehren Weyl Claes Jakobsson Clinton Gormley Dean Pearce Edward Zborowski James Raspass Jeremy Mates Jess Robinson Lukas Eklund Martin J. Evans Martin-Louis Bright Mike Doherty Olaf Alders Olivier Mengué Petr Písař Sören Kornetzki Syohei YOSHIDA Tatsuhiko Miyagawa Tom Hukins Tony Cook =over 4 @@ -2069,14 +2134,6 @@ Clinton Gormley =item * -Craig Berry - -=item * - -David Mitchell - -=item * - Dean Pearce =item * @@ -2089,6 +2146,10 @@ James Raspass =item * +Jeremy Mates + +=item * + Jess Robinson =item * @@ -2113,11 +2174,11 @@ Olaf Alders =item * -Petr Písař +Olivier Mengué =item * -Serguei Trouchelle +Petr Písař =item * @@ -2129,6 +2190,10 @@ Syohei YOSHIDA =item * +Tatsuhiko Miyagawa + +=item * + Tom Hukins =item * diff --git a/cpan/HTTP-Tiny/t/001_api.t b/cpan/HTTP-Tiny/t/001_api.t index 8e6ccd2..879a225 100644 --- a/cpan/HTTP-Tiny/t/001_api.t +++ b/cpan/HTTP-Tiny/t/001_api.t @@ -11,7 +11,7 @@ my @accessors = qw( max_redirect max_size proxy no_proxy timeout SSL_options verify_SSL cookie_jar ); my @methods = qw( - new get head put post delete post_form request mirror www_form_urlencode + new get head put post delete post_form request mirror www_form_urlencode can_ssl ); my %api; diff --git a/cpan/IO-Compress/bin/zipdetails b/cpan/IO-Compress/bin/zipdetails index 1b9c70a..0249850 100644 --- a/cpan/IO-Compress/bin/zipdetails +++ b/cpan/IO-Compress/bin/zipdetails @@ -5,7 +5,6 @@ # Display info on the contents of a Zip file # -BEGIN { pop @INC if $INC[-1] eq '.' } use strict; use warnings ; diff --git a/cpan/IO-Compress/lib/Compress/Zlib.pm b/cpan/IO-Compress/lib/Compress/Zlib.pm index 7819833..d197a34 100644 --- a/cpan/IO-Compress/lib/Compress/Zlib.pm +++ b/cpan/IO-Compress/lib/Compress/Zlib.pm @@ -17,7 +17,7 @@ use warnings ; use bytes ; our ($VERSION, $XS_VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); -$VERSION = '2.068_001'; +$VERSION = '2.068'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; diff --git a/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm b/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm index 20fee96..096c753 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm @@ -9,7 +9,7 @@ use IO::Compress::Base::Common 2.068 qw(:Status); use Compress::Raw::Bzip2 2.068 ; our ($VERSION); -$VERSION = '2.068_001'; +$VERSION = '2.068'; sub mkCompObject { diff --git a/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm b/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm index 07cd82a..a52b623 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm @@ -10,7 +10,7 @@ use Compress::Raw::Zlib 2.068 qw( !crc32 !adler32 ) ; require Exporter; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, @EXPORT, %DEFLATE_CONSTANTS); -$VERSION = '2.068_001'; +$VERSION = '2.068'; @ISA = qw(Exporter); @EXPORT_OK = @Compress::Raw::Zlib::DEFLATE_CONSTANTS; %EXPORT_TAGS = %Compress::Raw::Zlib::DEFLATE_CONSTANTS; diff --git a/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm b/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm index 87cfaae..b001abe 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm @@ -7,7 +7,7 @@ use bytes; use IO::Compress::Base::Common 2.068 qw(:Status); our ($VERSION); -$VERSION = '2.068_001'; +$VERSION = '2.068'; sub mkCompObject { diff --git a/cpan/IO-Compress/lib/IO/Compress/Base.pm b/cpan/IO-Compress/lib/IO/Compress/Base.pm index b101b6f..20adb0e 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Base.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Base.pm @@ -20,7 +20,7 @@ use Symbol(); our (@ISA, $VERSION); @ISA = qw(Exporter IO::File); -$VERSION = '2.068_001'; +$VERSION = '2.068'; #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. diff --git a/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm b/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm index cd33982..86bcaa6 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm +++ b/cpan/IO-Compress/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.068_001'; +$VERSION = '2.068'; @EXPORT = qw( isaFilehandle isaFilename isaScalar whatIsInput whatIsOutput diff --git a/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm b/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm index ddc1c56..d6c2d66 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm @@ -14,7 +14,7 @@ use IO::Compress::Adapter::Bzip2 2.068 ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bzip2Error); -$VERSION = '2.068_001'; +$VERSION = '2.068'; $Bzip2Error = ''; @ISA = qw(Exporter IO::Compress::Base); diff --git a/cpan/IO-Compress/lib/IO/Compress/Deflate.pm b/cpan/IO-Compress/lib/IO/Compress/Deflate.pm index 1091e37..4b80953 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Deflate.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Deflate.pm @@ -17,7 +17,7 @@ use IO::Compress::Base::Common 2.068 qw(); our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $DeflateError); -$VERSION = '2.068_001'; +$VERSION = '2.068'; $DeflateError = ''; @ISA = qw(Exporter IO::Compress::RawDeflate); diff --git a/cpan/IO-Compress/lib/IO/Compress/Gzip.pm b/cpan/IO-Compress/lib/IO/Compress/Gzip.pm index 6579319..01ee34e 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Gzip.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Gzip.pm @@ -25,7 +25,7 @@ BEGIN our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $GzipError); -$VERSION = '2.068_001'; +$VERSION = '2.068'; $GzipError = '' ; @ISA = qw(Exporter IO::Compress::RawDeflate); diff --git a/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm b/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm index f236fcb..2b73a3c 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm +++ b/cpan/IO-Compress/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.068_001'; +$VERSION = '2.068'; @ISA = qw(Exporter); diff --git a/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm b/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm index 60e07bb..2209952 100644 --- a/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm +++ b/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm @@ -14,7 +14,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError); -$VERSION = '2.068_001'; +$VERSION = '2.068'; $RawDeflateError = ''; @ISA = qw(Exporter IO::Compress::Base); diff --git a/cpan/IO-Compress/lib/IO/Compress/Zip.pm b/cpan/IO-Compress/lib/IO/Compress/Zip.pm index 9f2d873..f8ec20c 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Zip.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Zip.pm @@ -36,7 +36,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $ZipError); -$VERSION = '2.068_001'; +$VERSION = '2.068'; $ZipError = ''; @ISA = qw(Exporter IO::Compress::RawDeflate); diff --git a/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm b/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm index 20b1b31..bc56966 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm @@ -7,7 +7,7 @@ require Exporter; our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS); -$VERSION = '2.068_001'; +$VERSION = '2.068'; @ISA = qw(Exporter); diff --git a/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm b/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm index c569806..f85364d 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm @@ -9,7 +9,7 @@ require Exporter; our ($VERSION, @ISA, @EXPORT); -$VERSION = '2.068_001'; +$VERSION = '2.068'; @ISA = qw(Exporter); diff --git a/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm b/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm index 6fee229..f99b9ed 100644 --- a/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm +++ b/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm @@ -8,7 +8,7 @@ use bytes; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS); -$VERSION = '2.068_001'; +$VERSION = '2.068'; use IO::Compress::Gzip::Constants 2.068 ; diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm index c31cd10..0161b8f 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm @@ -9,7 +9,7 @@ use IO::Compress::Base::Common 2.068 qw(:Status); use Compress::Raw::Bzip2 2.068 ; our ($VERSION, @ISA); -$VERSION = '2.068_001'; +$VERSION = '2.068'; sub mkUncompObject { diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm index 1387a9c..ecc66b9 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm @@ -9,7 +9,7 @@ use IO::Compress::Zip::Constants ; our ($VERSION); -$VERSION = '2.068_001'; +$VERSION = '2.068'; use Compress::Raw::Zlib 2.068 (); diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm index 5b7bc2e..2cfe61e 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm @@ -8,7 +8,7 @@ use IO::Compress::Base::Common 2.068 qw(:Status); use Compress::Raw::Zlib 2.068 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS); our ($VERSION); -$VERSION = '2.068_001'; +$VERSION = '2.068'; diff --git a/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm index 020af25..fd0bd69 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm @@ -21,7 +21,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError); -$VERSION = '2.068_001'; +$VERSION = '2.068'; $AnyInflateError = ''; @ISA = qw( Exporter IO::Uncompress::Base ); diff --git a/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm b/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm index cec47cb..0d2568e 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm @@ -13,7 +13,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError); -$VERSION = '2.068_001'; +$VERSION = '2.068'; $AnyUncompressError = ''; @ISA = qw( Exporter IO::Uncompress::Base ); @@ -27,8 +27,6 @@ Exporter::export_ok_tags('all'); BEGIN { - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; eval ' use IO::Uncompress::Adapter::Inflate 2.068 ;'; eval ' use IO::Uncompress::Adapter::Bunzip2 2.068 ;'; eval ' use IO::Uncompress::Adapter::LZO 2.068 ;'; diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Base.pm b/cpan/IO-Compress/lib/IO/Uncompress/Base.pm index dd521f5..04348a2 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Base.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Base.pm @@ -9,7 +9,7 @@ our (@ISA, $VERSION, @EXPORT_OK, %EXPORT_TAGS); @ISA = qw(Exporter IO::File); -$VERSION = '2.068_001'; +$VERSION = '2.068'; use constant G_EOF => 0 ; use constant G_ERR => -1 ; diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm b/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm index 157b110..c6e7f46 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm @@ -12,7 +12,7 @@ use IO::Uncompress::Adapter::Bunzip2 2.068 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bunzip2Error); -$VERSION = '2.068_001'; +$VERSION = '2.068'; $Bunzip2Error = ''; @ISA = qw( Exporter IO::Uncompress::Base ); diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm b/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm index 8655b68..1f33f0b 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm @@ -28,7 +28,7 @@ Exporter::export_ok_tags('all'); $GunzipError = ''; -$VERSION = '2.068_001'; +$VERSION = '2.068'; sub new { diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm index fd6f551..1330731 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm @@ -13,7 +13,7 @@ use IO::Uncompress::RawInflate 2.068 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError); -$VERSION = '2.068_001'; +$VERSION = '2.068'; $InflateError = ''; @ISA = qw( Exporter IO::Uncompress::RawInflate ); diff --git a/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm b/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm index 7b21821..3a375a7 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm @@ -14,7 +14,7 @@ use IO::Uncompress::Adapter::Inflate 2.068 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError); -$VERSION = '2.068_001'; +$VERSION = '2.068'; $RawInflateError = ''; @ISA = qw( Exporter IO::Uncompress::Base ); diff --git a/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm b/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm index 132da90..f73313f 100644 --- a/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm +++ b/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm @@ -31,7 +31,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup); -$VERSION = '2.068_001'; +$VERSION = '2.068'; $UnzipError = ''; @ISA = qw(Exporter IO::Uncompress::RawInflate); diff --git a/cpan/IPC-Cmd/lib/IPC/Cmd.pm b/cpan/IPC-Cmd/lib/IPC/Cmd.pm index 4705f04..6a82bdf 100644 --- a/cpan/IPC-Cmd/lib/IPC/Cmd.pm +++ b/cpan/IPC-Cmd/lib/IPC/Cmd.pm @@ -18,7 +18,7 @@ BEGIN { $HAVE_MONOTONIC ]; - $VERSION = '0.92_01'; + $VERSION = '0.92'; $VERBOSE = 0; $DEBUG = 0; $WARN = 1; @@ -142,8 +142,6 @@ sub can_use_ipc_run { return if IS_WIN98; ### if we don't have ipc::run, we obviously can't use it. - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; return unless can_load( modules => { 'IPC::Run' => '0.55' }, verbose => ($WARN && $verbose), @@ -171,8 +169,6 @@ sub can_use_ipc_open3 { ### IPC::Open3 works on every non-VMS platform, but it can't ### capture buffers on win32 :( - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; return unless can_load( modules => { map {$_ => '0.0'} qw|IPC::Open3 IO::Select Symbol| }, verbose => ($WARN && $verbose), diff --git a/cpan/JSON-PP/bin/json_pp b/cpan/JSON-PP/bin/json_pp index 896cd2f..df9d243 100644 --- a/cpan/JSON-PP/bin/json_pp +++ b/cpan/JSON-PP/bin/json_pp @@ -1,6 +1,5 @@ #!/usr/bin/perl -BEGIN { pop @INC if $INC[-1] eq '.' } use strict; use Getopt::Long; diff --git a/cpan/JSON-PP/lib/JSON/PP.pm b/cpan/JSON-PP/lib/JSON/PP.pm index 1e29eee..7a011a4 100644 --- a/cpan/JSON-PP/lib/JSON/PP.pm +++ b/cpan/JSON-PP/lib/JSON/PP.pm @@ -11,7 +11,7 @@ use Carp (); use B (); #use Devel::Peek; -$JSON::PP::VERSION = '2.27300_01'; +$JSON::PP::VERSION = '2.27300'; @JSON::PP::EXPORT = qw(encode_json decode_json from_json to_json); diff --git a/cpan/Locale-Codes/lib/Locale/Codes.pm b/cpan/Locale-Codes/lib/Locale/Codes.pm index 855c377..922d1a0 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes.pm @@ -31,7 +31,7 @@ our($VERSION,%Data,%Retired); # $Retired{ TYPE }{ CODESET }{ code }{ CODE } = NAME # { name }{ NAME } = [CODE,NAME] (the key is lowercase) -$VERSION='3.34'; +$VERSION='3.35'; #======================================================================= # diff --git a/cpan/Locale-Codes/lib/Locale/Codes.pod b/cpan/Locale-Codes/lib/Locale/Codes.pod index 430a464..106f0ba 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes.pod +++ b/cpan/Locale-Codes/lib/Locale/Codes.pod @@ -14,49 +14,49 @@ Currently, the following modules are included: =over 4 -=item B +=item L, L 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 +Because this module was originally distributed as L, it is also available under that name. -=item B +=item L, L 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 +Because this module was originally distributed as L, it is also available under that name. -=item B +=item L, L 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 +Because this module was originally distributed as L, it is also available under that name. -=item B +=item L, L 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 +Because this module was originally distributed as L, it is also available under that name. -=item B +=item L This includes support for language extension codes (such as those listed in the IANA language registry) to specify the language extension. -=item B +=item L This includes support for language variation codes (such as those listed in the IANA language registry) to specify the language variation. -=item B +=item L This includes support for language family codes (such as those listed in ISO 639-5) to specify families of languages. @@ -65,11 +65,12 @@ in ISO 639-5) to specify families of languages. 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). +one-to-one. For example, the L module +supports code sets from ISO-3166 and the IANA standard, and those two +standards 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 @@ -106,7 +107,8 @@ in the distribution including: =back These modules are not intended to be used by programmers. They contain functions -or data that are used by the modules listed above. +or data that are used by the modules listed above. No support of any kind is +offered for using these modules directly. They may be modified at any time. =head1 NEW CODE SETS @@ -179,7 +181,7 @@ 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" + => "us" Now the following will also return 'us': @@ -199,11 +201,11 @@ 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. +name is no longer Zaire, so adding it as an alias violates the +standard. Zaire was kept as an alias in versions of this module 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 @@ -216,47 +218,47 @@ 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 +all_XXX_codes, and all_XXX_names function in the L documentation. =head1 SEE ALSO =over 4 -=item B +=item L The list of functions available in each of the modules listed below. The APIs for each module are exactly identical. -=item B +=item L Codes for identification of countries. -=item B +=item L Codes for identification of languages. -=item B +=item L Codes for identification of scripts. -=item B +=item L Codes for identification of currencies and funds. -=item B +=item L Codes for identification of language extensions. -=item B +=item L Codes for identification of language variations. -=item B +=item L Codes for identification of language families. -=item B +=item L A history of changes made to this distribution. @@ -282,7 +284,7 @@ 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 + L =head1 COPYRIGHT diff --git a/cpan/Locale-Codes/lib/Locale/Codes/API.pod b/cpan/Locale-Codes/lib/Locale/Codes/API.pod index 4353e19..f196461 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/API.pod +++ b/cpan/Locale-Codes/lib/Locale/Codes/API.pod @@ -6,7 +6,7 @@ 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 +Although there are several modules in the B 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. @@ -18,7 +18,7 @@ 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. +contains a function C where XXX refers to the type of data. The values of XXX are described in the following table: XXX MODULE @@ -29,21 +29,22 @@ The values of XXX are described in the following table: script Locale::Codes::Script langext Locale::Codes::LangExt langvar Locale::Codes::LangVar - langfam Locale::Codes::LangFAM + langfam Locale::Codes::LangFam -So, the Locale::Country module contains the function code2country, the -Locale::Language module contains the function code2language, etc. +So, the L module contains the function C, the +L module contains the function C, 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. +In all of the functions below, B 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. B is always case insensitive when passed in as an +argument, so 'fi', 'FI', and 'Fi' would all be equivalent arguments. +When B is returned from an argument, it will always be in the +case as used in the standard. -CODESET refers to a constant specified in the documentation for each +B 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 +L module, B 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: @@ -60,15 +61,15 @@ identical. 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 will be returned. +code in the B specified then C 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. +be returned for different values of B. -For example, the B country code set defines the two-letter +For example, the alpha-2 country code set defines the two-letter code "bo" to be "Bolivia, Plurinational State of", whereas the -B code set defines the code 'bol' to be the country "Bolivia +alpha-3 code set defines the code 'bol' to be the country "Bolivia (Plurinational State of)". So: code2country('bo',LOCALE_CODE_ALPHA_2); @@ -84,7 +85,7 @@ codes will be examined. =item B 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 +and returns the code that corresponds to it, if it exists. If B could not be identified as the name of one of the elements, then C will be returned. @@ -92,9 +93,9 @@ 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: +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); @@ -114,11 +115,11 @@ names will be examined. =item B 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 will be returned. +corresponding code from another code set. B must exists in the code +set specified by B and must have a corresponding code in the +code set specified by B or C will be returned. -Both CODESETs must be explicitly entered. +Both B and B must be explicitly entered. country_code2code('fin', LOCALE_CODE_ALPHA_3, LOCALE_CODE_ALPHA_2); @@ -166,8 +167,8 @@ These routines do not currently work with retired codes. =item B 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. +that point, the name returned by the C routine would be +B instead of the name specified in the standard. The original name will remain as an alias. @@ -180,8 +181,8 @@ 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. +occurs if B doesn't exist in the specified code set, or if +B is already in use but for a different element. If the routine succeeds, 1 is returned. @@ -189,8 +190,8 @@ If the routine succeeds, 1 is returned. 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). +Both B and B must be unused in the data set or an error +occurs (though B 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: @@ -207,16 +208,16 @@ The return value is 1 on success, 0 on an error. These routines are used to delete a code from the data. -CODE must refer to an existing code in the code set. +B must refer to an existing code in the code set. The return value is 1 on success, 0 on an error. =item B These routines are used to add a new alias to the data. They do -not alter the return value of the code2XXX function. +not alter the return value of the C function. -NAME must be an existing element name, and NEW_NAME must +B must be an existing element name, and B must be unused or an error occurs. The return value is 1 on success, 0 on an error. @@ -224,18 +225,18 @@ The return value is 1 on success, 0 on an error. =item B These routines are used to delete an alias from the data. Once -removed, the element may not be referred to by NAME. +removed, the element may not be referred to by B. -NAME must be one of a list of at least two names that may be used to +B 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. +name, you'll need to use the C function to add a new alias +first, or the C 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 +C function to force one of the alternate names to be used. The return value is 1 on success, 0 on an error. @@ -243,32 +244,32 @@ The return value is 1 on success, 0 on an error. =item B 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. +that point, the code returned by the C routine would be +B 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 +B may either be a code that is not in use, or it may be an +alias for B (in which case, B becomes and alias and B becomes the "real" code). -The original code is kept as an alias, so that the code2XXX routines +The original code is kept as an alias, so that the C 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 +However, the C 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). +contain B, but will not contain B). =item B -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 +These routines add an alias for the code. At that point, B and B +will both work in the C routines. However, the C routines will still return the original code. =item B 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 +These will only work if B is actually an alias. If it is the "real" +code, it will not be deleted. You will need to use the C function to switch the real code with one of the aliases, and then delete the alias. @@ -300,7 +301,21 @@ limitation in the future. =head1 SEE ALSO -Locale::Codes +L + +L + +L + +L + +L + +L + +L + +L =head1 AUTHOR diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod b/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod index 697a2e4..843a7cb 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod +++ b/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod @@ -26,7 +26,18 @@ codes, I will add them to the module and release a new version. =head1 VERSION 3.36 (planned 2015-09-01; sbeck) -=head1 VERSION 3.35 (planned 2015-06-01; sbeck) +=head1 VERSION 3.35 (2015-06-01; sbeck) + +NEW CODE(s) + +=over 4 + +=item B + +Many changes to the formatting in the documentation to improve it. Suggested +by Pete Houston. + +=back =head1 VERSION 3.34 (2015-03-01; sbeck) diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Constants.pm b/cpan/Locale-Codes/lib/Locale/Codes/Constants.pm index 256d695..b49837a 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Constants.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/Constants.pm @@ -17,7 +17,7 @@ require Exporter; our($VERSION,@ISA,@EXPORT); our(%ALL_CODESETS); -$VERSION='3.34'; +$VERSION='3.35'; @ISA = qw(Exporter); @EXPORT = qw(LOCALE_CODE_ALPHA_2 LOCALE_CODE_ALPHA_3 diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Constants.pod b/cpan/Locale-Codes/lib/Locale/Codes/Constants.pod deleted file mode 100644 index 0ad1335..0000000 --- a/cpan/Locale-Codes/lib/Locale/Codes/Constants.pod +++ /dev/null @@ -1,41 +0,0 @@ -=pod - -=head1 NAME - -Locale::Codes::Constants - constants for Locale codes - -=head1 DESCRIPTION - -B defines symbols which are used in the other -modules from the Locale-Codes distribution. - -You shouldn't have to C 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-2015 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/cpan/Locale-Codes/lib/Locale/Codes/Country.pm b/cpan/Locale-Codes/lib/Locale/Codes/Country.pm index 2fc76c4..95183e7 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Country.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/Country.pm @@ -22,7 +22,7 @@ use Locale::Codes::Country_Retired; our($VERSION,@ISA,@EXPORT,@EXPORT_OK); -$VERSION='3.34'; +$VERSION='3.35'; @ISA = qw(Exporter); @EXPORT = qw(code2country country2code diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Country.pod b/cpan/Locale-Codes/lib/Locale/Codes/Country.pod index e1d8646..9b8a73c 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Country.pod +++ b/cpan/Locale-Codes/lib/Locale/Codes/Country.pod @@ -20,7 +20,7 @@ Locale::Codes::Country - standard codes for country identification =head1 DESCRIPTION -The C module provides access to several code sets +This module provides access to several code sets that can be used for identifying countries, such as those defined in ISO 3166-1. @@ -80,33 +80,33 @@ Locale::Codes::Changes document for details. =over 4 -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -These routines are all documented in the Locale::Codes::API man page. +These routines are all documented in the L man page. =item B @@ -137,35 +137,35 @@ all 2.X releases, but has been dropped as of 3.00. =over 4 -=item B +=item L The Locale-Codes distribution. -=item B +=item L The list of functions supported by this module. -=item B +=item L 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 +=item L Official home page for the ISO 3166 maintenance agency. -=item B +=item L The source of ISO 3166-1 two-letter codes used by this module. -=item B +=item L Official source of the top-level domain names. -=item B +=item L The source of the official ISO 3166-1 three-letter codes and three-digit codes. @@ -174,13 +174,13 @@ 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 +=item L 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 +=item L Another unofficial source of data. Currently, it is not used to get data, but the notes and explanatory material were very useful for diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Country_Codes.pm b/cpan/Locale-Codes/lib/Locale/Codes/Country_Codes.pm index 4a0ffdb..cbedadb 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Country_Codes.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/Country_Codes.pm @@ -3,7 +3,7 @@ Locale::Codes::Country_Codes; # This file was automatically generated. Any changes to this file will # be lost the next time 'harvest_data' is run. -# Generated on: Thu Feb 19 20:23:53 GMT 2015 +# Generated on: Mon Jun 1 10:38:27 EDT 2015 use strict; require 5.006; @@ -11,7 +11,7 @@ use warnings; use utf8; our($VERSION); -$VERSION='3.34'; +$VERSION='3.35'; $Locale::Codes::Data{'country'}{'id'} = '0250'; diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Country_Retired.pm b/cpan/Locale-Codes/lib/Locale/Codes/Country_Retired.pm index 7defc73..e655d8e 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Country_Retired.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/Country_Retired.pm @@ -3,7 +3,7 @@ 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: Fri Feb 20 15:27:22 GMT 2015 +# Generated on: Mon Jun 1 13:35:17 EDT 2015 use strict; require 5.006; @@ -11,7 +11,7 @@ use warnings; use utf8; our($VERSION); -$VERSION='3.34'; +$VERSION='3.35'; $Locale::Codes::Retired{'country'}{'alpha-2'}{'code'} = { q(an) => q(Netherlands Antilles), diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm b/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm index a2478c2..2272472 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm @@ -22,7 +22,7 @@ use Locale::Codes::Currency_Retired; our($VERSION,@ISA,@EXPORT,@EXPORT_OK); -$VERSION='3.34'; +$VERSION='3.35'; @ISA = qw(Exporter); @EXPORT = qw(code2currency currency2code diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Currency.pod b/cpan/Locale-Codes/lib/Locale/Codes/Currency.pod index 39221f8..bc5ea0d 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Currency.pod +++ b/cpan/Locale-Codes/lib/Locale/Codes/Currency.pod @@ -14,11 +14,10 @@ Locale::Codes::Currency - standard codes for currency identification @codes = all_currency_codes(); @names = all_currency_names(); - =head1 DESCRIPTION -The C module provides access to standard codes used -for identifying currencies and funds, such as those defined in ISO 4217. +This 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 @@ -60,33 +59,33 @@ This is the set of three-digit numeric codes from ISO 4217. =over 4 -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -These routines are all documented in the Locale::Codes::API man page. +These routines are all documented in the L man page. =back @@ -94,15 +93,15 @@ These routines are all documented in the Locale::Codes::API man page. =over 4 -=item B +=item L The Locale-Codes distribution. -=item B +=item L The list of functions supported by this module. -=item B +=item L The ISO 4217 data. diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Currency_Codes.pm b/cpan/Locale-Codes/lib/Locale/Codes/Currency_Codes.pm index 812d827..ed48de2 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Currency_Codes.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/Currency_Codes.pm @@ -3,7 +3,7 @@ Locale::Codes::Currency_Codes; # This file was automatically generated. Any changes to this file will # be lost the next time 'harvest_data' is run. -# Generated on: Thu Feb 19 20:50:17 GMT 2015 +# Generated on: Mon Jun 1 10:50:33 EDT 2015 use strict; require 5.006; @@ -11,7 +11,7 @@ use warnings; use utf8; our($VERSION); -$VERSION='3.34'; +$VERSION='3.35'; $Locale::Codes::Data{'currency'}{'id'} = '0177'; diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Currency_Retired.pm b/cpan/Locale-Codes/lib/Locale/Codes/Currency_Retired.pm index eef9e73..5ab04ee 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Currency_Retired.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/Currency_Retired.pm @@ -3,7 +3,7 @@ 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: Fri Feb 20 15:27:22 GMT 2015 +# Generated on: Mon Jun 1 13:35:17 EDT 2015 use strict; require 5.006; @@ -11,7 +11,7 @@ use warnings; use utf8; our($VERSION); -$VERSION='3.34'; +$VERSION='3.35'; $Locale::Codes::Retired{'currency'}{'alpha'}{'code'} = { q(ADP) => q(Andorran Peseta), diff --git a/cpan/Locale-Codes/lib/Locale/Codes/LangExt.pm b/cpan/Locale-Codes/lib/Locale/Codes/LangExt.pm index 561e5d1..5b1c57a 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/LangExt.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/LangExt.pm @@ -20,7 +20,7 @@ use Locale::Codes::LangExt_Retired; our($VERSION,@ISA,@EXPORT,@EXPORT_OK); -$VERSION='3.34'; +$VERSION='3.35'; @ISA = qw(Exporter); @EXPORT = qw(code2langext langext2code diff --git a/cpan/Locale-Codes/lib/Locale/Codes/LangExt.pod b/cpan/Locale-Codes/lib/Locale/Codes/LangExt.pod index 4cc1b44..271a5ac 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/LangExt.pod +++ b/cpan/Locale-Codes/lib/Locale/Codes/LangExt.pod @@ -16,7 +16,7 @@ Locale::Codes::LangExt - standard codes for language extension identification =head1 DESCRIPTION -The C module provides access to standard codes +This module provides access to standard codes used for identifying language extensions, such as those as defined in the IANA language registry. @@ -52,33 +52,33 @@ This is the default code set. =over 4 -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -These routines are all documented in the Locale::Codes::API man page. +These routines are all documented in the L man page. =back @@ -86,15 +86,15 @@ These routines are all documented in the Locale::Codes::API man page. =over 4 -=item B +=item L The Locale-Codes distribution. -=item B +=item L The list of functions supported by this module. -=item B +=item L The IANA language subtag registry. diff --git a/cpan/Locale-Codes/lib/Locale/Codes/LangExt_Codes.pm b/cpan/Locale-Codes/lib/Locale/Codes/LangExt_Codes.pm index c7e5e1e..d014205 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/LangExt_Codes.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/LangExt_Codes.pm @@ -3,7 +3,7 @@ Locale::Codes::LangExt_Codes; # This file was automatically generated. Any changes to this file will # be lost the next time 'harvest_data' is run. -# Generated on: Thu Feb 19 20:50:35 GMT 2015 +# Generated on: Mon Jun 1 10:51:25 EDT 2015 use strict; require 5.006; @@ -11,9 +11,9 @@ use warnings; use utf8; our($VERSION); -$VERSION='3.34'; +$VERSION='3.35'; -$Locale::Codes::Data{'langext'}{'id'} = '0229'; +$Locale::Codes::Data{'langext'}{'id'} = '0230'; $Locale::Codes::Data{'langext'}{'id2names'} = { q(0001) => [ @@ -694,25 +694,28 @@ $Locale::Codes::Data{'langext'}{'id2names'} = { q(Yolnu Sign Language), ], q(0222) => [ - q(Yugoslavian Sign Language), + q(Yan-nhanu Sign Language), ], q(0223) => [ + q(Yugoslavian Sign Language), + ], + q(0224) => [ q(Yue Chinese), q(Cantonese), ], - q(0224) => [ + q(0225) => [ q(Zimbabwe Sign Language), ], - q(0225) => [ + q(0226) => [ q(Malay (individual language)), ], - q(0226) => [ + q(0227) => [ q(Negeri Sembilan Malay), ], - q(0227) => [ + q(0228) => [ q(Zambian Sign Language), ], - q(0228) => [ + q(0229) => [ q(Standard Malay), ], }; @@ -831,7 +834,7 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = { q(0), ], q(cantonese) => [ - q(0223), + q(0224), q(1), ], q(catalan sign language) => [ @@ -1239,7 +1242,7 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = { q(0), ], q(malay (individual language)) => [ - q(0225), + q(0226), q(0), ], q(malaysian sign language) => [ @@ -1335,7 +1338,7 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = { q(0), ], q(negeri sembilan malay) => [ - q(0226), + q(0227), q(0), ], q(nepalese sign language) => [ @@ -1535,7 +1538,7 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = { q(0), ], q(standard malay) => [ - q(0228), + q(0229), q(0), ], q(sudanese arabic) => [ @@ -1666,6 +1669,10 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = { q(0096), q(0), ], + q(yan-nhanu sign language) => [ + q(0222), + q(0), + ], q(yolnu sign language) => [ q(0221), q(0), @@ -1675,19 +1682,19 @@ $Locale::Codes::Data{'langext'}{'alias2id'} = { q(0), ], q(yue chinese) => [ - q(0223), + q(0224), q(0), ], q(yugoslavian sign language) => [ - q(0222), + q(0223), q(0), ], q(zambian sign language) => [ - q(0227), + q(0228), q(0), ], q(zimbabwe sign language) => [ - q(0224), + q(0225), q(0), ], }; @@ -2578,34 +2585,38 @@ $Locale::Codes::Data{'langext'}{'code2id'} = { q(0221), q(0), ], - q(ysl) => [ + q(yhs) => [ q(0222), q(0), ], - q(yue) => [ + q(ysl) => [ q(0223), q(0), ], - q(zib) => [ + q(yue) => [ q(0224), q(0), ], - q(zlm) => [ + q(zib) => [ q(0225), q(0), ], - q(zmi) => [ + q(zlm) => [ q(0226), q(0), ], - q(zsl) => [ + q(zmi) => [ q(0227), q(0), ], - q(zsm) => [ + q(zsl) => [ q(0228), q(0), ], + q(zsm) => [ + q(0229), + q(0), + ], }, }; @@ -2832,13 +2843,14 @@ $Locale::Codes::Data{'langext'}{'id2code'} = { q(0219) => q(xmm), q(0220) => q(xms), q(0221) => q(ygs), - q(0222) => q(ysl), - q(0223) => q(yue), - q(0224) => q(zib), - q(0225) => q(zlm), - q(0226) => q(zmi), - q(0227) => q(zsl), - q(0228) => q(zsm), + q(0222) => q(yhs), + q(0223) => q(ysl), + q(0224) => q(yue), + q(0225) => q(zib), + q(0226) => q(zlm), + q(0227) => q(zmi), + q(0228) => q(zsl), + q(0229) => q(zsm), }, }; diff --git a/cpan/Locale-Codes/lib/Locale/Codes/LangExt_Retired.pm b/cpan/Locale-Codes/lib/Locale/Codes/LangExt_Retired.pm index 4fe85fa..35d5756 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/LangExt_Retired.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/LangExt_Retired.pm @@ -3,7 +3,7 @@ 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: Fri Feb 20 15:27:22 GMT 2015 +# Generated on: Mon Jun 1 13:35:17 EDT 2015 use strict; require 5.006; @@ -11,7 +11,7 @@ use warnings; use utf8; our($VERSION); -$VERSION='3.34'; +$VERSION='3.35'; $Locale::Codes::Retired{'langext'}{'alpha'}{'code'} = { q(yds) => q(Yiddish Sign Language), diff --git a/cpan/Locale-Codes/lib/Locale/Codes/LangFam.pm b/cpan/Locale-Codes/lib/Locale/Codes/LangFam.pm index a83c82d..aa7778d 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/LangFam.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/LangFam.pm @@ -20,7 +20,7 @@ use Locale::Codes::LangFam_Retired; our($VERSION,@ISA,@EXPORT,@EXPORT_OK); -$VERSION='3.34'; +$VERSION='3.35'; @ISA = qw(Exporter); @EXPORT = qw(code2langfam langfam2code diff --git a/cpan/Locale-Codes/lib/Locale/Codes/LangFam.pod b/cpan/Locale-Codes/lib/Locale/Codes/LangFam.pod index 00d60a8..acf71f5 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/LangFam.pod +++ b/cpan/Locale-Codes/lib/Locale/Codes/LangFam.pod @@ -16,7 +16,7 @@ Locale::Codes::LangFam - standard codes for language extension identification =head1 DESCRIPTION -The C module provides access to standard codes +This module provides access to standard codes used for identifying language families, such as those as defined in ISO 639-5. @@ -52,33 +52,33 @@ This is the default code set. =over 4 -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -These routines are all documented in the Locale::Codes::API man page. +These routines are all documented in the L man page. =back @@ -86,15 +86,15 @@ These routines are all documented in the Locale::Codes::API man page. =over 4 -=item B +=item L The Locale-Codes distribution. -=item B +=item L The list of functions supported by this module. -=item B +=item L ISO 639-5 . diff --git a/cpan/Locale-Codes/lib/Locale/Codes/LangFam_Codes.pm b/cpan/Locale-Codes/lib/Locale/Codes/LangFam_Codes.pm index c1988a1..d9781f3 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/LangFam_Codes.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/LangFam_Codes.pm @@ -3,7 +3,7 @@ Locale::Codes::LangFam_Codes; # This file was automatically generated. Any changes to this file will # be lost the next time 'harvest_data' is run. -# Generated on: Thu Feb 19 20:50:47 GMT 2015 +# Generated on: Mon Jun 1 13:33:31 EDT 2015 use strict; require 5.006; @@ -11,7 +11,7 @@ use warnings; use utf8; our($VERSION); -$VERSION='3.34'; +$VERSION='3.35'; $Locale::Codes::Data{'langfam'}{'id'} = '0116'; diff --git a/cpan/Locale-Codes/lib/Locale/Codes/LangFam_Retired.pm b/cpan/Locale-Codes/lib/Locale/Codes/LangFam_Retired.pm index 7fb4daf..e1c829c 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/LangFam_Retired.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/LangFam_Retired.pm @@ -5,40 +5,12 @@ Locale::Codes::LangFam_Retired; # be lost the next time 'deprecate_codes' is run. # Generated on: Tue Sep 27 15:40:31 EDT 2011 -=pod - -=head1 NAME - -Locale::Codes::LangFam_Retired - retired 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-2015 Sullivan Beck - -This module is free software; you can redistribute it and/or -modify it under the same terms as Perl itself. - -=cut - use strict; use warnings; require 5.002; our($VERSION); -$VERSION='3.34'; +$VERSION='3.35'; $Locale::Codes::Retired{'langfam'}{'alpha'}{'code'} = { }; diff --git a/cpan/Locale-Codes/lib/Locale/Codes/LangVar.pm b/cpan/Locale-Codes/lib/Locale/Codes/LangVar.pm index 9d9fc39..960621b 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/LangVar.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/LangVar.pm @@ -20,7 +20,7 @@ use Locale::Codes::LangVar_Retired; our($VERSION,@ISA,@EXPORT,@EXPORT_OK); -$VERSION='3.34'; +$VERSION='3.35'; @ISA = qw(Exporter); @EXPORT = qw(code2langvar langvar2code diff --git a/cpan/Locale-Codes/lib/Locale/Codes/LangVar.pod b/cpan/Locale-Codes/lib/Locale/Codes/LangVar.pod index 35d979b..b815e13 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/LangVar.pod +++ b/cpan/Locale-Codes/lib/Locale/Codes/LangVar.pod @@ -16,7 +16,7 @@ Locale::Codes::LangVar - standard codes for language variation identification =head1 DESCRIPTION -The C module provides access to standard codes +This module provides access to standard codes used for identifying language variations, such as those as defined in the IANA language registry. @@ -54,33 +54,33 @@ This is the default code set. =over 4 -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -These routines are all documented in the Locale::Codes::API man page. +These routines are all documented in the L man page. =back @@ -88,15 +88,15 @@ These routines are all documented in the Locale::Codes::API man page. =over 4 -=item B +=item L The Locale-Codes distribution. -=item B +=item L The list of functions supported by this module. -=item B +=item L The IANA language subtag registry. diff --git a/cpan/Locale-Codes/lib/Locale/Codes/LangVar_Codes.pm b/cpan/Locale-Codes/lib/Locale/Codes/LangVar_Codes.pm index 49daafa..eb5796b 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/LangVar_Codes.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/LangVar_Codes.pm @@ -3,7 +3,7 @@ Locale::Codes::LangVar_Codes; # This file was automatically generated. Any changes to this file will # be lost the next time 'harvest_data' is run. -# Generated on: Thu Feb 19 20:50:44 GMT 2015 +# Generated on: Mon Jun 1 13:32:51 EDT 2015 use strict; require 5.006; @@ -11,9 +11,9 @@ use warnings; use utf8; our($VERSION); -$VERSION='3.34'; +$VERSION='3.35'; -$Locale::Codes::Data{'langvar'}{'id'} = '0068'; +$Locale::Codes::Data{'langvar'}{'id'} = '0072'; $Locale::Codes::Data{'langvar'}{'id2names'} = { q(0001) => [ @@ -26,8 +26,7 @@ $Locale::Codes::Data{'langvar'}{'id2names'} = { q(Traditional German orthography), ], q(0004) => [ - q("Academic" ("governmental") variant of Belarusian as), - q("Academic" ("governmental") variant of Belarusian as), + q("Academic" ("governmental") variant of Belarusian as codified in 1959), ], q(0005) => [ q(Standardized Resian orthography), @@ -36,118 +35,127 @@ $Locale::Codes::Data{'langvar'}{'id2names'} = { q(German orthography of 1996), ], q(0007) => [ - q(ALA-LC Romanization, 1997 edition), + q(Orthographic formulation of 1943 - Official in Brazil (Formulario Ortografico de 1943 - Oficial no Brasil)), ], q(0008) => [ + q(ALA-LC Romanization, 1997 edition), + ], + q(0009) => [ q(Aluku dialect), q(Boni dialect), ], - q(0009) => [ + q(0010) => [ + q(Portugese Language Orthographic Agreement of 1990 (Acordo Ortografico da Lingua Portuguesa de 1990)), + ], + q(0011) => [ q(Eastern Armenian), ], - q(0010) => [ + q(0012) => [ q(Western Armenian), ], - q(0011) => [ + q(0013) => [ q(Unified Turkic Latin Alphabet (Historical)), ], - q(0012) => [ + q(0014) => [ q(The Balanka dialect of Anii), ], - q(0013) => [ + q(0015) => [ q(The Barlavento dialect group of Kabuverdianu), ], - q(0014) => [ + q(0016) => [ q(Buddhist Hybrid Sanskrit), ], - q(0015) => [ + q(0017) => [ q(Biscayan dialect of Basque), ], - q(0016) => [ + q(0018) => [ q(The San Giorgio dialect of Resian), q(The Bila dialect of Resian), ], - q(0017) => [ + q(0019) => [ q(Slovene in Bohoric alphabet), ], - q(0018) => [ + q(0020) => [ q(Boontling), ], - q(0019) => [ + q(0021) => [ + q(Portuguese-Brazilian Orthographic Convention of 1945 (Convencao Ortografica Luso-Brasileira de 1945)), + ], + q(0022) => [ q(Slovene in Dajnko alphabet), ], - q(0020) => [ + q(0023) => [ q(Serbian with Ekavian pronunciation), ], - q(0021) => [ + q(0024) => [ q(Early Modern English (1500-1700)), ], - q(0022) => [ + q(0025) => [ q(International Phonetic Alphabet), ], - q(0023) => [ + q(0026) => [ q(Uralic Phonetic Alphabet), ], - q(0024) => [ + q(0027) => [ q(X-SAMPA transcription), ], - q(0025) => [ + q(0028) => [ q(Hepburn romanization), ], - q(0026) => [ + q(0029) => [ q(Norwegian in Hognorsk (High Norwegian) orthography), ], - q(0027) => [ + q(0030) => [ q(Serbian with Ijekavian pronunciation), ], - q(0028) => [ + q(0031) => [ q(Epic Sanskrit), ], - q(0029) => [ + q(0032) => [ q(Jauer dialect of Romansh), ], - q(0030) => [ + q(0033) => [ q(Jyutping Cantonese Romanization), ], - q(0031) => [ + q(0034) => [ q(Common Cornish orthography of Revived Cornish), ], - q(0032) => [ + q(0035) => [ q(The Kociewie dialect of Polish), ], - q(0033) => [ + q(0036) => [ q(Standard Cornish orthography of Revived Cornish), q(Kernowek Standard), ], - q(0034) => [ + q(0037) => [ q(Classical Sanskrit), ], - q(0035) => [ + q(0038) => [ q(The Lipovaz dialect of Resian), q(The Lipovec dialect of Resian), ], - q(0036) => [ + q(0039) => [ q(Post-1917 Russian orthography), ], - q(0037) => [ + q(0040) => [ q(Slovene in Metelko alphabet), ], - q(0038) => [ + q(0041) => [ q(Monotonic Greek), ], - q(0039) => [ + q(0042) => [ q(Ndyuka dialect), q(Aukan dialect), ], - q(0040) => [ + q(0043) => [ q(Natisone dialect), q(Nadiza dialect), ], - q(0041) => [ + q(0044) => [ q(The Gniva dialect of Resian), q(The Njiva dialect of Resian), ], - q(0042) => [ + q(0045) => [ q(Volapuk nulik), q(Volapuk perevidol), q(Volapuk nuladik), @@ -156,145 +164,148 @@ $Locale::Codes::Data{'langvar'}{'id2names'} = { q(Revised Volapuk), q(Modern Volapuk), ], - q(0043) => [ + q(0046) => [ q(The Oseacco dialect of Resian), q(The Osojane dialect of Resian), ], - q(0044) => [ + q(0047) => [ + q(Oxford English Dictionary spelling), + ], + q(0048) => [ q(Pamaka dialect), ], - q(0045) => [ + q(0049) => [ q(Petrine orthography), ], - q(0046) => [ + q(0050) => [ q(Pinyin romanization), ], - q(0047) => [ + q(0051) => [ q(Polytonic Greek), ], - q(0048) => [ + q(0052) => [ q(Puter idiom of Romansh), ], - q(0049) => [ + q(0053) => [ q(Volapuk rigik), q(Schleyer's Volapuk), q(Original Volapuk), q(Classic Volapuk), ], - q(0050) => [ + q(0054) => [ q(Resian), q(Resianic), q(Rezijan), ], - q(0051) => [ + q(0055) => [ q(Rumantsch Grischun), ], - q(0052) => [ + q(0056) => [ q(Scottish Standard English), ], - q(0053) => [ + q(0057) => [ q(Scouse), ], - q(0054) => [ + q(0058) => [ q(The Stolvizza dialect of Resian), q(The Solbica dialect of Resian), ], - q(0055) => [ + q(0059) => [ q(The Sotavento dialect group of Kabuverdianu), ], - q(0056) => [ + q(0060) => [ q(Surmiran idiom of Romansh), ], - q(0057) => [ + q(0061) => [ q(Sursilvan idiom of Romansh), ], - q(0058) => [ + q(0062) => [ q(Sutsilvan idiom of Romansh), ], - q(0059) => [ + q(0063) => [ q(Belarusian in Taraskievica orthography), ], - q(0060) => [ + q(0064) => [ q(Unified Cornish orthography of Revived Cornish), ], - q(0061) => [ + q(0065) => [ q(Unified Cornish Revised orthography of Revived Cornish), ], - q(0062) => [ + q(0066) => [ q(Ulster dialect of Scots), ], - q(0063) => [ + q(0067) => [ q(Unifon phonetic alphabet), ], - q(0064) => [ + q(0068) => [ q(Vedic Sanskrit), ], - q(0065) => [ + q(0069) => [ q(Valencian), ], - q(0066) => [ + q(0070) => [ q(Vallader idiom of Romansh), ], - q(0067) => [ + q(0071) => [ q(Wade-Giles romanization), ], }; $Locale::Codes::Data{'langvar'}{'alias2id'} = { - q("academic" ("governmental") variant of belarusian as) => [ + q("academic" ("governmental") variant of belarusian as codified in 1959) => [ q(0004), - q(1), + q(0), ], q(ala-lc romanization, 1997 edition) => [ - q(0007), + q(0008), q(0), ], q(aluku dialect) => [ - q(0008), + q(0009), q(0), ], q(aukan dialect) => [ - q(0039), + q(0042), q(1), ], q(belarusian in taraskievica orthography) => [ - q(0059), + q(0063), q(0), ], q(biscayan dialect of basque) => [ - q(0015), + q(0017), q(0), ], q(boni dialect) => [ - q(0008), + q(0009), q(1), ], q(boontling) => [ - q(0018), + q(0020), q(0), ], q(buddhist hybrid sanskrit) => [ - q(0014), + q(0016), q(0), ], q(classic volapuk) => [ - q(0049), + q(0053), q(3), ], q(classical sanskrit) => [ - q(0034), + q(0037), q(0), ], q(common cornish orthography of revived cornish) => [ - q(0031), + q(0034), q(0), ], q(de jong's volapuk) => [ - q(0042), + q(0045), q(3), ], q(early modern english (1500-1700)) => [ - q(0021), + q(0024), q(0), ], q(early modern french) => [ @@ -302,11 +313,11 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = { q(0), ], q(eastern armenian) => [ - q(0009), + q(0011), q(0), ], q(epic sanskrit) => [ - q(0028), + q(0031), q(0), ], q(german orthography of 1996) => [ @@ -314,23 +325,23 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = { q(0), ], q(hepburn romanization) => [ - q(0025), + q(0028), q(0), ], q(international phonetic alphabet) => [ - q(0022), + q(0025), q(0), ], q(jauer dialect of romansh) => [ - q(0029), + q(0032), q(0), ], q(jyutping cantonese romanization) => [ - q(0030), + q(0033), q(0), ], q(kernowek standard) => [ - q(0033), + q(0036), q(1), ], q(late middle french (to 1606)) => [ @@ -338,115 +349,131 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = { q(0), ], q(modern volapuk) => [ - q(0042), + q(0045), q(6), ], q(monotonic greek) => [ - q(0038), + q(0041), q(0), ], q(nadiza dialect) => [ - q(0040), + q(0043), q(1), ], q(natisone dialect) => [ - q(0040), + q(0043), q(0), ], q(ndyuka dialect) => [ - q(0039), + q(0042), q(0), ], q(new volapuk) => [ - q(0042), + q(0045), q(4), ], q(norwegian in hognorsk (high norwegian) orthography) => [ - q(0026), + q(0029), q(0), ], q(original volapuk) => [ - q(0049), + q(0053), q(2), ], + q(orthographic formulation of 1943 - official in brazil (formulario ortografico de 1943 - oficial no brasil)) => [ + q(0007), + q(0), + ], + q(oxford english dictionary spelling) => [ + q(0047), + q(0), + ], q(pamaka dialect) => [ - q(0044), + q(0048), q(0), ], q(petrine orthography) => [ - q(0045), + q(0049), q(0), ], q(pinyin romanization) => [ - q(0046), + q(0050), q(0), ], q(polytonic greek) => [ - q(0047), + q(0051), + q(0), + ], + q(portugese language orthographic agreement of 1990 (acordo ortografico da lingua portuguesa de 1990)) => [ + q(0010), + q(0), + ], + q(portuguese-brazilian orthographic convention of 1945 (convencao ortografica luso-brasileira de 1945)) => [ + q(0021), q(0), ], q(post-1917 russian orthography) => [ - q(0036), + q(0039), q(0), ], q(puter idiom of romansh) => [ - q(0048), + q(0052), q(0), ], q(resian) => [ - q(0050), + q(0054), q(0), ], q(resianic) => [ - q(0050), + q(0054), q(1), ], q(revised volapuk) => [ - q(0042), + q(0045), q(5), ], q(rezijan) => [ - q(0050), + q(0054), q(2), ], q(rumantsch grischun) => [ - q(0051), + q(0055), q(0), ], q(schleyer's volapuk) => [ - q(0049), + q(0053), q(1), ], q(scottish standard english) => [ - q(0052), + q(0056), q(0), ], q(scouse) => [ - q(0053), + q(0057), q(0), ], q(serbian with ekavian pronunciation) => [ - q(0020), + q(0023), q(0), ], q(serbian with ijekavian pronunciation) => [ - q(0027), + q(0030), q(0), ], q(slovene in bohoric alphabet) => [ - q(0017), + q(0019), q(0), ], q(slovene in dajnko alphabet) => [ - q(0019), + q(0022), q(0), ], q(slovene in metelko alphabet) => [ - q(0037), + q(0040), q(0), ], q(standard cornish orthography of revived cornish) => [ - q(0033), + q(0036), q(0), ], q(standardized resian orthography) => [ @@ -454,71 +481,71 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = { q(0), ], q(surmiran idiom of romansh) => [ - q(0056), + q(0060), q(0), ], q(sursilvan idiom of romansh) => [ - q(0057), + q(0061), q(0), ], q(sutsilvan idiom of romansh) => [ - q(0058), + q(0062), q(0), ], q(the balanka dialect of anii) => [ - q(0012), + q(0014), q(0), ], q(the barlavento dialect group of kabuverdianu) => [ - q(0013), + q(0015), q(0), ], q(the bila dialect of resian) => [ - q(0016), + q(0018), q(1), ], q(the gniva dialect of resian) => [ - q(0041), + q(0044), q(0), ], q(the kociewie dialect of polish) => [ - q(0032), + q(0035), q(0), ], q(the lipovaz dialect of resian) => [ - q(0035), + q(0038), q(0), ], q(the lipovec dialect of resian) => [ - q(0035), + q(0038), q(1), ], q(the njiva dialect of resian) => [ - q(0041), + q(0044), q(1), ], q(the oseacco dialect of resian) => [ - q(0043), + q(0046), q(0), ], q(the osojane dialect of resian) => [ - q(0043), + q(0046), q(1), ], q(the san giorgio dialect of resian) => [ - q(0016), + q(0018), q(0), ], q(the solbica dialect of resian) => [ - q(0054), + q(0058), q(1), ], q(the sotavento dialect group of kabuverdianu) => [ - q(0055), + q(0059), q(0), ], q(the stolvizza dialect of resian) => [ - q(0054), + q(0058), q(0), ], q(traditional german orthography) => [ @@ -526,67 +553,67 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = { q(0), ], q(ulster dialect of scots) => [ - q(0062), + q(0066), q(0), ], q(unified cornish orthography of revived cornish) => [ - q(0060), + q(0064), q(0), ], q(unified cornish revised orthography of revived cornish) => [ - q(0061), + q(0065), q(0), ], q(unified turkic latin alphabet (historical)) => [ - q(0011), + q(0013), q(0), ], q(unifon phonetic alphabet) => [ - q(0063), + q(0067), q(0), ], q(uralic phonetic alphabet) => [ - q(0023), + q(0026), q(0), ], q(valencian) => [ - q(0065), + q(0069), q(0), ], q(vallader idiom of romansh) => [ - q(0066), + q(0070), q(0), ], q(vedic sanskrit) => [ - q(0064), + q(0068), q(0), ], q(volapuk nuladik) => [ - q(0042), + q(0045), q(2), ], q(volapuk nulik) => [ - q(0042), + q(0045), q(0), ], q(volapuk perevidol) => [ - q(0042), + q(0045), q(1), ], q(volapuk rigik) => [ - q(0049), + q(0053), q(0), ], q(wade-giles romanization) => [ - q(0067), + q(0071), q(0), ], q(western armenian) => [ - q(0010), + q(0012), q(0), ], q(x-sampa transcription) => [ - q(0024), + q(0027), q(0), ], }; @@ -617,250 +644,266 @@ $Locale::Codes::Data{'langvar'}{'code2id'} = { q(0006), q(0), ], - q(alalc97) => [ + q(abl1943) => [ q(0007), q(0), ], - q(aluku) => [ + q(alalc97) => [ q(0008), q(0), ], - q(arevela) => [ + q(aluku) => [ q(0009), q(0), ], - q(arevmda) => [ + q(ao1990) => [ q(0010), q(0), ], - q(baku1926) => [ + q(arevela) => [ q(0011), q(0), ], - q(balanka) => [ + q(arevmda) => [ q(0012), q(0), ], - q(barla) => [ + q(baku1926) => [ q(0013), q(0), ], - q(bauddha) => [ + q(balanka) => [ q(0014), q(0), ], - q(biscayan) => [ + q(barla) => [ q(0015), q(0), ], - q(biske) => [ + q(bauddha) => [ q(0016), q(0), ], - q(bohoric) => [ + q(biscayan) => [ q(0017), q(0), ], - q(boont) => [ + q(biske) => [ q(0018), q(0), ], - q(dajnko) => [ + q(bohoric) => [ q(0019), q(0), ], - q(ekavsk) => [ + q(boont) => [ q(0020), q(0), ], - q(emodeng) => [ + q(colb1945) => [ q(0021), q(0), ], - q(fonipa) => [ + q(dajnko) => [ q(0022), q(0), ], - q(fonupa) => [ + q(ekavsk) => [ q(0023), q(0), ], - q(fonxsamp) => [ + q(emodeng) => [ q(0024), q(0), ], - q(hepburn) => [ + q(fonipa) => [ q(0025), q(0), ], - q(hognorsk) => [ + q(fonupa) => [ q(0026), q(0), ], - q(ijekavsk) => [ + q(fonxsamp) => [ q(0027), q(0), ], - q(itihasa) => [ + q(hepburn) => [ q(0028), q(0), ], - q(jauer) => [ + q(hognorsk) => [ q(0029), q(0), ], - q(jyutping) => [ + q(ijekavsk) => [ q(0030), q(0), ], - q(kkcor) => [ + q(itihasa) => [ q(0031), q(0), ], - q(kociewie) => [ + q(jauer) => [ q(0032), q(0), ], - q(kscor) => [ + q(jyutping) => [ q(0033), q(0), ], - q(laukika) => [ + q(kkcor) => [ q(0034), q(0), ], - q(lipaw) => [ + q(kociewie) => [ q(0035), q(0), ], - q(luna1918) => [ + q(kscor) => [ q(0036), q(0), ], - q(metelko) => [ + q(laukika) => [ q(0037), q(0), ], - q(monoton) => [ + q(lipaw) => [ q(0038), q(0), ], - q(ndyuka) => [ + q(luna1918) => [ q(0039), q(0), ], - q(nedis) => [ + q(metelko) => [ q(0040), q(0), ], - q(njiva) => [ + q(monoton) => [ q(0041), q(0), ], - q(nulik) => [ + q(ndyuka) => [ q(0042), q(0), ], - q(osojs) => [ + q(nedis) => [ q(0043), q(0), ], - q(pamaka) => [ + q(njiva) => [ q(0044), q(0), ], - q(petr1708) => [ + q(nulik) => [ q(0045), q(0), ], - q(pinyin) => [ + q(osojs) => [ q(0046), q(0), ], - q(polyton) => [ + q(oxendict) => [ q(0047), q(0), ], - q(puter) => [ + q(pamaka) => [ q(0048), q(0), ], - q(rigik) => [ + q(petr1708) => [ q(0049), q(0), ], - q(rozaj) => [ + q(pinyin) => [ q(0050), q(0), ], - q(rumgr) => [ + q(polyton) => [ q(0051), q(0), ], - q(scotland) => [ + q(puter) => [ q(0052), q(0), ], - q(scouse) => [ + q(rigik) => [ q(0053), q(0), ], - q(solba) => [ + q(rozaj) => [ q(0054), q(0), ], - q(sotav) => [ + q(rumgr) => [ q(0055), q(0), ], - q(surmiran) => [ + q(scotland) => [ q(0056), q(0), ], - q(sursilv) => [ + q(scouse) => [ q(0057), q(0), ], - q(sutsilv) => [ + q(solba) => [ q(0058), q(0), ], - q(tarask) => [ + q(sotav) => [ q(0059), q(0), ], - q(uccor) => [ + q(surmiran) => [ q(0060), q(0), ], - q(ucrcor) => [ + q(sursilv) => [ q(0061), q(0), ], - q(ulster) => [ + q(sutsilv) => [ q(0062), q(0), ], - q(unifon) => [ + q(tarask) => [ q(0063), q(0), ], - q(vaidika) => [ + q(uccor) => [ q(0064), q(0), ], - q(valencia) => [ + q(ucrcor) => [ q(0065), q(0), ], - q(vallader) => [ + q(ulster) => [ q(0066), q(0), ], - q(wadegile) => [ + q(unifon) => [ q(0067), q(0), ], + q(vaidika) => [ + q(0068), + q(0), + ], + q(valencia) => [ + q(0069), + q(0), + ], + q(vallader) => [ + q(0070), + q(0), + ], + q(wadegile) => [ + q(0071), + q(0), + ], }, }; @@ -872,67 +915,71 @@ $Locale::Codes::Data{'langvar'}{'id2code'} = { q(0004) => q(1959acad), q(0005) => q(1994), q(0006) => q(1996), - q(0007) => q(alalc97), - q(0008) => q(aluku), - q(0009) => q(arevela), - q(0010) => q(arevmda), - q(0011) => q(baku1926), - 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(kociewie), - q(0033) => q(kscor), - q(0034) => q(laukika), - q(0035) => q(lipaw), - q(0036) => q(luna1918), - q(0037) => q(metelko), - q(0038) => q(monoton), - q(0039) => q(ndyuka), - q(0040) => q(nedis), - q(0041) => q(njiva), - q(0042) => q(nulik), - q(0043) => q(osojs), - q(0044) => q(pamaka), - q(0045) => q(petr1708), - q(0046) => q(pinyin), - q(0047) => q(polyton), - q(0048) => q(puter), - q(0049) => q(rigik), - q(0050) => q(rozaj), - q(0051) => q(rumgr), - q(0052) => q(scotland), - q(0053) => q(scouse), - q(0054) => q(solba), - q(0055) => q(sotav), - q(0056) => q(surmiran), - q(0057) => q(sursilv), - q(0058) => q(sutsilv), - q(0059) => q(tarask), - q(0060) => q(uccor), - q(0061) => q(ucrcor), - q(0062) => q(ulster), - q(0063) => q(unifon), - q(0064) => q(vaidika), - q(0065) => q(valencia), - q(0066) => q(vallader), - q(0067) => q(wadegile), + q(0007) => q(abl1943), + q(0008) => q(alalc97), + q(0009) => q(aluku), + q(0010) => q(ao1990), + q(0011) => q(arevela), + q(0012) => q(arevmda), + q(0013) => q(baku1926), + q(0014) => q(balanka), + q(0015) => q(barla), + q(0016) => q(bauddha), + q(0017) => q(biscayan), + q(0018) => q(biske), + q(0019) => q(bohoric), + q(0020) => q(boont), + q(0021) => q(colb1945), + q(0022) => q(dajnko), + q(0023) => q(ekavsk), + q(0024) => q(emodeng), + q(0025) => q(fonipa), + q(0026) => q(fonupa), + q(0027) => q(fonxsamp), + q(0028) => q(hepburn), + q(0029) => q(hognorsk), + q(0030) => q(ijekavsk), + q(0031) => q(itihasa), + q(0032) => q(jauer), + q(0033) => q(jyutping), + q(0034) => q(kkcor), + q(0035) => q(kociewie), + q(0036) => q(kscor), + q(0037) => q(laukika), + q(0038) => q(lipaw), + q(0039) => q(luna1918), + q(0040) => q(metelko), + q(0041) => q(monoton), + q(0042) => q(ndyuka), + q(0043) => q(nedis), + q(0044) => q(njiva), + q(0045) => q(nulik), + q(0046) => q(osojs), + q(0047) => q(oxendict), + q(0048) => q(pamaka), + q(0049) => q(petr1708), + q(0050) => q(pinyin), + q(0051) => q(polyton), + q(0052) => q(puter), + q(0053) => q(rigik), + q(0054) => q(rozaj), + q(0055) => q(rumgr), + q(0056) => q(scotland), + q(0057) => q(scouse), + q(0058) => q(solba), + q(0059) => q(sotav), + q(0060) => q(surmiran), + q(0061) => q(sursilv), + q(0062) => q(sutsilv), + q(0063) => q(tarask), + q(0064) => q(uccor), + q(0065) => q(ucrcor), + q(0066) => q(ulster), + q(0067) => q(unifon), + q(0068) => q(vaidika), + q(0069) => q(valencia), + q(0070) => q(vallader), + q(0071) => q(wadegile), }, }; diff --git a/cpan/Locale-Codes/lib/Locale/Codes/LangVar_Retired.pm b/cpan/Locale-Codes/lib/Locale/Codes/LangVar_Retired.pm index 67ce0e9..0abf3fd 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/LangVar_Retired.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/LangVar_Retired.pm @@ -3,7 +3,7 @@ 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: Fri Feb 20 15:27:22 GMT 2015 +# Generated on: Mon Jun 1 13:35:17 EDT 2015 use strict; require 5.006; @@ -11,12 +11,13 @@ use warnings; use utf8; our($VERSION); -$VERSION='3.34'; +$VERSION='3.35'; $Locale::Codes::Retired{'langvar'}{'alpha'}{'code'} = { }; $Locale::Codes::Retired{'langvar'}{'alpha'}{'name'} = { + q("academic" ("governmental") variant of belarusian as) => [ q(1959acad), q("Academic" ("governmental") variant of Belarusian as) ], q(slovene in bohoric alphabet) => [ q(bohoric), q(Slovene in Bohoric alphabet) ], }; diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Language.pm b/cpan/Locale-Codes/lib/Locale/Codes/Language.pm index 3daf645..76fd54c 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Language.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/Language.pm @@ -22,7 +22,7 @@ use Locale::Codes::Language_Retired; our($VERSION,@ISA,@EXPORT,@EXPORT_OK); -$VERSION='3.34'; +$VERSION='3.35'; @ISA = qw(Exporter); @EXPORT = qw(code2language language2code diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Language.pod b/cpan/Locale-Codes/lib/Locale/Codes/Language.pod index a914566..123d2a8 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Language.pod +++ b/cpan/Locale-Codes/lib/Locale/Codes/Language.pod @@ -16,7 +16,7 @@ Locale::Codes::Language - standard codes for language identification =head1 DESCRIPTION -The C module provides access to standard codes used +This 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 @@ -63,33 +63,33 @@ ISO 639. =over 4 -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -These routines are all documented in the Locale::Codes::API man page. +These routines are all documented in the L man page. =back @@ -97,23 +97,23 @@ These routines are all documented in the Locale::Codes::API man page. =over 4 -=item B +=item L The Locale-Codes distribution. -=item B +=item L The list of functions supported by this module. -=item B +=item L Source of the ISO 639-2 codes. -=item B +=item L Source of the ISO 639-5 codes. -=item B +=item L The IANA language subtag registry. diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Language_Codes.pm b/cpan/Locale-Codes/lib/Locale/Codes/Language_Codes.pm index 7c2fa83..b8ab44c 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Language_Codes.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/Language_Codes.pm @@ -3,7 +3,7 @@ Locale::Codes::Language_Codes; # This file was automatically generated. Any changes to this file will # be lost the next time 'harvest_data' is run. -# Generated on: Thu Feb 19 20:49:39 GMT 2015 +# Generated on: Mon Jun 1 10:50:22 EDT 2015 use strict; require 5.006; @@ -11,7 +11,7 @@ use warnings; use utf8; our($VERSION); -$VERSION='3.34'; +$VERSION='3.35'; $Locale::Codes::Data{'language'}{'id'} = '7974'; @@ -7921,6 +7921,7 @@ $Locale::Codes::Data{'language'}{'id2names'} = { ], q(2574) => [ q(//Gana), + q(Gana), ], q(2575) => [ q(Gangulu), @@ -7935,15341 +7936,15350 @@ $Locale::Codes::Data{'language'}{'id2names'} = { q(Northern Gondi), ], q(2579) => [ - q(Gana), - ], - q(2580) => [ q(Gureng Gureng), ], - q(2581) => [ + q(2580) => [ q(Guntai), ], - q(2582) => [ + q(2581) => [ q(Gnau), ], - q(2583) => [ + q(2582) => [ q(Western Bolivian Guarani), ], - q(2584) => [ + q(2583) => [ q(Ganzi), ], - q(2585) => [ + q(2584) => [ q(Guro), ], - q(2586) => [ + q(2585) => [ q(Playero), ], - q(2587) => [ + q(2586) => [ q(Gorakor), ], - q(2588) => [ + q(2587) => [ q(Godie), ], - q(2589) => [ + q(2588) => [ q(Gongduk), ], - q(2590) => [ + q(2589) => [ q(Gofa), ], - q(2591) => [ + q(2590) => [ q(Gogo), ], - q(2592) => [ + q(2591) => [ q(Gobasi), ], - q(2593) => [ + q(2592) => [ q(Gowlan), ], - q(2594) => [ + q(2593) => [ q(Gowli), ], - q(2595) => [ + q(2594) => [ q(Gola), ], - q(2596) => [ + q(2595) => [ q(Goan Konkani), ], - q(2597) => [ + q(2596) => [ q(Gone Dau), ], - q(2598) => [ + q(2597) => [ q(Yeretuar), ], - q(2599) => [ + q(2598) => [ q(Gorap), ], - q(2600) => [ + q(2599) => [ q(Gronings), ], - q(2601) => [ + q(2600) => [ q(Gavar), ], - q(2602) => [ + q(2601) => [ q(Gorowa), ], - q(2603) => [ + q(2602) => [ q(Gobu), ], - q(2604) => [ + q(2603) => [ q(Goundo), ], - q(2605) => [ + q(2604) => [ q(Gozarkhani), ], - q(2606) => [ + q(2605) => [ q(Gupa-Abawa), ], - q(2607) => [ + q(2606) => [ q(Ghanaian Pidgin English), ], - q(2608) => [ + q(2607) => [ q(Taiap), ], - q(2609) => [ + q(2608) => [ q(Ga'anda), ], - q(2610) => [ + q(2609) => [ q(Guiqiong), ], - q(2611) => [ + q(2610) => [ q(Guana (Brazil)), ], - q(2612) => [ + q(2611) => [ q(Gor), ], - q(2613) => [ + q(2612) => [ q(Qau), ], - q(2614) => [ + q(2613) => [ q(Rajput Garasia), ], - q(2615) => [ + q(2614) => [ q(Guruntum-Mbaaru), ], - q(2616) => [ + q(2615) => [ q(Madi), ], - q(2617) => [ + q(2616) => [ q(Gbiri-Niragu), ], - q(2618) => [ + q(2617) => [ q(Ghari), ], - q(2619) => [ + q(2618) => [ q(Southern Grebo), ], - q(2620) => [ + q(2619) => [ q(Kota Marudu Talantang), ], - q(2621) => [ + q(2620) => [ q(Groma), ], - q(2622) => [ + q(2621) => [ q(Gorovu), ], - q(2623) => [ + q(2622) => [ q(Taznatit), ], - q(2624) => [ + q(2623) => [ q(Gresi), ], - q(2625) => [ + q(2624) => [ q(Garo), ], - q(2626) => [ + q(2625) => [ q(Kistane), ], - q(2627) => [ + q(2626) => [ q(Central Grebo), ], - q(2628) => [ + q(2627) => [ q(Gweda), ], - q(2629) => [ + q(2628) => [ q(Guriaso), ], - q(2630) => [ + q(2629) => [ q(Barclayville Grebo), ], - q(2631) => [ + q(2630) => [ q(Guramalum), ], - q(2632) => [ + q(2631) => [ q(Ghanaian Sign Language), ], - q(2633) => [ + q(2632) => [ q(German Sign Language), ], - q(2634) => [ + q(2633) => [ q(Gusilay), ], - q(2635) => [ + q(2634) => [ q(Guatemalan Sign Language), ], - q(2636) => [ + q(2635) => [ q(Gusan), ], - q(2637) => [ + q(2636) => [ q(Southwest Gbaya), ], - q(2638) => [ + q(2637) => [ q(Wasembo), ], - q(2639) => [ + q(2638) => [ q(Greek Sign Language), ], - q(2640) => [ + q(2639) => [ q(Guato), ], - q(2641) => [ + q(2640) => [ q(Aghu-Tharnggala), ], - q(2642) => [ + q(2641) => [ q(Shiki), ], - q(2643) => [ + q(2642) => [ q(Guajajara), ], - q(2644) => [ + q(2643) => [ q(Wayuu), ], - q(2645) => [ + q(2644) => [ q(Yocoboue Dida), ], - q(2646) => [ + q(2645) => [ q(Gurinji), ], - q(2647) => [ + q(2646) => [ q(Gupapuyngu), ], - q(2648) => [ + q(2647) => [ q(Paraguayan Guarani), ], - q(2649) => [ + q(2648) => [ q(Guahibo), ], - q(2650) => [ + q(2649) => [ q(Eastern Bolivian Guarani), ], - q(2651) => [ + q(2650) => [ q(Gumuz), ], - q(2652) => [ + q(2651) => [ q(Sea Island Creole English), ], - q(2653) => [ + q(2652) => [ q(Guambiano), ], - q(2654) => [ + q(2653) => [ q(Mbya Guarani), ], - q(2655) => [ + q(2654) => [ q(Guayabero), ], - q(2656) => [ + q(2655) => [ q(Gunwinggu), ], - q(2657) => [ + q(2656) => [ q(Ache), ], - q(2658) => [ + q(2657) => [ q(Farefare), ], - q(2659) => [ + q(2658) => [ q(Guinean Sign Language), ], - q(2660) => [ + q(2659) => [ q(Maleku Jaika), ], - q(2661) => [ + q(2660) => [ q(Yanomamo), ], - q(2662) => [ + q(2661) => [ q(Gey), ], - q(2663) => [ + q(2662) => [ q(Gun), ], - q(2664) => [ + q(2663) => [ q(Gourmanchema), ], - q(2665) => [ + q(2664) => [ q(Gusii), q(Ekegusii), ], - q(2666) => [ + q(2665) => [ q(Guana (Paraguay)), ], - q(2667) => [ + q(2666) => [ q(Guanano), ], - q(2668) => [ + q(2667) => [ q(Duwet), ], - q(2669) => [ + q(2668) => [ q(Golin), ], - q(2670) => [ + q(2669) => [ q(Guaja), ], - q(2671) => [ + q(2670) => [ q(Gulay), ], - q(2672) => [ + q(2671) => [ q(Gurmana), ], - q(2673) => [ + q(2672) => [ q(Kuku-Yalanji), ], - q(2674) => [ + q(2673) => [ q(Gaviao Do Jiparana), ], - q(2675) => [ + q(2674) => [ q(Para Gaviao), ], - q(2676) => [ + q(2675) => [ q(Western Gurung), ], - q(2677) => [ + q(2676) => [ q(Gumawana), ], - q(2678) => [ + q(2677) => [ q(Guyani), ], - q(2679) => [ + q(2678) => [ q(Mbato), ], - q(2680) => [ + q(2679) => [ q(Gwa), ], - q(2681) => [ + q(2680) => [ q(Kalami), ], - q(2682) => [ + q(2681) => [ q(Gawwada), ], - q(2683) => [ + q(2682) => [ q(Gweno), ], - q(2684) => [ + q(2683) => [ q(Gowro), ], - q(2685) => [ + q(2684) => [ q(Moo), ], - q(2686) => [ + q(2685) => [ q(/Gwi), + q(Gwi), ], - q(2687) => [ + q(2686) => [ q(Awngthim), ], - q(2688) => [ + q(2687) => [ q(Gwandara), ], - q(2689) => [ + q(2688) => [ q(Gwere), ], - q(2690) => [ + q(2689) => [ q(Gawar-Bati), ], - q(2691) => [ + q(2690) => [ q(Guwamu), ], - q(2692) => [ + q(2691) => [ q(Kwini), ], - q(2693) => [ + q(2692) => [ q(Gua), ], - q(2694) => [ + q(2693) => [ q(We Southern), ], - q(2695) => [ + q(2694) => [ q(Northwest Gbaya), ], - q(2696) => [ + q(2695) => [ q(Garus), ], - q(2697) => [ + q(2696) => [ q(Kayardild), ], - q(2698) => [ + q(2697) => [ q(Gyem), ], - q(2699) => [ + q(2698) => [ q(Gungabula), ], - q(2700) => [ + q(2699) => [ q(Gbayi), ], - q(2701) => [ + q(2700) => [ q(Gyele), ], - q(2702) => [ + q(2701) => [ q(Gayil), ], - q(2703) => [ + q(2702) => [ q(Ngabere), ], - q(2704) => [ + q(2703) => [ q(Guyanese Creole English), ], - q(2705) => [ + q(2704) => [ q(Guarayu), ], - q(2706) => [ + q(2705) => [ q(Gunya), ], - q(2707) => [ + q(2706) => [ q(Ganza), ], - q(2708) => [ + q(2707) => [ q(Gazi), ], - q(2709) => [ + q(2708) => [ q(Gane), ], - q(2710) => [ + q(2709) => [ q(Han), ], - q(2711) => [ + q(2710) => [ q(Hanoi Sign Language), ], - q(2712) => [ + q(2711) => [ q(Gurani), ], - q(2713) => [ + q(2712) => [ q(Hatam), ], - q(2714) => [ + q(2713) => [ q(Eastern Oromo), ], - q(2715) => [ + q(2714) => [ q(Haiphong Sign Language), ], - q(2716) => [ + q(2715) => [ q(Hanga), ], - q(2717) => [ + q(2716) => [ q(Hahon), ], - q(2718) => [ + q(2717) => [ q(Hajong), ], - q(2719) => [ + q(2718) => [ q(Hakka Chinese), ], - q(2720) => [ + q(2719) => [ q(Halang), ], - q(2721) => [ + q(2720) => [ q(Hewa), ], - q(2722) => [ + q(2721) => [ q(Hangaza), ], - q(2723) => [ + q(2722) => [ q(Hako), ], - q(2724) => [ + q(2723) => [ q(Hupla), ], - q(2725) => [ + q(2724) => [ q(Ha), ], - q(2726) => [ + q(2725) => [ q(Harari), ], - q(2727) => [ + q(2726) => [ q(Haisla), ], - q(2728) => [ + q(2727) => [ q(Havu), ], - q(2729) => [ + q(2728) => [ q(Southern Haida), ], - q(2730) => [ + q(2729) => [ q(Haya), ], - q(2731) => [ + q(2730) => [ q(Hazaragi), ], - q(2732) => [ + q(2731) => [ q(Hamba), ], - q(2733) => [ + q(2732) => [ q(Huba), ], - q(2734) => [ + q(2733) => [ q(Heiban), ], - q(2735) => [ + q(2734) => [ q(Ancient Hebrew), ], - q(2736) => [ + q(2735) => [ q(Habu), ], - q(2737) => [ + q(2736) => [ q(Andaman Creole Hindi), ], - q(2738) => [ + q(2737) => [ q(Huichol), ], - q(2739) => [ + q(2738) => [ q(Northern Haida), ], - q(2740) => [ + q(2739) => [ q(Honduras Sign Language), ], - q(2741) => [ + q(2740) => [ q(Hadiyya), ], - q(2742) => [ + q(2741) => [ q(Northern Qiandong Miao), ], - q(2743) => [ + q(2742) => [ q(Herde), ], - q(2744) => [ + q(2743) => [ q(Helong), ], - q(2745) => [ + q(2744) => [ q(Hehe), ], - q(2746) => [ + q(2745) => [ q(Heiltsuk), ], - q(2747) => [ + q(2746) => [ q(Hemba), ], - q(2748) => [ + q(2747) => [ q(Hai//om), + q(Haiom), ], - q(2749) => [ + q(2748) => [ q(Haigwai), ], - q(2750) => [ + q(2749) => [ q(Hoia Hoia), ], - q(2751) => [ + q(2750) => [ q(Kerak), ], - q(2752) => [ + q(2751) => [ q(Hoyahoya), ], - q(2753) => [ + q(2752) => [ q(Lamang), ], - q(2754) => [ + q(2753) => [ q(Hibito), ], - q(2755) => [ + q(2754) => [ q(Hidatsa), ], - q(2756) => [ + q(2755) => [ q(Fiji Hindi), ], - q(2757) => [ + q(2756) => [ q(Kamwe), ], - q(2758) => [ + q(2757) => [ q(Pamosu), ], - q(2759) => [ + q(2758) => [ q(Hinduri), ], - q(2760) => [ + q(2759) => [ q(Hijuk), ], - q(2761) => [ + q(2760) => [ q(Seit-Kaitetu), ], - q(2762) => [ + q(2761) => [ q(Tsoa), ], - q(2763) => [ + q(2762) => [ q(Himarima), ], - q(2764) => [ + q(2763) => [ q(Hiw), ], - q(2765) => [ + q(2764) => [ q(Hixkaryana), ], - q(2766) => [ + q(2765) => [ q(Haji), ], - q(2767) => [ + q(2766) => [ q(Kahe), ], - q(2768) => [ + q(2767) => [ q(Hunde), ], - q(2769) => [ + q(2768) => [ q(Hunjara-Kaina Ke), ], - q(2770) => [ + q(2769) => [ q(Hong Kong Sign Language), q(Heung Kong Sau Yue), ], - q(2771) => [ + q(2770) => [ q(Halia), ], - q(2772) => [ + q(2771) => [ q(Halbi), ], - q(2773) => [ + q(2772) => [ q(Halang Doan), ], - q(2774) => [ + q(2773) => [ q(Hlersu), ], - q(2775) => [ + q(2774) => [ q(Matu Chin), ], - q(2776) => [ + q(2775) => [ q(Hieroglyphic Luwian), ], - q(2777) => [ + q(2776) => [ q(Southern Mashan Hmong), q(Southern Mashan Miao), ], - q(2778) => [ + q(2777) => [ q(Humburi Senni Songhay), ], - q(2779) => [ + q(2778) => [ q(Central Huishui Hmong), q(Central Huishui Miao), ], - q(2780) => [ + q(2779) => [ q(Large Flowery Miao), q(A-hmaos), q(Da-Hua Miao), ], - q(2781) => [ + q(2780) => [ q(Eastern Huishui Hmong), q(Eastern Huishui Miao), ], - q(2782) => [ + q(2781) => [ q(Hmong Don), ], - q(2783) => [ + q(2782) => [ q(Southwestern Guiyang Hmong), ], - q(2784) => [ + q(2783) => [ q(Southwestern Huishui Hmong), q(Southwestern Huishui Miao), ], - q(2785) => [ + q(2784) => [ q(Northern Huishui Hmong), q(Northern Huishui Miao), ], - q(2786) => [ + q(2785) => [ q(Ge), q(Gejia), ], - q(2787) => [ + q(2786) => [ q(Maek), ], - q(2788) => [ + q(2787) => [ q(Luopohe Hmong), q(Luopohe Miao), ], - q(2789) => [ + q(2788) => [ q(Central Mashan Hmong), q(Central Mashan Miao), ], - q(2790) => [ + q(2789) => [ q(Northern Mashan Hmong), q(Northern Mashan Miao), ], - q(2791) => [ + q(2790) => [ q(Eastern Qiandong Miao), ], - q(2792) => [ + q(2791) => [ q(Hmar), ], - q(2793) => [ + q(2792) => [ q(Southern Qiandong Miao), ], - q(2794) => [ + q(2793) => [ q(Hamtai), ], - q(2795) => [ + q(2794) => [ q(Hamap), ], - q(2796) => [ + q(2795) => [ q(Hmong Do), ], - q(2797) => [ + q(2796) => [ q(Western Mashan Hmong), q(Western Mashan Miao), ], - q(2798) => [ + q(2797) => [ q(Southern Guiyang Hmong), q(Southern Guiyang Miao), ], - q(2799) => [ + q(2798) => [ q(Hmong Shua), q(Sinicized Miao), ], - q(2800) => [ + q(2799) => [ q(Mina (Cameroon)), ], - q(2801) => [ + q(2800) => [ q(Southern Hindko), ], - q(2802) => [ + q(2801) => [ q(Chhattisgarhi), ], - q(2803) => [ + q(2802) => [ q(//Ani), + q(Ani), ], - q(2804) => [ + q(2803) => [ q(Hani), ], - q(2805) => [ + q(2804) => [ q(Hmong Njua), q(Mong Leng), q(Mong Njua), ], - q(2806) => [ + q(2805) => [ q(Hanunoo), ], - q(2807) => [ + q(2806) => [ q(Northern Hindko), ], - q(2808) => [ + q(2807) => [ q(Caribbean Hindustani), ], - q(2809) => [ + q(2808) => [ q(Hung), ], - q(2810) => [ + q(2809) => [ q(Hoava), ], - q(2811) => [ + q(2810) => [ q(Mari (Madang Province)), ], - q(2812) => [ + q(2811) => [ q(Ho), ], - q(2813) => [ + q(2812) => [ q(Holma), ], - q(2814) => [ + q(2813) => [ q(Horom), ], - q(2815) => [ + q(2814) => [ q(Hobyot), ], - q(2816) => [ + q(2815) => [ q(Holikachuk), ], - q(2817) => [ + q(2816) => [ q(Hadothi), q(Haroti), ], - q(2818) => [ + q(2817) => [ q(Holu), ], - q(2819) => [ + q(2818) => [ q(Homa), ], - q(2820) => [ + q(2819) => [ q(Holoholo), ], - q(2821) => [ + q(2820) => [ q(Hopi), ], - q(2822) => [ + q(2821) => [ q(Horo), ], - q(2823) => [ + q(2822) => [ q(Ho Chi Minh City Sign Language), ], - q(2824) => [ + q(2823) => [ q(Hote), q(Male), ], - q(2825) => [ + q(2824) => [ q(Hovongan), ], - q(2826) => [ + q(2825) => [ q(Honi), ], - q(2827) => [ + q(2826) => [ q(Holiya), ], - q(2828) => [ + q(2827) => [ q(Hozo), ], - q(2829) => [ + q(2828) => [ q(Hpon), ], - q(2830) => [ + q(2829) => [ q(Hawai'i Sign Language (HSL)), q(Hawai'i Pidgin Sign Language), ], - q(2831) => [ + q(2830) => [ q(Hrangkhol), ], - q(2832) => [ + q(2831) => [ q(Niwer Mil), ], - q(2833) => [ + q(2832) => [ q(Hre), ], - q(2834) => [ + q(2833) => [ q(Haruku), ], - q(2835) => [ + q(2834) => [ q(Horned Miao), ], - q(2836) => [ + q(2835) => [ q(Haroi), ], - q(2837) => [ + q(2836) => [ q(Nhirrpi), ], - q(2838) => [ + q(2837) => [ q(Hertevin), ], - q(2839) => [ + q(2838) => [ q(Hruso), ], - q(2840) => [ + q(2839) => [ q(Warwar Feni), ], - q(2841) => [ + q(2840) => [ q(Hunsrik), ], - q(2842) => [ + q(2841) => [ q(Harzani), ], - q(2843) => [ + q(2842) => [ q(Hungarian Sign Language), ], - q(2844) => [ + q(2843) => [ q(Hausa Sign Language), ], - q(2845) => [ + q(2844) => [ q(Xiang Chinese), ], - q(2846) => [ + q(2845) => [ q(Harsusi), ], - q(2847) => [ + q(2846) => [ q(Hoti), ], - q(2848) => [ + q(2847) => [ q(Minica Huitoto), ], - q(2849) => [ + q(2848) => [ q(Hadza), ], - q(2850) => [ + q(2849) => [ q(Hitu), ], - q(2851) => [ + q(2850) => [ q(Middle Hittite), ], - q(2852) => [ + q(2851) => [ q(Huambisa), ], - q(2853) => [ + q(2852) => [ q(=/Hua), + q(Hua), ], - q(2854) => [ + q(2853) => [ q(Huaulu), ], - q(2855) => [ + q(2854) => [ q(San Francisco Del Mar Huave), ], - q(2856) => [ + q(2855) => [ q(Humene), ], - q(2857) => [ + q(2856) => [ q(Huachipaeri), ], - q(2858) => [ + q(2857) => [ q(Huilliche), ], - q(2859) => [ + q(2858) => [ q(Huli), ], - q(2860) => [ + q(2859) => [ q(Northern Guiyang Hmong), q(Northern Guiyang Miao), ], - q(2861) => [ + q(2860) => [ q(Hulung), ], - q(2862) => [ + q(2861) => [ q(Hula), ], - q(2863) => [ + q(2862) => [ q(Hungana), ], - q(2864) => [ + q(2863) => [ q(Hu), ], - q(2865) => [ + q(2864) => [ q(Tsat), ], - q(2866) => [ + q(2865) => [ q(Halkomelem), ], - q(2867) => [ + q(2866) => [ q(Huastec), ], - q(2868) => [ + q(2867) => [ q(Humla), ], - q(2869) => [ + q(2868) => [ q(Murui Huitoto), ], - q(2870) => [ + q(2869) => [ q(San Mateo Del Mar Huave), ], - q(2871) => [ + q(2870) => [ q(Hukumina), ], - q(2872) => [ + q(2871) => [ q(Nupode Huitoto), ], - q(2873) => [ + q(2872) => [ q(Hulaula), ], - q(2874) => [ + q(2873) => [ q(Hunzib), ], - q(2875) => [ + q(2874) => [ q(Haitian Vodoun Culture Language), ], - q(2876) => [ + q(2875) => [ q(San Dionisio Del Mar Huave), ], - q(2877) => [ + q(2876) => [ q(Haveke), ], - q(2878) => [ + q(2877) => [ q(Sabu), ], - q(2879) => [ + q(2878) => [ q(Santa Maria Del Mar Huave), ], - q(2880) => [ + q(2879) => [ q(Wane), ], - q(2881) => [ + q(2880) => [ q(Hawai'i Creole English), q(Hawai'i Pidgin), ], - q(2882) => [ + q(2881) => [ q(Hwana), ], - q(2883) => [ + q(2882) => [ q(Hya), ], - q(2884) => [ + q(2883) => [ q(Iaai), ], - q(2885) => [ + q(2884) => [ q(Iatmul), ], - q(2886) => [ + q(2885) => [ q(Iapama), ], - q(2887) => [ + q(2886) => [ q(Purari), ], - q(2888) => [ + q(2887) => [ q(Ibibio), ], - q(2889) => [ + q(2888) => [ q(Iwaidja), ], - q(2890) => [ + q(2889) => [ q(Akpes), ], - q(2891) => [ + q(2890) => [ q(Ibanag), ], - q(2892) => [ + q(2891) => [ q(Ibaloi), ], - q(2893) => [ + q(2892) => [ q(Agoi), ], - q(2894) => [ + q(2893) => [ q(Ibino), ], - q(2895) => [ + q(2894) => [ q(Ibuoro), ], - q(2896) => [ + q(2895) => [ q(Ibu), ], - q(2897) => [ + q(2896) => [ q(Ibani), ], - q(2898) => [ + q(2897) => [ q(Ede Ica), ], - q(2899) => [ + q(2898) => [ q(Etkywan), ], - q(2900) => [ + q(2899) => [ q(Icelandic Sign Language), ], - q(2901) => [ + q(2900) => [ q(Islander Creole English), ], - q(2902) => [ + q(2901) => [ q(Idakho-Isukha-Tiriki), q(Luidakho-Luisukha-Lutirichi), ], - q(2903) => [ + q(2902) => [ q(Indo-Portuguese), ], - q(2904) => [ + q(2903) => [ q(Idon), q(Ajiya), ], - q(2905) => [ + q(2904) => [ q(Ede Idaca), ], - q(2906) => [ + q(2905) => [ q(Idere), ], - q(2907) => [ + q(2906) => [ q(Idi), ], - q(2908) => [ + q(2907) => [ q(Indri), ], - q(2909) => [ + q(2908) => [ q(Idesa), ], - q(2910) => [ + q(2909) => [ q(Idate), ], - q(2911) => [ + q(2910) => [ q(Idoma), ], - q(2912) => [ + q(2911) => [ q(Amganad Ifugao), ], - q(2913) => [ + q(2912) => [ q(Batad Ifugao), q(Ayangan Ifugao), ], - q(2914) => [ + q(2913) => [ q(Ife), ], - q(2915) => [ + q(2914) => [ q(Ifo), ], - q(2916) => [ + q(2915) => [ q(Tuwali Ifugao), ], - q(2917) => [ + q(2916) => [ q(Teke-Fuumu), ], - q(2918) => [ + q(2917) => [ q(Mayoyao Ifugao), ], - q(2919) => [ + q(2918) => [ q(Keley-I Kallahan), ], - q(2920) => [ + q(2919) => [ q(Ebira), ], - q(2921) => [ + q(2920) => [ q(Igede), ], - q(2922) => [ + q(2921) => [ q(Igana), ], - q(2923) => [ + q(2922) => [ q(Igala), ], - q(2924) => [ + q(2923) => [ q(Kanggape), ], - q(2925) => [ + q(2924) => [ q(Ignaciano), ], - q(2926) => [ + q(2925) => [ q(Isebe), ], - q(2927) => [ + q(2926) => [ q(Interglossa), ], - q(2928) => [ + q(2927) => [ q(Igwe), ], - q(2929) => [ + q(2928) => [ q(Iha Based Pidgin), ], - q(2930) => [ + q(2929) => [ q(Ihievbe), ], - q(2931) => [ + q(2930) => [ q(Iha), ], - q(2932) => [ + q(2931) => [ q(Bidhawal), ], - q(2933) => [ + q(2932) => [ q(Thiin), ], - q(2934) => [ + q(2933) => [ q(Izon), ], - q(2935) => [ + q(2934) => [ q(Biseni), ], - q(2936) => [ + q(2935) => [ q(Ede Ije), ], - q(2937) => [ + q(2936) => [ q(Kalabari), ], - q(2938) => [ + q(2937) => [ q(Southeast Ijo), ], - q(2939) => [ + q(2938) => [ q(Eastern Canadian Inuktitut), ], - q(2940) => [ + q(2939) => [ q(Iko), ], - q(2941) => [ + q(2940) => [ q(Ika), ], - q(2942) => [ + q(2941) => [ q(Ikulu), ], - q(2943) => [ + q(2942) => [ q(Olulumo-Ikom), ], - q(2944) => [ + q(2943) => [ q(Ikpeshi), ], - q(2945) => [ + q(2944) => [ q(Ikaranggal), ], - q(2946) => [ + q(2945) => [ q(Inuit Sign Language), ], - q(2947) => [ + q(2946) => [ q(Inuinnaqtun), q(Western Canadian Inuktitut), ], - q(2948) => [ + q(2947) => [ q(Iku-Gora-Ankwa), ], - q(2949) => [ + q(2948) => [ q(Ikwere), ], - q(2950) => [ + q(2949) => [ q(Ik), ], - q(2951) => [ + q(2950) => [ q(Ikizu), ], - q(2952) => [ + q(2951) => [ q(Ile Ape), ], - q(2953) => [ + q(2952) => [ q(Ila), ], - q(2954) => [ + q(2953) => [ q(Garig-Ilgar), ], - q(2955) => [ + q(2954) => [ q(Ili Turki), ], - q(2956) => [ + q(2955) => [ q(Ilongot), ], - q(2957) => [ + q(2956) => [ q(Iranun), ], - q(2958) => [ + q(2957) => [ q(International Sign), ], - q(2959) => [ + q(2958) => [ q(Ili'uun), ], - q(2960) => [ + q(2959) => [ q(Ilue), ], - q(2961) => [ + q(2960) => [ q(Mala Malasar), ], - q(2962) => [ + q(2961) => [ q(Anamgura), ], - q(2963) => [ + q(2962) => [ q(Miluk), ], - q(2964) => [ + q(2963) => [ q(Imonda), ], - q(2965) => [ + q(2964) => [ q(Imbongu), ], - q(2966) => [ + q(2965) => [ q(Imroing), ], - q(2967) => [ + q(2966) => [ q(Marsian), ], - q(2968) => [ + q(2967) => [ q(Milyan), ], - q(2969) => [ + q(2968) => [ q(Inga), ], - q(2970) => [ + q(2969) => [ q(Degexit'an), ], - q(2971) => [ + q(2970) => [ q(Jungle Inga), ], - q(2972) => [ + q(2971) => [ q(Indonesian Sign Language), ], - q(2973) => [ + q(2972) => [ q(Minaean), ], - q(2974) => [ + q(2973) => [ q(Isinai), ], - q(2975) => [ + q(2974) => [ q(Inoke-Yate), ], - q(2976) => [ + q(2975) => [ q(Inapari), ], - q(2977) => [ + q(2976) => [ q(Indian Sign Language), ], - q(2978) => [ + q(2977) => [ q(Intha), ], - q(2979) => [ + q(2978) => [ q(Ineseno), ], - q(2980) => [ + q(2979) => [ q(Inor), ], - q(2981) => [ + q(2980) => [ q(Tuma-Irumu), ], - q(2982) => [ + q(2981) => [ q(Iowa-Oto), ], - q(2983) => [ + q(2982) => [ q(Ipili), ], - q(2984) => [ + q(2983) => [ q(Ipiko), ], - q(2985) => [ + q(2984) => [ q(Iquito), ], - q(2986) => [ + q(2985) => [ q(Ikwo), ], - q(2987) => [ + q(2986) => [ q(Iresim), ], - q(2988) => [ + q(2987) => [ q(Irarutu), ], - q(2989) => [ + q(2988) => [ q(Irigwe), ], - q(2990) => [ + q(2989) => [ q(Iraqw), ], - q(2991) => [ + q(2990) => [ q(Irantxe), ], - q(2992) => [ + q(2991) => [ q(Ir), ], - q(2993) => [ + q(2992) => [ q(Irula), ], - q(2994) => [ + q(2993) => [ q(Kamberau), ], - q(2995) => [ + q(2994) => [ q(Iraya), ], - q(2996) => [ + q(2995) => [ q(Isabi), ], - q(2997) => [ + q(2996) => [ q(Isconahua), ], - q(2998) => [ + q(2997) => [ q(Isnag), ], - q(2999) => [ + q(2998) => [ q(Italian Sign Language), ], - q(3000) => [ + q(2999) => [ q(Irish Sign Language), ], - q(3001) => [ + q(3000) => [ q(Esan), ], - q(3002) => [ + q(3001) => [ q(Nkem-Nkum), ], - q(3003) => [ + q(3002) => [ q(Ishkashimi), ], - q(3004) => [ + q(3003) => [ q(Masimasi), ], - q(3005) => [ + q(3004) => [ q(Isanzu), ], - q(3006) => [ + q(3005) => [ q(Isoko), ], - q(3007) => [ + q(3006) => [ q(Israeli Sign Language), ], - q(3008) => [ + q(3007) => [ q(Istriot), ], - q(3009) => [ + q(3008) => [ q(Isu (Menchum Division)), ], - q(3010) => [ + q(3009) => [ q(Binongan Itneg), ], - q(3011) => [ + q(3010) => [ q(Itene), ], - q(3012) => [ + q(3011) => [ q(Inlaod Itneg), ], - q(3013) => [ + q(3012) => [ q(Judeo-Italian), ], - q(3014) => [ + q(3013) => [ q(Itelmen), ], - q(3015) => [ + q(3014) => [ q(Itu Mbon Uzo), ], - q(3016) => [ + q(3015) => [ q(Itonama), ], - q(3017) => [ + q(3016) => [ q(Iteri), ], - q(3018) => [ + q(3017) => [ q(Isekiri), ], - q(3019) => [ + q(3018) => [ q(Maeng Itneg), ], - q(3020) => [ + q(3019) => [ q(Itawit), ], - q(3021) => [ + q(3020) => [ q(Ito), ], - q(3022) => [ + q(3021) => [ q(Itik), ], - q(3023) => [ + q(3022) => [ q(Moyadan Itneg), ], - q(3024) => [ + q(3023) => [ q(Itza), ], - q(3025) => [ + q(3024) => [ q(Iu Mien), ], - q(3026) => [ + q(3025) => [ q(Ibatan), ], - q(3027) => [ + q(3026) => [ q(Ivatan), ], - q(3028) => [ + q(3027) => [ q(I-Wak), ], - q(3029) => [ + q(3028) => [ q(Iwam), ], - q(3030) => [ + q(3029) => [ q(Iwur), ], - q(3031) => [ + q(3030) => [ q(Sepik Iwam), ], - q(3032) => [ + q(3031) => [ q(Ixcatec), ], - q(3033) => [ + q(3032) => [ q(Ixil), ], - q(3034) => [ + q(3033) => [ q(Iyayu), ], - q(3035) => [ + q(3034) => [ q(Mesaka), ], - q(3036) => [ + q(3035) => [ q(Yaka (Congo)), ], - q(3037) => [ + q(3036) => [ q(Ingrian), ], - q(3038) => [ + q(3037) => [ q(Izere), ], - q(3039) => [ + q(3038) => [ q(Izii), ], - q(3040) => [ + q(3039) => [ q(Jamamadi), ], - q(3041) => [ + q(3040) => [ q(Hyam), ], - q(3042) => [ + q(3041) => [ q(Popti'), q(Jakalteko), ], - q(3043) => [ + q(3042) => [ q(Jahanka), ], - q(3044) => [ + q(3043) => [ q(Yabem), ], - q(3045) => [ + q(3044) => [ q(Jara), ], - q(3046) => [ + q(3045) => [ q(Jah Hut), ], - q(3047) => [ + q(3046) => [ q(Zazao), ], - q(3048) => [ + q(3047) => [ q(Jakun), ], - q(3049) => [ + q(3048) => [ q(Yalahatan), ], - q(3050) => [ + q(3049) => [ q(Jamaican Creole English), ], - q(3051) => [ + q(3050) => [ q(Jandai), ], - q(3052) => [ + q(3051) => [ q(Yanyuwa), ], - q(3053) => [ + q(3052) => [ q(Yaqay), ], - q(3054) => [ + q(3053) => [ q(New Caledonian Javanese), ], - q(3055) => [ + q(3054) => [ q(Jakati), ], - q(3056) => [ + q(3055) => [ q(Yaur), ], - q(3057) => [ + q(3056) => [ q(Jambi Malay), ], - q(3058) => [ + q(3057) => [ q(Yan-nhangu), ], - q(3059) => [ + q(3058) => [ q(Jawe), ], - q(3060) => [ + q(3059) => [ q(Judeo-Berber), ], - q(3061) => [ + q(3060) => [ q(Badjiri), ], - q(3062) => [ + q(3061) => [ q(Arandai), ], - q(3063) => [ + q(3062) => [ q(Barikewa), ], - q(3064) => [ + q(3063) => [ q(Nafusi), ], - q(3065) => [ + q(3064) => [ q(Jofotek-Bromnya), ], - q(3066) => [ + q(3065) => [ q(Jabuti), ], - q(3067) => [ + q(3066) => [ q(Jukun Takum), ], - q(3068) => [ + q(3067) => [ q(Yawijibaya), ], - q(3069) => [ + q(3068) => [ q(Jamaican Country Sign Language), ], - q(3070) => [ + q(3069) => [ q(Krymchak), ], - q(3071) => [ + q(3070) => [ q(Jad), ], - q(3072) => [ + q(3071) => [ q(Jadgali), ], - q(3073) => [ + q(3072) => [ q(Judeo-Tat), ], - q(3074) => [ + q(3073) => [ q(Jebero), ], - q(3075) => [ + q(3074) => [ q(Jerung), ], - q(3076) => [ + q(3075) => [ q(Jeng), ], - q(3077) => [ + q(3076) => [ q(Jeh), ], - q(3078) => [ + q(3077) => [ q(Yei), ], - q(3079) => [ + q(3078) => [ q(Jeri Kuo), ], - q(3080) => [ + q(3079) => [ q(Yelmek), ], - q(3081) => [ + q(3080) => [ q(Dza), ], - q(3082) => [ + q(3081) => [ q(Jere), ], - q(3083) => [ + q(3082) => [ q(Manem), ], - q(3084) => [ + q(3083) => [ q(Jonkor Bourmataguil), ], - q(3085) => [ + q(3084) => [ q(Ngbee), ], - q(3086) => [ + q(3085) => [ q(Judeo-Georgian), ], - q(3087) => [ + q(3086) => [ q(Gwak), ], - q(3088) => [ + q(3087) => [ q(Ngomba), ], - q(3089) => [ + q(3088) => [ q(Jehai), ], - q(3090) => [ + q(3089) => [ q(Jhankot Sign Language), ], - q(3091) => [ + q(3090) => [ q(Jina), ], - q(3092) => [ + q(3091) => [ q(Jibu), ], - q(3093) => [ + q(3092) => [ q(Tol), ], - q(3094) => [ + q(3093) => [ q(Bu), ], - q(3095) => [ + q(3094) => [ q(Jilbe), ], - q(3096) => [ + q(3095) => [ q(Djingili), ], - q(3097) => [ + q(3096) => [ q(sTodsde), q(Shangzhai), ], - q(3098) => [ + q(3097) => [ q(Jiiddu), ], - q(3099) => [ + q(3098) => [ q(Jilim), ], - q(3100) => [ + q(3099) => [ q(Jimi (Cameroon)), ], - q(3101) => [ + q(3100) => [ q(Jiamao), ], - q(3102) => [ + q(3101) => [ q(Guanyinqiao), q(Lavrung), ], - q(3103) => [ + q(3102) => [ q(Jita), ], - q(3104) => [ + q(3103) => [ q(Youle Jinuo), ], - q(3105) => [ + q(3104) => [ q(Shuar), ], - q(3106) => [ + q(3105) => [ q(Buyuan Jinuo), ], - q(3107) => [ + q(3106) => [ q(Jejueo), ], - q(3108) => [ + q(3107) => [ q(Bankal), ], - q(3109) => [ + q(3108) => [ q(Mobwa Karen), ], - q(3110) => [ + q(3109) => [ q(Kubo), ], - q(3111) => [ + q(3110) => [ q(Paku Karen), ], - q(3112) => [ + q(3111) => [ q(Koro (India)), ], - q(3113) => [ + q(3112) => [ q(Labir), ], - q(3114) => [ + q(3113) => [ q(Ngile), ], - q(3115) => [ + q(3114) => [ q(Jamaican Sign Language), ], - q(3116) => [ + q(3115) => [ q(Dima), ], - q(3117) => [ + q(3116) => [ q(Zumbun), ], - q(3118) => [ + q(3117) => [ q(Machame), ], - q(3119) => [ + q(3118) => [ q(Yamdena), ], - q(3120) => [ + q(3119) => [ q(Jimi (Nigeria)), ], - q(3121) => [ + q(3120) => [ q(Jumli), ], - q(3122) => [ + q(3121) => [ q(Makuri Naga), ], - q(3123) => [ + q(3122) => [ q(Kamara), ], - q(3124) => [ + q(3123) => [ q(Mashi (Nigeria)), ], - q(3125) => [ + q(3124) => [ q(Mouwase), ], - q(3126) => [ + q(3125) => [ q(Western Juxtlahuaca Mixtec), ], - q(3127) => [ + q(3126) => [ q(Jangshung), ], - q(3128) => [ + q(3127) => [ q(Jandavra), ], - q(3129) => [ + q(3128) => [ q(Yangman), ], - q(3130) => [ + q(3129) => [ q(Janji), ], - q(3131) => [ + q(3130) => [ q(Yemsa), ], - q(3132) => [ + q(3131) => [ q(Rawat), ], - q(3133) => [ + q(3132) => [ q(Jaunsari), ], - q(3134) => [ + q(3133) => [ q(Joba), ], - q(3135) => [ + q(3134) => [ q(Wojenaka), ], - q(3136) => [ + q(3135) => [ q(Jora), ], - q(3137) => [ + q(3136) => [ q(Jordanian Sign Language), ], - q(3138) => [ + q(3137) => [ q(Jowulu), ], - q(3139) => [ + q(3138) => [ q(Jewish Palestinian Aramaic), ], - q(3140) => [ + q(3139) => [ q(Jaqaru), ], - q(3141) => [ + q(3140) => [ q(Jarai), ], - q(3142) => [ + q(3141) => [ q(Jiru), ], - q(3143) => [ + q(3142) => [ q(Jorto), ], - q(3144) => [ + q(3143) => [ q(Japreria), ], - q(3145) => [ + q(3144) => [ q(Japanese Sign Language), ], - q(3146) => [ + q(3145) => [ q(Juma), ], - q(3147) => [ + q(3146) => [ q(Wannu), ], - q(3148) => [ + q(3147) => [ q(Jurchen), ], - q(3149) => [ + q(3148) => [ q(Worodougou), ], - q(3150) => [ + q(3149) => [ q(Hone), ], - q(3151) => [ + q(3150) => [ q(Ngadjuri), ], - q(3152) => [ + q(3151) => [ q(Wapan), ], - q(3153) => [ + q(3152) => [ q(Jirel), ], - q(3154) => [ + q(3153) => [ q(Jumjum), ], - q(3155) => [ + q(3154) => [ q(Juang), ], - q(3156) => [ + q(3155) => [ q(Jiba), ], - q(3157) => [ + q(3156) => [ q(Hupde), ], - q(3158) => [ + q(3157) => [ q(Juruna), ], - q(3159) => [ + q(3158) => [ q(Jumla Sign Language), ], - q(3160) => [ + q(3159) => [ q(Jutish), ], - q(3161) => [ + q(3160) => [ q(Ju), ], - q(3162) => [ + q(3161) => [ q(Wapha), ], - q(3163) => [ + q(3162) => [ q(Juray), ], - q(3164) => [ + q(3163) => [ q(Javindo), ], - q(3165) => [ + q(3164) => [ q(Caribbean Javanese), ], - q(3166) => [ + q(3165) => [ q(Jwira-Pepesa), ], - q(3167) => [ + q(3166) => [ q(Jiarong), ], - q(3168) => [ + q(3167) => [ q(Judeo-Yemeni Arabic), ], - q(3169) => [ + q(3168) => [ q(Jaya), ], - q(3170) => [ + q(3169) => [ q(Adara), ], - q(3171) => [ + q(3170) => [ q(Ketangalan), ], - q(3172) => [ + q(3171) => [ q(Katso), ], - q(3173) => [ + q(3172) => [ q(Kajaman), ], - q(3174) => [ + q(3173) => [ q(Kara (Central African Republic)), ], - q(3175) => [ + q(3174) => [ q(Karekare), ], - q(3176) => [ + q(3175) => [ q(Jju), ], - q(3177) => [ + q(3176) => [ q(Kayapa Kallahan), ], - q(3178) => [ + q(3177) => [ q(Xaasongaxango), ], - q(3179) => [ + q(3178) => [ q(Bezhta), ], - q(3180) => [ + q(3179) => [ q(Capanahua), ], - q(3181) => [ + q(3180) => [ q(Katukina), ], - q(3182) => [ + q(3181) => [ q(Kao), ], - q(3183) => [ + q(3182) => [ q(Kamayura), ], - q(3184) => [ + q(3183) => [ q(Kalarko), ], - q(3185) => [ + q(3184) => [ q(Kaxuiana), ], - q(3186) => [ + q(3185) => [ q(Kadiweu), ], - q(3187) => [ + q(3186) => [ q(Kanju), ], - q(3188) => [ + q(3187) => [ q(Khamba), ], - q(3189) => [ + q(3188) => [ q(Camsa), ], - q(3190) => [ + q(3189) => [ q(Kaptiau), ], - q(3191) => [ + q(3190) => [ q(Kari), ], - q(3192) => [ + q(3191) => [ q(Grass Koiari), ], - q(3193) => [ + q(3192) => [ q(Kanembu), ], - q(3194) => [ + q(3193) => [ q(Iwal), ], - q(3195) => [ + q(3194) => [ q(Kare (Central African Republic)), ], - q(3196) => [ + q(3195) => [ q(Keliko), ], - q(3197) => [ + q(3196) => [ q(Kabiye), ], - q(3198) => [ + q(3197) => [ q(Kamano), ], - q(3199) => [ + q(3198) => [ q(Kafa), ], - q(3200) => [ + q(3199) => [ q(Kande), ], - q(3201) => [ + q(3200) => [ q(Abadi), ], - q(3202) => [ + q(3201) => [ q(Kabutra), ], - q(3203) => [ + q(3202) => [ q(Dera (Indonesia)), ], - q(3204) => [ + q(3203) => [ q(Kaiep), ], - q(3205) => [ + q(3204) => [ q(Ap Ma), ], - q(3206) => [ + q(3205) => [ q(Manga Kanuri), ], - q(3207) => [ + q(3206) => [ q(Duhwa), ], - q(3208) => [ + q(3207) => [ q(Khanty), ], - q(3209) => [ + q(3208) => [ q(Kawacha), ], - q(3210) => [ + q(3209) => [ q(Lubila), ], - q(3211) => [ + q(3210) => [ q(Ngkalmpw Kanum), ], - q(3212) => [ + q(3211) => [ q(Kaivi), ], - q(3213) => [ + q(3212) => [ q(Ukaan), ], - q(3214) => [ + q(3213) => [ q(Tyap), ], - q(3215) => [ + q(3214) => [ q(Vono), ], - q(3216) => [ + q(3215) => [ q(Kamantan), ], - q(3217) => [ + q(3216) => [ q(Kobiana), ], - q(3218) => [ + q(3217) => [ q(Kalanga), ], - q(3219) => [ + q(3218) => [ q(Kela (Papua New Guinea)), q(Kala), ], - q(3220) => [ + q(3219) => [ q(Gula (Central African Republic)), ], - q(3221) => [ + q(3220) => [ q(Nubi), ], - q(3222) => [ + q(3221) => [ q(Kinalakna), ], - q(3223) => [ + q(3222) => [ q(Kanga), ], - q(3224) => [ + q(3223) => [ q(Kamo), ], - q(3225) => [ + q(3224) => [ q(Katla), ], - q(3226) => [ + q(3225) => [ q(Koenoem), ], - q(3227) => [ + q(3226) => [ q(Kaian), ], - q(3228) => [ + q(3227) => [ q(Kami (Tanzania)), ], - q(3229) => [ + q(3228) => [ q(Kete), ], - q(3230) => [ + q(3229) => [ q(Kabwari), ], - q(3231) => [ + q(3230) => [ q(Kachama-Ganjule), ], - q(3232) => [ + q(3231) => [ q(Korandje), ], - q(3233) => [ + q(3232) => [ q(Konongo), ], - q(3234) => [ + q(3233) => [ q(Worimi), ], - q(3235) => [ + q(3234) => [ q(Kutu), ], - q(3236) => [ + q(3235) => [ q(Yankunytjatjara), ], - q(3237) => [ + q(3236) => [ q(Makonde), ], - q(3238) => [ + q(3237) => [ q(Mamusi), ], - q(3239) => [ + q(3238) => [ q(Seba), ], - q(3240) => [ + q(3239) => [ q(Tem), ], - q(3241) => [ + q(3240) => [ q(Kumam), ], - q(3242) => [ + q(3241) => [ q(Karamojong), ], - q(3243) => [ + q(3242) => [ q(Numee), q(Kwenyi), ], - q(3244) => [ + q(3243) => [ q(Tsikimba), ], - q(3245) => [ + q(3244) => [ q(Kagoma), ], - q(3246) => [ + q(3245) => [ q(Kunda), ], - q(3247) => [ + q(3246) => [ q(Kaningdon-Nindem), ], - q(3248) => [ + q(3247) => [ q(Koch), ], - q(3249) => [ + q(3248) => [ q(Karaim), ], - q(3250) => [ + q(3249) => [ q(Kuy), ], - q(3251) => [ + q(3250) => [ q(Kadaru), ], - q(3252) => [ + q(3251) => [ q(Koneraw), ], - q(3253) => [ + q(3252) => [ q(Kam), ], - q(3254) => [ + q(3253) => [ q(Keder), q(Keijar), ], - q(3255) => [ + q(3254) => [ q(Kwaja), ], - q(3256) => [ + q(3255) => [ q(Kabuverdianu), ], - q(3257) => [ + q(3256) => [ q(Kele), ], - q(3258) => [ + q(3257) => [ q(Keiga), ], - q(3259) => [ + q(3258) => [ q(Kerewe), ], - q(3260) => [ + q(3259) => [ q(Eastern Keres), ], - q(3261) => [ + q(3260) => [ q(Kpessi), ], - q(3262) => [ + q(3261) => [ q(Tese), ], - q(3263) => [ + q(3262) => [ q(Keak), ], - q(3264) => [ + q(3263) => [ q(Kei), ], - q(3265) => [ + q(3264) => [ q(Kadar), ], - q(3266) => [ + q(3265) => [ q(Kekchi), ], - q(3267) => [ + q(3266) => [ q(Kela (Democratic Republic of Congo)), ], - q(3268) => [ + q(3267) => [ q(Kemak), ], - q(3269) => [ + q(3268) => [ q(Kenyang), ], - q(3270) => [ + q(3269) => [ q(Kakwa), ], - q(3271) => [ + q(3270) => [ q(Kaikadi), ], - q(3272) => [ + q(3271) => [ q(Kamar), ], - q(3273) => [ + q(3272) => [ q(Kera), ], - q(3274) => [ + q(3273) => [ q(Kugbo), ], - q(3275) => [ + q(3274) => [ q(Ket), ], - q(3276) => [ + q(3275) => [ q(Akebu), ], - q(3277) => [ + q(3276) => [ q(Kanikkaran), ], - q(3278) => [ + q(3277) => [ q(West Kewa), ], - q(3279) => [ + q(3278) => [ q(Kukna), ], - q(3280) => [ + q(3279) => [ q(Kupia), ], - q(3281) => [ + q(3280) => [ q(Kukele), ], - q(3282) => [ + q(3281) => [ q(Kodava), ], - q(3283) => [ + q(3282) => [ q(Northwestern Kolami), ], - q(3284) => [ + q(3283) => [ q(Konda-Dora), ], - q(3285) => [ + q(3284) => [ q(Korra Koraga), ], - q(3286) => [ + q(3285) => [ q(Kota (India)), ], - q(3287) => [ + q(3286) => [ q(Koya), ], - q(3288) => [ + q(3287) => [ q(Kudiya), ], - q(3289) => [ + q(3288) => [ q(Kurichiya), ], - q(3290) => [ + q(3289) => [ q(Kannada Kurumba), ], - q(3291) => [ + q(3290) => [ q(Kemiehua), ], - q(3292) => [ + q(3291) => [ q(Kinnauri), ], - q(3293) => [ + q(3292) => [ q(Kung), ], - q(3294) => [ + q(3293) => [ q(Khunsari), ], - q(3295) => [ + q(3294) => [ q(Kuk), ], - q(3296) => [ + q(3295) => [ q(Koro (Cote d'Ivoire)), ], - q(3297) => [ + q(3296) => [ q(Korwa), ], - q(3298) => [ + q(3297) => [ q(Korku), ], - q(3299) => [ + q(3298) => [ q(Kachchi), ], - q(3300) => [ + q(3299) => [ q(Bilaspuri), ], - q(3301) => [ + q(3300) => [ q(Kanjari), ], - q(3302) => [ + q(3301) => [ q(Katkari), ], - q(3303) => [ + q(3302) => [ q(Kurmukar), ], - q(3304) => [ + q(3303) => [ q(Kharam Naga), ], - q(3305) => [ + q(3304) => [ q(Kullu Pahari), ], - q(3306) => [ + q(3305) => [ q(Kumaoni), ], - q(3307) => [ + q(3306) => [ q(Koromfe), ], - q(3308) => [ + q(3307) => [ q(Koyaga), ], - q(3309) => [ + q(3308) => [ q(Kawe), ], - q(3310) => [ + q(3309) => [ q(Kasseng), ], - q(3311) => [ + q(3310) => [ q(Kataang), ], - q(3312) => [ + q(3311) => [ q(Komering), ], - q(3313) => [ + q(3312) => [ q(Kube), ], - q(3314) => [ + q(3313) => [ q(Kusunda), ], - q(3315) => [ + q(3314) => [ q(Selangor Sign Language), ], - q(3316) => [ + q(3315) => [ q(Gamale Kham), ], - q(3317) => [ + q(3316) => [ q(Kaiwa), ], - q(3318) => [ + q(3317) => [ q(Kunggari), ], - q(3319) => [ + q(3318) => [ q(Karipuna), ], - q(3320) => [ + q(3319) => [ q(Karingani), ], - q(3321) => [ + q(3320) => [ q(Krongo), ], - q(3322) => [ + q(3321) => [ q(Kaingang), ], - q(3323) => [ + q(3322) => [ q(Kamoro), ], - q(3324) => [ + q(3323) => [ q(Abun), ], - q(3325) => [ + q(3324) => [ q(Kumbainggar), ], - q(3326) => [ + q(3325) => [ q(Somyev), ], - q(3327) => [ + q(3326) => [ q(Kobol), ], - q(3328) => [ + q(3327) => [ q(Karas), ], - q(3329) => [ + q(3328) => [ q(Karon Dori), ], - q(3330) => [ + q(3329) => [ q(Kamaru), ], - q(3331) => [ + q(3330) => [ q(Kyerung), ], - q(3332) => [ + q(3331) => [ q(Lu), ], - q(3333) => [ + q(3332) => [ q(Tukang Besi North), ], - q(3334) => [ + q(3333) => [ q(Badi Kanum), ], - q(3335) => [ + q(3334) => [ q(Korowai), ], - q(3336) => [ + q(3335) => [ q(Khuen), ], - q(3337) => [ + q(3336) => [ q(Khams Tibetan), ], - q(3338) => [ + q(3337) => [ q(Kehu), ], - q(3339) => [ + q(3338) => [ q(Kuturmi), ], - q(3340) => [ + q(3339) => [ q(Halh Mongolian), ], - q(3341) => [ + q(3340) => [ q(Lusi), ], - q(3342) => [ + q(3341) => [ q(Khandesi), ], - q(3343) => [ + q(3342) => [ q(Kapori), q(Kapauri), ], - q(3344) => [ + q(3343) => [ q(Koyra Chiini Songhay), ], - q(3345) => [ + q(3344) => [ q(Kharia), ], - q(3346) => [ + q(3345) => [ q(Kasua), ], - q(3347) => [ + q(3346) => [ q(Khamti), ], - q(3348) => [ + q(3347) => [ q(Nkhumbi), ], - q(3349) => [ + q(3348) => [ q(Khvarshi), ], - q(3350) => [ + q(3349) => [ q(Khowar), ], - q(3351) => [ + q(3350) => [ q(Kanu), ], - q(3352) => [ + q(3351) => [ q(Kele (Democratic Republic of Congo)), ], - q(3353) => [ + q(3352) => [ q(Keapara), ], - q(3354) => [ + q(3353) => [ q(Kim), ], - q(3355) => [ + q(3354) => [ q(Koalib), ], - q(3356) => [ + q(3355) => [ q(Kickapoo), ], - q(3357) => [ + q(3356) => [ q(Koshin), ], - q(3358) => [ + q(3357) => [ q(Kibet), ], - q(3359) => [ + q(3358) => [ q(Eastern Parbate Kham), ], - q(3360) => [ + q(3359) => [ q(Kimaama), q(Kimaghima), ], - q(3361) => [ + q(3360) => [ q(Kilmeri), ], - q(3362) => [ + q(3361) => [ q(Kitsai), ], - q(3363) => [ + q(3362) => [ q(Kilivila), ], - q(3364) => [ + q(3363) => [ q(Kariya), ], - q(3365) => [ + q(3364) => [ q(Karagas), ], - q(3366) => [ + q(3365) => [ q(Kiowa), ], - q(3367) => [ + q(3366) => [ q(Sheshi Kham), ], - q(3368) => [ + q(3367) => [ q(Kosadle), q(Kosare), ], - q(3369) => [ + q(3368) => [ q(Kis), ], - q(3370) => [ + q(3369) => [ q(Agob), ], - q(3371) => [ + q(3370) => [ q(Kirmanjki (individual language)), ], - q(3372) => [ + q(3371) => [ q(Kimbu), ], - q(3373) => [ + q(3372) => [ q(Northeast Kiwai), ], - q(3374) => [ + q(3373) => [ q(Khiamniungan Naga), ], - q(3375) => [ + q(3374) => [ q(Kirikiri), ], - q(3376) => [ + q(3375) => [ q(Kisi), ], - q(3377) => [ + q(3376) => [ q(Mlap), ], - q(3378) => [ + q(3377) => [ q(Q'anjob'al), q(Kanjobal), ], - q(3379) => [ + q(3378) => [ q(Coastal Konjo), ], - q(3380) => [ + q(3379) => [ q(Southern Kiwai), ], - q(3381) => [ + q(3380) => [ q(Kisar), ], - q(3382) => [ + q(3381) => [ q(Khalaj), ], - q(3383) => [ + q(3382) => [ q(Khmu), ], - q(3384) => [ + q(3383) => [ q(Khakas), ], - q(3385) => [ + q(3384) => [ q(Zabana), ], - q(3386) => [ + q(3385) => [ q(Khinalugh), ], - q(3387) => [ + q(3386) => [ q(Highland Konjo), ], - q(3388) => [ + q(3387) => [ q(Western Parbate Kham), ], - q(3389) => [ + q(3388) => [ q(Khang), ], - q(3390) => [ + q(3389) => [ q(Kunjen), ], - q(3391) => [ + q(3390) => [ q(Harijan Kinnauri), ], - q(3392) => [ + q(3391) => [ q(Pwo Eastern Karen), ], - q(3393) => [ + q(3392) => [ q(Western Keres), ], - q(3394) => [ + q(3393) => [ q(Kurudu), ], - q(3395) => [ + q(3394) => [ q(East Kewa), ], - q(3396) => [ + q(3395) => [ q(Phrae Pwo Karen), ], - q(3397) => [ + q(3396) => [ q(Kashaya), ], - q(3398) => [ + q(3397) => [ q(Kaikavian Literary Language), ], - q(3399) => [ + q(3398) => [ q(Ramopa), ], - q(3400) => [ + q(3399) => [ q(Erave), ], - q(3401) => [ + q(3400) => [ q(Bumthangkha), ], - q(3402) => [ + q(3401) => [ q(Kakanda), ], - q(3403) => [ + q(3402) => [ q(Kwerisa), ], - q(3404) => [ + q(3403) => [ q(Odoodee), ], - q(3405) => [ + q(3404) => [ q(Kinuku), ], - q(3406) => [ + q(3405) => [ q(Kakabe), ], - q(3407) => [ + q(3406) => [ q(Kalaktang Monpa), ], - q(3408) => [ + q(3407) => [ q(Mabaka Valley Kalinga), ], - q(3409) => [ + q(3408) => [ q(Khun), ], - q(3410) => [ + q(3409) => [ q(Kagulu), ], - q(3411) => [ + q(3410) => [ q(Kako), ], - q(3412) => [ + q(3411) => [ q(Kokota), ], - q(3413) => [ + q(3412) => [ q(Kosarek Yale), ], - q(3414) => [ + q(3413) => [ q(Kiong), ], - q(3415) => [ + q(3414) => [ q(Kon Keu), ], - q(3416) => [ + q(3415) => [ q(Karko), ], - q(3417) => [ + q(3416) => [ q(Gugubera), ], - q(3418) => [ + q(3417) => [ q(Kaiku), ], - q(3419) => [ + q(3418) => [ q(Kir-Balar), ], - q(3420) => [ + q(3419) => [ q(Giiwo), ], - q(3421) => [ + q(3420) => [ q(Koi), ], - q(3422) => [ + q(3421) => [ q(Tumi), ], - q(3423) => [ + q(3422) => [ q(Kangean), ], - q(3424) => [ + q(3423) => [ q(Teke-Kukuya), ], - q(3425) => [ + q(3424) => [ q(Kohin), ], - q(3426) => [ + q(3425) => [ q(Guguyimidjir), ], - q(3427) => [ + q(3426) => [ q(Kaska), ], - q(3428) => [ + q(3427) => [ q(Klamath-Modoc), ], - q(3429) => [ + q(3428) => [ q(Kiliwa), ], - q(3430) => [ + q(3429) => [ q(Kolbila), ], - q(3431) => [ + q(3430) => [ q(Gamilaraay), ], - q(3432) => [ + q(3431) => [ q(Kulung (Nepal)), ], - q(3433) => [ + q(3432) => [ q(Kendeje), ], - q(3434) => [ + q(3433) => [ q(Tagakaulo), ], - q(3435) => [ + q(3434) => [ q(Weliki), ], - q(3436) => [ + q(3435) => [ q(Kalumpang), ], - q(3437) => [ + q(3436) => [ q(Turkic Khalaj), ], - q(3438) => [ + q(3437) => [ q(Kono (Nigeria)), ], - q(3439) => [ + q(3438) => [ q(Kagan Kalagan), ], - q(3440) => [ + q(3439) => [ q(Migum), ], - q(3441) => [ + q(3440) => [ q(Kalenjin), ], - q(3442) => [ + q(3441) => [ q(Kapya), ], - q(3443) => [ + q(3442) => [ q(Kamasa), ], - q(3444) => [ + q(3443) => [ q(Rumu), ], - q(3445) => [ + q(3444) => [ q(Khaling), ], - q(3446) => [ + q(3445) => [ q(Kalasha), ], - q(3447) => [ + q(3446) => [ q(Nukna), ], - q(3448) => [ + q(3447) => [ q(Klao), ], - q(3449) => [ + q(3448) => [ q(Maskelynes), ], - q(3450) => [ + q(3449) => [ q(Lindu), ], - q(3451) => [ + q(3450) => [ q(Koluwawa), ], - q(3452) => [ + q(3451) => [ q(Kalao), ], - q(3453) => [ + q(3452) => [ q(Kabola), ], - q(3454) => [ + q(3453) => [ q(Konni), ], - q(3455) => [ + q(3454) => [ q(Southern Dong), ], - q(3456) => [ + q(3455) => [ q(Majukayang Kalinga), ], - q(3457) => [ + q(3456) => [ q(Bakole), ], - q(3458) => [ + q(3457) => [ q(Kare (Papua New Guinea)), ], - q(3459) => [ + q(3458) => [ q(Kate), ], - q(3460) => [ + q(3459) => [ q(Kalam), ], - q(3461) => [ + q(3460) => [ q(Kami (Nigeria)), ], - q(3462) => [ + q(3461) => [ q(Kumarbhag Paharia), ], - q(3463) => [ + q(3462) => [ q(Limos Kalinga), ], - q(3464) => [ + q(3463) => [ q(Tanudan Kalinga), ], - q(3465) => [ + q(3464) => [ q(Kom (India)), ], - q(3466) => [ + q(3465) => [ q(Awtuw), ], - q(3467) => [ + q(3466) => [ q(Kwoma), ], - q(3468) => [ + q(3467) => [ q(Gimme), ], - q(3469) => [ + q(3468) => [ q(Kwama), ], - q(3470) => [ + q(3469) => [ q(Northern Kurdish), ], - q(3471) => [ + q(3470) => [ q(Kamasau), ], - q(3472) => [ + q(3471) => [ q(Kemtuik), ], - q(3473) => [ + q(3472) => [ q(Kanite), ], - q(3474) => [ + q(3473) => [ q(Karipuna Creole French), ], - q(3475) => [ + q(3474) => [ q(Komo (Democratic Republic of Congo)), ], - q(3476) => [ + q(3475) => [ q(Waboda), ], - q(3477) => [ + q(3476) => [ q(Koma), ], - q(3478) => [ + q(3477) => [ q(Khorasani Turkish), ], - q(3479) => [ + q(3478) => [ q(Dera (Nigeria)), ], - q(3480) => [ + q(3479) => [ q(Lubuagan Kalinga), ], - q(3481) => [ + q(3480) => [ q(Central Kanuri), ], - q(3482) => [ + q(3481) => [ q(Konda), ], - q(3483) => [ + q(3482) => [ q(Kankanaey), ], - q(3484) => [ + q(3483) => [ q(Mankanya), ], - q(3485) => [ + q(3484) => [ q(Koongo), ], - q(3486) => [ + q(3485) => [ q(Kanufi), ], - q(3487) => [ + q(3486) => [ q(Western Kanjobal), ], - q(3488) => [ + q(3487) => [ q(Kuranko), ], - q(3489) => [ + q(3488) => [ q(Keninjal), ], - q(3490) => [ + q(3489) => [ q(Kanamari), ], - q(3491) => [ + q(3490) => [ q(Konkani (individual language)), ], - q(3492) => [ + q(3491) => [ q(Kono (Sierra Leone)), ], - q(3493) => [ + q(3492) => [ q(Kwanja), ], - q(3494) => [ + q(3493) => [ q(Kintaq), ], - q(3495) => [ + q(3494) => [ q(Kaningra), ], - q(3496) => [ + q(3495) => [ q(Kensiu), ], - q(3497) => [ + q(3496) => [ q(Panoan Katukina), ], - q(3498) => [ + q(3497) => [ q(Kono (Guinea)), ], - q(3499) => [ + q(3498) => [ q(Tabo), ], - q(3500) => [ + q(3499) => [ q(Kung-Ekoka), ], - q(3501) => [ + q(3500) => [ q(Kendayan), q(Salako), ], - q(3502) => [ + q(3501) => [ q(Kanyok), ], - q(3503) => [ + q(3502) => [ q(Kalamse), ], - q(3504) => [ + q(3503) => [ q(Konomala), ], - q(3505) => [ + q(3504) => [ q(Kpati), ], - q(3506) => [ + q(3505) => [ q(Kodi), ], - q(3507) => [ + q(3506) => [ q(Kacipo-Balesi), ], - q(3508) => [ + q(3507) => [ q(Kubi), ], - q(3509) => [ + q(3508) => [ q(Cogui), q(Kogi), ], - q(3510) => [ + q(3509) => [ q(Koyo), ], - q(3511) => [ + q(3510) => [ q(Komi-Permyak), ], - q(3512) => [ + q(3511) => [ q(Kol (Papua New Guinea)), ], - q(3513) => [ + q(3512) => [ q(Konzo), ], - q(3514) => [ + q(3513) => [ q(Waube), ], - q(3515) => [ + q(3514) => [ q(Kota (Gabon)), ], - q(3516) => [ + q(3515) => [ q(Lagwan), ], - q(3517) => [ + q(3516) => [ q(Koke), ], - q(3518) => [ + q(3517) => [ q(Kudu-Camo), ], - q(3519) => [ + q(3518) => [ q(Kugama), ], - q(3520) => [ + q(3519) => [ q(Coxima), ], - q(3521) => [ + q(3520) => [ q(Koyukon), ], - q(3522) => [ + q(3521) => [ q(Korak), ], - q(3523) => [ + q(3522) => [ q(Kutto), ], - q(3524) => [ + q(3523) => [ q(Mullu Kurumba), ], - q(3525) => [ + q(3524) => [ q(Curripaco), ], - q(3526) => [ + q(3525) => [ q(Koba), ], - q(3527) => [ + q(3526) => [ q(Komba), ], - q(3528) => [ + q(3527) => [ q(Kapingamarangi), ], - q(3529) => [ + q(3528) => [ q(Kplang), ], - q(3530) => [ + q(3529) => [ q(Kofei), ], - q(3531) => [ + q(3530) => [ q(Karaja), ], - q(3532) => [ + q(3531) => [ q(Kpan), ], - q(3533) => [ + q(3532) => [ q(Kpala), ], - q(3534) => [ + q(3533) => [ q(Koho), ], - q(3535) => [ + q(3534) => [ q(Kepkiriwat), ], - q(3536) => [ + q(3535) => [ q(Ikposo), ], - q(3537) => [ + q(3536) => [ q(Korupun-Sela), ], - q(3538) => [ + q(3537) => [ q(Korafe-Yegha), ], - q(3539) => [ + q(3538) => [ q(Tehit), ], - q(3540) => [ + q(3539) => [ q(Karata), ], - q(3541) => [ + q(3540) => [ q(Kafoa), ], - q(3542) => [ + q(3541) => [ q(Komi-Zyrian), ], - q(3543) => [ + q(3542) => [ q(Kobon), ], - q(3544) => [ + q(3543) => [ q(Mountain Koiali), ], - q(3545) => [ + q(3544) => [ q(Koryak), ], - q(3546) => [ + q(3545) => [ q(Kupsabiny), ], - q(3547) => [ + q(3546) => [ q(Mum), ], - q(3548) => [ + q(3547) => [ q(Kovai), ], - q(3549) => [ + q(3548) => [ q(Doromu-Koki), ], - q(3550) => [ + q(3549) => [ q(Koy Sanjaq Surat), ], - q(3551) => [ + q(3550) => [ q(Kalagan), ], - q(3552) => [ + q(3551) => [ q(Kakabai), ], - q(3553) => [ + q(3552) => [ q(Khe), ], - q(3554) => [ + q(3553) => [ q(Kisankasa), ], - q(3555) => [ + q(3554) => [ q(Koitabu), ], - q(3556) => [ + q(3555) => [ q(Koromira), ], - q(3557) => [ + q(3556) => [ q(Kotafon Gbe), ], - q(3558) => [ + q(3557) => [ q(Kyenele), ], - q(3559) => [ + q(3558) => [ q(Khisa), ], - q(3560) => [ + q(3559) => [ q(Kaonde), ], - q(3561) => [ + q(3560) => [ q(Eastern Krahn), ], - q(3562) => [ + q(3561) => [ q(Kimre), ], - q(3563) => [ + q(3562) => [ q(Krenak), ], - q(3564) => [ + q(3563) => [ q(Kimaragang), ], - q(3565) => [ + q(3564) => [ q(Northern Kissi), ], - q(3566) => [ + q(3565) => [ q(Klias River Kadazan), ], - q(3567) => [ + q(3566) => [ q(Seroa), ], - q(3568) => [ + q(3567) => [ q(Okolod), ], - q(3569) => [ + q(3568) => [ q(Kandas), ], - q(3570) => [ + q(3569) => [ q(Mser), ], - q(3571) => [ + q(3570) => [ q(Koorete), ], - q(3572) => [ + q(3571) => [ q(Korana), ], - q(3573) => [ + q(3572) => [ q(Kumhali), ], - q(3574) => [ + q(3573) => [ q(Karkin), ], - q(3575) => [ + q(3574) => [ q(Kairui-Midiki), ], - q(3576) => [ + q(3575) => [ q(Panara), ], - q(3577) => [ + q(3576) => [ q(Koro (Vanuatu)), ], - q(3578) => [ + q(3577) => [ q(Kurama), ], - q(3579) => [ + q(3578) => [ q(Krio), ], - q(3580) => [ + q(3579) => [ q(Kinaray-A), ], - q(3581) => [ + q(3580) => [ q(Kerek), ], - q(3582) => [ + q(3581) => [ q(Krim), ], - q(3583) => [ + q(3582) => [ q(Sapo), ], - q(3584) => [ + q(3583) => [ q(Korop), ], - q(3585) => [ + q(3584) => [ q(Kru'ng 2), ], - q(3586) => [ + q(3585) => [ q(Gbaya (Sudan)), ], - q(3587) => [ + q(3586) => [ q(Tumari Kanuri), ], - q(3588) => [ + q(3587) => [ q(Kavet), ], - q(3589) => [ + q(3588) => [ q(Western Krahn), ], - q(3590) => [ + q(3589) => [ q(Karon), ], - q(3591) => [ + q(3590) => [ q(Kryts), ], - q(3592) => [ + q(3591) => [ q(Sota Kanum), ], - q(3593) => [ + q(3592) => [ q(Shuwa-Zamani), ], - q(3594) => [ + q(3593) => [ q(Shambala), ], - q(3595) => [ + q(3594) => [ q(Southern Kalinga), ], - q(3596) => [ + q(3595) => [ q(Kuanua), ], - q(3597) => [ + q(3596) => [ q(Kuni), ], - q(3598) => [ + q(3597) => [ q(Bafia), ], - q(3599) => [ + q(3598) => [ q(Kusaghe), ], - q(3600) => [ + q(3599) => [ q(Kolsch), ], - q(3601) => [ + q(3600) => [ q(Krisa), q(I'saka), ], - q(3602) => [ + q(3601) => [ q(Uare), ], - q(3603) => [ + q(3602) => [ q(Kansa), ], - q(3604) => [ + q(3603) => [ q(Kumalu), ], - q(3605) => [ + q(3604) => [ q(Kumba), ], - q(3606) => [ + q(3605) => [ q(Kasiguranin), ], - q(3607) => [ + q(3606) => [ q(Kofa), ], - q(3608) => [ + q(3607) => [ q(Kaba), ], - q(3609) => [ + q(3608) => [ q(Kwaami), ], - q(3610) => [ + q(3609) => [ q(Borong), ], - q(3611) => [ + q(3610) => [ q(Southern Kisi), ], - q(3612) => [ + q(3611) => [ q(Winye), ], - q(3613) => [ + q(3612) => [ q(Khamyang), ], - q(3614) => [ + q(3613) => [ q(Kusu), ], - q(3615) => [ + q(3614) => [ q(S'gaw Karen), ], - q(3616) => [ + q(3615) => [ q(Kedang), ], - q(3617) => [ + q(3616) => [ q(Kharia Thar), ], - q(3618) => [ + q(3617) => [ q(Kodaku), ], - q(3619) => [ + q(3618) => [ q(Katua), ], - q(3620) => [ + q(3619) => [ q(Kambaata), ], - q(3621) => [ + q(3620) => [ q(Kholok), ], - q(3622) => [ + q(3621) => [ q(Kokata), ], - q(3623) => [ + q(3622) => [ q(Nubri), ], - q(3624) => [ + q(3623) => [ q(Kwami), ], - q(3625) => [ + q(3624) => [ q(Kalkutung), ], - q(3626) => [ + q(3625) => [ q(Karanga), ], - q(3627) => [ + q(3626) => [ q(North Muyu), ], - q(3628) => [ + q(3627) => [ q(Plapo Krumen), ], - q(3629) => [ + q(3628) => [ q(Kaniet), ], - q(3630) => [ + q(3629) => [ q(Koroshi), ], - q(3631) => [ + q(3630) => [ q(Kurti), ], - q(3632) => [ + q(3631) => [ q(Karitiana), ], - q(3633) => [ + q(3632) => [ q(Kuot), ], - q(3634) => [ + q(3633) => [ q(Kaduo), ], - q(3635) => [ + q(3634) => [ q(Katabaga), ], - q(3636) => [ + q(3635) => [ q(Kota Marudu Tinagas), ], - q(3637) => [ + q(3636) => [ q(South Muyu), ], - q(3638) => [ + q(3637) => [ q(Ketum), ], - q(3639) => [ + q(3638) => [ q(Kituba (Democratic Republic of Congo)), ], - q(3640) => [ + q(3639) => [ q(Eastern Katu), ], - q(3641) => [ + q(3640) => [ q(Kato), ], - q(3642) => [ + q(3641) => [ q(Kaxarari), ], - q(3643) => [ + q(3642) => [ q(Kango (Bas-Uele District)), ], - q(3644) => [ + q(3643) => [ q(Ju/'hoan), + q(Juhoan), ], - q(3645) => [ + q(3644) => [ q(Kutep), ], - q(3646) => [ + q(3645) => [ q(Kwinsu), ], - q(3647) => [ + q(3646) => [ q('Auhelawa), ], - q(3648) => [ + q(3647) => [ q(Kuman (Papua New Guinea)), ], - q(3649) => [ + q(3648) => [ q(Western Katu), ], - q(3650) => [ + q(3649) => [ q(Kupa), ], - q(3651) => [ + q(3650) => [ q(Kushi), ], - q(3652) => [ + q(3651) => [ q(Kuikuro-Kalapalo), ], - q(3653) => [ + q(3652) => [ q(Kuria), ], - q(3654) => [ + q(3653) => [ q(Kepo'), ], - q(3655) => [ + q(3654) => [ q(Kulere), ], - q(3656) => [ + q(3655) => [ q(Kunama), ], - q(3657) => [ + q(3656) => [ q(Kumukio), ], - q(3658) => [ + q(3657) => [ q(Kunimaipa), ], - q(3659) => [ + q(3658) => [ q(Kusaal), ], - q(3660) => [ + q(3659) => [ q(Upper Kuskokwim), ], - q(3661) => [ + q(3660) => [ q(Kur), ], - q(3662) => [ + q(3661) => [ q(Kpagua), ], - q(3663) => [ + q(3662) => [ q(Kukatja), ], - q(3664) => [ + q(3663) => [ q(Kuuku-Ya'u), ], - q(3665) => [ + q(3664) => [ q(Kunza), ], - q(3666) => [ + q(3665) => [ q(Bagvalal), ], - q(3667) => [ + q(3666) => [ q(Kubu), ], - q(3668) => [ + q(3667) => [ q(Kove), ], - q(3669) => [ + q(3668) => [ q(Kui (Indonesia)), ], - q(3670) => [ + q(3669) => [ q(Kalabakan), ], - q(3671) => [ + q(3670) => [ q(Kabalai), ], - q(3672) => [ + q(3671) => [ q(Kuni-Boazi), ], - q(3673) => [ + q(3672) => [ q(Komodo), ], - q(3674) => [ + q(3673) => [ q(Kwang), ], - q(3675) => [ + q(3674) => [ q(Psikye), ], - q(3676) => [ + q(3675) => [ q(Korean Sign Language), ], - q(3677) => [ + q(3676) => [ q(Kayaw), ], - q(3678) => [ + q(3677) => [ q(Kendem), ], - q(3679) => [ + q(3678) => [ q(Border Kuna), ], - q(3680) => [ + q(3679) => [ q(Dobel), ], - q(3681) => [ + q(3680) => [ q(Kompane), ], - q(3682) => [ + q(3681) => [ q(Geba Karen), ], - q(3683) => [ + q(3682) => [ q(Kerinci), ], - q(3684) => [ + q(3683) => [ q(Kunggara), ], - q(3685) => [ + q(3684) => [ q(Lahta Karen), q(Lahta), ], - q(3686) => [ + q(3685) => [ q(Yinbaw Karen), ], - q(3687) => [ + q(3686) => [ q(Kola), ], - q(3688) => [ + q(3687) => [ q(Wersing), ], - q(3689) => [ + q(3688) => [ q(Parkari Koli), ], - q(3690) => [ + q(3689) => [ q(Yintale Karen), q(Yintale), ], - q(3691) => [ + q(3690) => [ q(Tsakwambo), q(Tsaukambo), ], - q(3692) => [ + q(3691) => [ q(Daw), ], - q(3693) => [ + q(3692) => [ q(Kwa), ], - q(3694) => [ + q(3693) => [ q(Likwala), ], - q(3695) => [ + q(3694) => [ q(Kwaio), ], - q(3696) => [ + q(3695) => [ q(Kwerba), ], - q(3697) => [ + q(3696) => [ q(Kwara'ae), ], - q(3698) => [ + q(3697) => [ q(Sara Kaba Deme), ], - q(3699) => [ + q(3698) => [ q(Kowiai), ], - q(3700) => [ + q(3699) => [ q(Awa-Cuaiquer), ], - q(3701) => [ + q(3700) => [ q(Kwanga), ], - q(3702) => [ + q(3701) => [ q(Kwakiutl), ], - q(3703) => [ + q(3702) => [ q(Kofyar), ], - q(3704) => [ + q(3703) => [ q(Kwambi), ], - q(3705) => [ + q(3704) => [ q(Kwangali), ], - q(3706) => [ + q(3705) => [ q(Kwomtari), ], - q(3707) => [ + q(3706) => [ q(Kodia), ], - q(3708) => [ + q(3707) => [ q(Kwer), ], - q(3709) => [ + q(3708) => [ q(Kwese), ], - q(3710) => [ + q(3709) => [ q(Kwesten), ], - q(3711) => [ + q(3710) => [ q(Kwakum), ], - q(3712) => [ + q(3711) => [ q(Sara Kaba Naa), ], - q(3713) => [ + q(3712) => [ q(Kwinti), ], - q(3714) => [ + q(3713) => [ q(Khirwar), ], - q(3715) => [ + q(3714) => [ q(San Salvador Kongo), ], - q(3716) => [ + q(3715) => [ q(Kwadi), ], - q(3717) => [ + q(3716) => [ q(Kairiru), ], - q(3718) => [ + q(3717) => [ q(Krobu), ], - q(3719) => [ + q(3718) => [ q(Konso), q(Khonso), ], - q(3720) => [ + q(3719) => [ q(Brunei), ], - q(3721) => [ + q(3720) => [ q(Manumanaw Karen), q(Manumanaw), ], - q(3722) => [ + q(3721) => [ q(Karo (Ethiopia)), ], - q(3723) => [ + q(3722) => [ q(Keningau Murut), ], - q(3724) => [ + q(3723) => [ q(Kulfa), ], - q(3725) => [ + q(3724) => [ q(Zayein Karen), ], - q(3726) => [ + q(3725) => [ q(Nepali Kurux), ], - q(3727) => [ + q(3726) => [ q(Northern Khmer), ], - q(3728) => [ + q(3727) => [ q(Kanowit-Tanjong Melanau), ], - q(3729) => [ + q(3728) => [ q(Kanoe), ], - q(3730) => [ + q(3729) => [ q(Wadiyara Koli), ], - q(3731) => [ + q(3730) => [ q(Smarky Kanum), ], - q(3732) => [ + q(3731) => [ q(Koro (Papua New Guinea)), ], - q(3733) => [ + q(3732) => [ q(Kangjia), ], - q(3734) => [ + q(3733) => [ q(Koiwat), ], - q(3735) => [ + q(3734) => [ q(Kui (India)), ], - q(3736) => [ + q(3735) => [ q(Kuvi), ], - q(3737) => [ + q(3736) => [ q(Konai), ], - q(3738) => [ + q(3737) => [ q(Likuba), ], - q(3739) => [ + q(3738) => [ q(Kayong), ], - q(3740) => [ + q(3739) => [ q(Kerewo), ], - q(3741) => [ + q(3740) => [ q(Kwaya), ], - q(3742) => [ + q(3741) => [ q(Butbut Kalinga), ], - q(3743) => [ + q(3742) => [ q(Kyaka), ], - q(3744) => [ + q(3743) => [ q(Karey), ], - q(3745) => [ + q(3744) => [ q(Krache), ], - q(3746) => [ + q(3745) => [ q(Kouya), ], - q(3747) => [ + q(3746) => [ q(Keyagana), ], - q(3748) => [ + q(3747) => [ q(Karok), ], - q(3749) => [ + q(3748) => [ q(Kiput), ], - q(3750) => [ + q(3749) => [ q(Karao), ], - q(3751) => [ + q(3750) => [ q(Kamayo), ], - q(3752) => [ + q(3751) => [ q(Kalapuya), ], - q(3753) => [ + q(3752) => [ q(Kpatili), ], - q(3754) => [ + q(3753) => [ q(Northern Binukidnon), ], - q(3755) => [ + q(3754) => [ q(Kelon), ], - q(3756) => [ + q(3755) => [ q(Kang), ], - q(3757) => [ + q(3756) => [ q(Kenga), ], - q(3758) => [ + q(3757) => [ q(Kuruaya), ], - q(3759) => [ + q(3758) => [ q(Baram Kayan), ], - q(3760) => [ + q(3759) => [ q(Kayagar), ], - q(3761) => [ + q(3760) => [ q(Western Kayah), ], - q(3762) => [ + q(3761) => [ q(Kayort), ], - q(3763) => [ + q(3762) => [ q(Kudmali), ], - q(3764) => [ + q(3763) => [ q(Rapoisi), ], - q(3765) => [ + q(3764) => [ q(Kambaira), ], - q(3766) => [ + q(3765) => [ q(Kayabi), ], - q(3767) => [ + q(3766) => [ q(Western Karaboro), ], - q(3768) => [ + q(3767) => [ q(Kaibobo), ], - q(3769) => [ + q(3768) => [ q(Bondoukou Kulango), ], - q(3770) => [ + q(3769) => [ q(Kadai), ], - q(3771) => [ + q(3770) => [ q(Kosena), ], - q(3772) => [ + q(3771) => [ q(Da'a Kaili), ], - q(3773) => [ + q(3772) => [ q(Kikai), ], - q(3774) => [ + q(3773) => [ q(Kelabit), ], - q(3775) => [ + q(3774) => [ q(Coastal Kadazan), ], - q(3776) => [ + q(3775) => [ q(Kazukuru), ], - q(3777) => [ + q(3776) => [ q(Kayeli), ], - q(3778) => [ + q(3777) => [ q(Kais), ], - q(3779) => [ + q(3778) => [ q(Kokola), ], - q(3780) => [ + q(3779) => [ q(Kaningi), ], - q(3781) => [ + q(3780) => [ q(Kaidipang), ], - q(3782) => [ + q(3781) => [ q(Kaike), ], - q(3783) => [ + q(3782) => [ q(Karang), ], - q(3784) => [ + q(3783) => [ q(Sugut Dusun), ], - q(3785) => [ + q(3784) => [ q(Tambunan Dusun), ], - q(3786) => [ + q(3785) => [ q(Kayupulau), ], - q(3787) => [ + q(3786) => [ q(Komyandaret), ], - q(3788) => [ + q(3787) => [ q(Kariri-Xoco), ], - q(3789) => [ + q(3788) => [ q(Kamarian), ], - q(3790) => [ + q(3789) => [ q(Kango (Tshopo District)), ], - q(3791) => [ + q(3790) => [ q(Kalabra), ], - q(3792) => [ + q(3791) => [ q(Southern Subanen), ], - q(3793) => [ + q(3792) => [ q(Linear A), ], - q(3794) => [ + q(3793) => [ q(Lacandon), ], - q(3795) => [ + q(3794) => [ q(Pattani), ], - q(3796) => [ + q(3795) => [ q(Lafofa), ], - q(3797) => [ + q(3796) => [ q(Langi), ], - q(3798) => [ + q(3797) => [ q(Lambya), ], - q(3799) => [ + q(3798) => [ q(Lango (Uganda)), ], - q(3800) => [ + q(3799) => [ q(Laka (Nigeria)), ], - q(3801) => [ + q(3800) => [ q(Lalia), ], - q(3802) => [ + q(3801) => [ q(Laru), ], - q(3803) => [ + q(3802) => [ q(Laka (Chad)), ], - q(3804) => [ + q(3803) => [ q(Qabiao), ], - q(3805) => [ + q(3804) => [ q(Larteh), ], - q(3806) => [ + q(3805) => [ q(Lama (Togo)), ], - q(3807) => [ + q(3806) => [ q(Laba), ], - q(3808) => [ + q(3807) => [ q(Lauje), ], - q(3809) => [ + q(3808) => [ q(Tiwa), ], - q(3810) => [ + q(3809) => [ q(Lama Bai), ], - q(3811) => [ + q(3810) => [ q(Aribwatsa), ], - q(3812) => [ + q(3811) => [ q(Lui), ], - q(3813) => [ + q(3812) => [ q(Label), ], - q(3814) => [ + q(3813) => [ q(Lakkia), ], - q(3815) => [ + q(3814) => [ q(Lak), ], - q(3816) => [ + q(3815) => [ q(Tinani), ], - q(3817) => [ + q(3816) => [ q(Laopang), ], - q(3818) => [ + q(3817) => [ q(La'bi), ], - q(3819) => [ + q(3818) => [ q(Ladakhi), ], - q(3820) => [ + q(3819) => [ q(Central Bontok), ], - q(3821) => [ + q(3820) => [ q(Libon Bikol), ], - q(3822) => [ + q(3821) => [ q(Lodhi), ], - q(3823) => [ + q(3822) => [ q(Lamet), ], - q(3824) => [ + q(3823) => [ q(Laven), ], - q(3825) => [ + q(3824) => [ q(Wampar), ], - q(3826) => [ + q(3825) => [ q(Lohorung), ], - q(3827) => [ + q(3826) => [ q(Libyan Sign Language), ], - q(3828) => [ + q(3827) => [ q(Lachi), ], - q(3829) => [ + q(3828) => [ q(Labu), ], - q(3830) => [ + q(3829) => [ q(Lavatbura-Lamusong), ], - q(3831) => [ + q(3830) => [ q(Tolaki), ], - q(3832) => [ + q(3831) => [ q(Lawangan), ], - q(3833) => [ + q(3832) => [ q(Lamu-Lamu), ], - q(3834) => [ + q(3833) => [ q(Lardil), ], - q(3835) => [ + q(3834) => [ q(Legenyem), ], - q(3836) => [ + q(3835) => [ q(Lola), ], - q(3837) => [ + q(3836) => [ q(Loncong), ], - q(3838) => [ + q(3837) => [ q(Lubu), ], - q(3839) => [ + q(3838) => [ q(Luchazi), ], - q(3840) => [ + q(3839) => [ q(Lisela), ], - q(3841) => [ + q(3840) => [ q(Tungag), ], - q(3842) => [ + q(3841) => [ q(Western Lawa), ], - q(3843) => [ + q(3842) => [ q(Luhu), ], - q(3844) => [ + q(3843) => [ q(Lisabata-Nuniali), ], - q(3845) => [ + q(3844) => [ q(Kla-Dan), ], - q(3846) => [ + q(3845) => [ q(Duya), ], - q(3847) => [ + q(3846) => [ q(Luri), ], - q(3848) => [ + q(3847) => [ q(Lenyima), ], - q(3849) => [ + q(3848) => [ q(Lamja-Dengsa-Tola), ], - q(3850) => [ + q(3849) => [ q(Laari), ], - q(3851) => [ + q(3850) => [ q(Lemoro), ], - q(3852) => [ + q(3851) => [ q(Leelau), ], - q(3853) => [ + q(3852) => [ q(Kaan), ], - q(3854) => [ + q(3853) => [ q(Landoma), ], - q(3855) => [ + q(3854) => [ q(Laadan), ], - q(3856) => [ + q(3855) => [ q(Loo), ], - q(3857) => [ + q(3856) => [ q(Tso), ], - q(3858) => [ + q(3857) => [ q(Lufu), ], - q(3859) => [ + q(3858) => [ q(Lega-Shabunda), ], - q(3860) => [ + q(3859) => [ q(Lala-Bisa), ], - q(3861) => [ + q(3860) => [ q(Leco), ], - q(3862) => [ + q(3861) => [ q(Lendu), ], - q(3863) => [ + q(3862) => [ q(Lyele), ], - q(3864) => [ + q(3863) => [ q(Lelemi), ], - q(3865) => [ + q(3864) => [ q(Lenje), ], - q(3866) => [ + q(3865) => [ q(Lemio), ], - q(3867) => [ + q(3866) => [ q(Lengola), ], - q(3868) => [ + q(3867) => [ q(Leipon), ], - q(3869) => [ + q(3868) => [ q(Lele (Democratic Republic of Congo)), ], - q(3870) => [ + q(3869) => [ q(Nomaande), ], - q(3871) => [ + q(3870) => [ q(Lenca), ], - q(3872) => [ + q(3871) => [ q(Leti (Cameroon)), ], - q(3873) => [ + q(3872) => [ q(Lepcha), ], - q(3874) => [ + q(3873) => [ q(Lembena), ], - q(3875) => [ + q(3874) => [ q(Lenkau), ], - q(3876) => [ + q(3875) => [ q(Lese), ], - q(3877) => [ + q(3876) => [ q(Lesing-Gelimi), q(Amio-Gelimi), ], - q(3878) => [ + q(3877) => [ q(Kara (Papua New Guinea)), ], - q(3879) => [ + q(3878) => [ q(Lamma), ], - q(3880) => [ + q(3879) => [ q(Ledo Kaili), ], - q(3881) => [ + q(3880) => [ q(Luang), ], - q(3882) => [ + q(3881) => [ q(Lemolang), ], - q(3883) => [ + q(3882) => [ q(Lefa), ], - q(3884) => [ + q(3883) => [ q(Lingua Franca Nova), ], - q(3885) => [ + q(3884) => [ q(Lungga), ], - q(3886) => [ + q(3885) => [ q(Laghu), ], - q(3887) => [ + q(3886) => [ q(Lugbara), ], - q(3888) => [ + q(3887) => [ q(Laghuu), ], - q(3889) => [ + q(3888) => [ q(Lengilu), ], - q(3890) => [ + q(3889) => [ q(Lingarak), q(Neverver), ], - q(3891) => [ + q(3890) => [ q(Wala), ], - q(3892) => [ + q(3891) => [ q(Lega-Mwenga), ], - q(3893) => [ + q(3892) => [ q(Opuuo), ], - q(3894) => [ + q(3893) => [ q(Logba), ], - q(3895) => [ + q(3894) => [ q(Lengo), ], - q(3896) => [ + q(3895) => [ q(Pahi), ], - q(3897) => [ + q(3896) => [ q(Longgu), ], - q(3898) => [ + q(3897) => [ q(Ligenza), ], - q(3899) => [ + q(3898) => [ q(Laha (Viet Nam)), ], - q(3900) => [ + q(3899) => [ q(Laha (Indonesia)), ], - q(3901) => [ + q(3900) => [ q(Lahu Shi), ], - q(3902) => [ + q(3901) => [ q(Lahul Lohar), ], - q(3903) => [ + q(3902) => [ q(Lhomi), ], - q(3904) => [ + q(3903) => [ q(Lahanan), ], - q(3905) => [ + q(3904) => [ q(Lhokpu), ], - q(3906) => [ + q(3905) => [ q(Mlahso), ], - q(3907) => [ + q(3906) => [ q(Lo-Toga), ], - q(3908) => [ + q(3907) => [ q(Lahu), ], - q(3909) => [ + q(3908) => [ q(West-Central Limba), ], - q(3910) => [ + q(3909) => [ q(Likum), ], - q(3911) => [ + q(3910) => [ q(Hlai), ], - q(3912) => [ + q(3911) => [ q(Nyindrou), ], - q(3913) => [ + q(3912) => [ q(Likila), ], - q(3914) => [ + q(3913) => [ q(Limbu), ], - q(3915) => [ + q(3914) => [ q(Ligbi), ], - q(3916) => [ + q(3915) => [ q(Lihir), ], - q(3917) => [ + q(3916) => [ q(Ligurian), ], - q(3918) => [ + q(3917) => [ q(Lika), ], - q(3919) => [ + q(3918) => [ q(Lillooet), ], - q(3920) => [ + q(3919) => [ q(Liki), ], - q(3921) => [ + q(3920) => [ q(Sekpele), ], - q(3922) => [ + q(3921) => [ q(Libido), ], - q(3923) => [ + q(3922) => [ q(Liberian English), ], - q(3924) => [ + q(3923) => [ q(Lisu), ], - q(3925) => [ + q(3924) => [ q(Logorik), ], - q(3926) => [ + q(3925) => [ q(Liv), ], - q(3927) => [ + q(3926) => [ q(Col), ], - q(3928) => [ + q(3927) => [ q(Liabuku), ], - q(3929) => [ + q(3928) => [ q(Banda-Bambari), ], - q(3930) => [ + q(3929) => [ q(Libinza), ], - q(3931) => [ + q(3930) => [ q(Golpa), ], - q(3932) => [ + q(3931) => [ q(Rampi), ], - q(3933) => [ + q(3932) => [ q(Laiyolo), ], - q(3934) => [ + q(3933) => [ q(Li'o), ], - q(3935) => [ + q(3934) => [ q(Lampung Api), ], - q(3936) => [ + q(3935) => [ q(Yirandali), ], - q(3937) => [ + q(3936) => [ q(Yuru), ], - q(3938) => [ + q(3937) => [ q(Lakalei), ], - q(3939) => [ + q(3938) => [ q(Kabras), q(Lukabaras), ], - q(3940) => [ + q(3939) => [ q(Kucong), ], - q(3941) => [ + q(3940) => [ q(Lakonde), ], - q(3942) => [ + q(3941) => [ q(Kenyi), ], - q(3943) => [ + q(3942) => [ q(Lakha), ], - q(3944) => [ + q(3943) => [ q(Laki), ], - q(3945) => [ + q(3944) => [ q(Remun), ], - q(3946) => [ + q(3945) => [ q(Laeko-Libuat), ], - q(3947) => [ + q(3946) => [ q(Kalaamaya), ], - q(3948) => [ + q(3947) => [ q(Lakon), q(Vure), ], - q(3949) => [ + q(3948) => [ q(Khayo), q(Olukhayo), ], - q(3950) => [ + q(3949) => [ q(Pari), ], - q(3951) => [ + q(3950) => [ q(Kisa), q(Olushisa), ], - q(3952) => [ + q(3951) => [ q(Lakota), ], - q(3953) => [ + q(3952) => [ q(Kungkari), ], - q(3954) => [ + q(3953) => [ q(Lokoya), ], - q(3955) => [ + q(3954) => [ q(Lala-Roba), ], - q(3956) => [ + q(3955) => [ q(Lolo), ], - q(3957) => [ + q(3956) => [ q(Lele (Guinea)), ], - q(3958) => [ + q(3957) => [ q(Ladin), ], - q(3959) => [ + q(3958) => [ q(Lele (Papua New Guinea)), ], - q(3960) => [ + q(3959) => [ q(Hermit), ], - q(3961) => [ + q(3960) => [ q(Lole), ], - q(3962) => [ + q(3961) => [ q(Lamu), ], - q(3963) => [ + q(3962) => [ q(Teke-Laali), ], - q(3964) => [ + q(3963) => [ q(Ladji Ladji), ], - q(3965) => [ + q(3964) => [ q(Lelak), ], - q(3966) => [ + q(3965) => [ q(Lilau), ], - q(3967) => [ + q(3966) => [ q(Lasalimu), ], - q(3968) => [ + q(3967) => [ q(Lele (Chad)), ], - q(3969) => [ + q(3968) => [ q(Khlor), ], - q(3970) => [ + q(3969) => [ q(North Efate), ], - q(3971) => [ + q(3970) => [ q(Lolak), ], - q(3972) => [ + q(3971) => [ q(Lithuanian Sign Language), ], - q(3973) => [ + q(3972) => [ q(Lau), ], - q(3974) => [ + q(3973) => [ q(Lauan), ], - q(3975) => [ + q(3974) => [ q(East Limba), ], - q(3976) => [ + q(3975) => [ q(Merei), ], - q(3977) => [ + q(3976) => [ q(Limilngan), ], - q(3978) => [ + q(3977) => [ q(Lumun), ], - q(3979) => [ + q(3978) => [ q(Peve), ], - q(3980) => [ + q(3979) => [ q(South Lembata), ], - q(3981) => [ + q(3980) => [ q(Lamogai), ], - q(3982) => [ + q(3981) => [ q(Lambichhong), ], - q(3983) => [ + q(3982) => [ q(Lombi), ], - q(3984) => [ + q(3983) => [ q(West Lembata), ], - q(3985) => [ + q(3984) => [ q(Lamkang), ], - q(3986) => [ + q(3985) => [ q(Hano), ], - q(3987) => [ + q(3986) => [ q(Lambadi), ], - q(3988) => [ + q(3987) => [ q(Lombard), ], - q(3989) => [ + q(3988) => [ q(Limbum), ], - q(3990) => [ + q(3989) => [ q(Lamatuka), ], - q(3991) => [ + q(3990) => [ q(Lamalera), ], - q(3992) => [ + q(3991) => [ q(Lamenu), ], - q(3993) => [ + q(3992) => [ q(Lomaiviti), ], - q(3994) => [ + q(3993) => [ q(Lake Miwok), ], - q(3995) => [ + q(3994) => [ q(Laimbue), ], - q(3996) => [ + q(3995) => [ q(Lamboya), ], - q(3997) => [ + q(3996) => [ q(Lumbee), ], - q(3998) => [ + q(3997) => [ q(Langbashe), ], - q(3999) => [ + q(3998) => [ q(Mbalanhu), ], - q(4000) => [ + q(3999) => [ q(Lundayeh), q(Lun Bawang), ], - q(4001) => [ + q(4000) => [ q(Langobardic), ], - q(4002) => [ + q(4001) => [ q(Lanoh), ], - q(4003) => [ + q(4002) => [ q(Daantanai'), ], - q(4004) => [ + q(4003) => [ q(Leningitij), ], - q(4005) => [ + q(4004) => [ q(South Central Banda), ], - q(4006) => [ + q(4005) => [ q(Langam), ], - q(4007) => [ + q(4006) => [ q(Lorediakarkar), ], - q(4008) => [ + q(4007) => [ q(Lango (Sudan)), ], - q(4009) => [ + q(4008) => [ q(Lamnso'), ], - q(4010) => [ + q(4009) => [ q(Longuda), ], - q(4011) => [ + q(4010) => [ q(Lanima), ], - q(4012) => [ + q(4011) => [ q(Lonzo), ], - q(4013) => [ + q(4012) => [ q(Loloda), ], - q(4014) => [ + q(4013) => [ q(Lobi), ], - q(4015) => [ + q(4014) => [ q(Inonhan), ], - q(4016) => [ + q(4015) => [ q(Saluan), ], - q(4017) => [ + q(4016) => [ q(Logol), ], - q(4018) => [ + q(4017) => [ q(Logo), ], - q(4019) => [ + q(4018) => [ q(Narim), ], - q(4020) => [ + q(4019) => [ q(Loma (Cote d'Ivoire)), ], - q(4021) => [ + q(4020) => [ q(Lou), ], - q(4022) => [ + q(4021) => [ q(Loko), ], - q(4023) => [ + q(4022) => [ q(Loma (Liberia)), ], - q(4024) => [ + q(4023) => [ q(Malawi Lomwe), ], - q(4025) => [ + q(4024) => [ q(Lombo), ], - q(4026) => [ + q(4025) => [ q(Lopa), ], - q(4027) => [ + q(4026) => [ q(Lobala), ], - q(4028) => [ + q(4027) => [ q(Teen), ], - q(4029) => [ + q(4028) => [ q(Loniu), ], - q(4030) => [ + q(4029) => [ q(Otuho), ], - q(4031) => [ + q(4030) => [ q(Louisiana Creole French), ], - q(4032) => [ + q(4031) => [ q(Lopi), ], - q(4033) => [ + q(4032) => [ q(Tampias Lobu), ], - q(4034) => [ + q(4033) => [ q(Loun), ], - q(4035) => [ + q(4034) => [ q(Loke), ], - q(4036) => [ + q(4035) => [ q(Lelepa), ], - q(4037) => [ + q(4036) => [ q(Lepki), ], - q(4038) => [ + q(4037) => [ q(Long Phuri Naga), ], - q(4039) => [ + q(4038) => [ q(Lipo), ], - q(4040) => [ + q(4039) => [ q(Lopit), ], - q(4041) => [ + q(4040) => [ q(Rara Bakati'), ], - q(4042) => [ + q(4041) => [ q(Northern Luri), ], - q(4043) => [ + q(4042) => [ q(Laurentian), ], - q(4044) => [ + q(4043) => [ q(Laragia), ], - q(4045) => [ + q(4044) => [ q(Marachi), q(Olumarachi), ], - q(4046) => [ + q(4045) => [ q(Loarki), ], - q(4047) => [ + q(4046) => [ q(Lari), ], - q(4048) => [ + q(4047) => [ q(Marama), q(Olumarama), ], - q(4049) => [ + q(4048) => [ q(Lorang), ], - q(4050) => [ + q(4049) => [ q(Laro), ], - q(4051) => [ + q(4050) => [ q(Southern Yamphu), ], - q(4052) => [ + q(4051) => [ q(Larantuka Malay), ], - q(4053) => [ + q(4052) => [ q(Larevat), ], - q(4054) => [ + q(4053) => [ q(Lemerig), ], - q(4055) => [ + q(4054) => [ q(Lasgerdi), ], - q(4056) => [ + q(4055) => [ q(Lishana Deni), ], - q(4057) => [ + q(4056) => [ q(Lusengo), ], - q(4058) => [ + q(4057) => [ q(Lyons Sign Language), ], - q(4059) => [ + q(4058) => [ q(Lish), ], - q(4060) => [ + q(4059) => [ q(Lashi), ], - q(4061) => [ + q(4060) => [ q(Latvian Sign Language), ], - q(4062) => [ + q(4061) => [ q(Saamia), q(Olusamia), ], - q(4063) => [ + q(4062) => [ q(Laos Sign Language), ], - q(4064) => [ + q(4063) => [ q(Panamanian Sign Language), q(Lengua de Senas Panamenas), ], - q(4065) => [ + q(4064) => [ q(Aruop), ], - q(4066) => [ + q(4065) => [ q(Lasi), ], - q(4067) => [ + q(4066) => [ q(Trinidad and Tobago Sign Language), ], - q(4068) => [ + q(4067) => [ q(Mauritian Sign Language), ], - q(4069) => [ + q(4068) => [ q(Late Middle Chinese), ], - q(4070) => [ + q(4069) => [ q(Latgalian), ], - q(4071) => [ + q(4070) => [ q(Leti (Indonesia)), ], - q(4072) => [ + q(4071) => [ q(Latunde), ], - q(4073) => [ + q(4072) => [ q(Tsotso), q(Olutsotso), ], - q(4074) => [ + q(4073) => [ q(Tachoni), q(Lutachoni), ], - q(4075) => [ + q(4074) => [ q(Latu), ], - q(4076) => [ + q(4075) => [ q(Aringa), ], - q(4077) => [ + q(4076) => [ q(Ludian), ], - q(4078) => [ + q(4077) => [ q(Luvale), ], - q(4079) => [ + q(4078) => [ q(Laua), ], - q(4080) => [ + q(4079) => [ q(Luna), ], - q(4081) => [ + q(4080) => [ q(Lunanakha), ], - q(4082) => [ + q(4081) => [ q(Olu'bo), ], - q(4083) => [ + q(4082) => [ q(Luimbi), ], - q(4084) => [ + q(4083) => [ q(Lumbu), ], - q(4085) => [ + q(4084) => [ q(Lucumi), ], - q(4086) => [ + q(4085) => [ q(Laura), ], - q(4087) => [ + q(4086) => [ q(Lushootseed), ], - q(4088) => [ + q(4087) => [ q(Lumba-Yakkha), ], - q(4089) => [ + q(4088) => [ q(Luwati), ], - q(4090) => [ + q(4089) => [ q(Luo (Cameroon)), ], - q(4091) => [ + q(4090) => [ q(Luyia), q(Oluluyia), ], - q(4092) => [ + q(4091) => [ q(Southern Luri), ], - q(4093) => [ + q(4092) => [ q(Maku'a), ], - q(4094) => [ + q(4093) => [ q(Lavukaleve), ], - q(4095) => [ + q(4094) => [ q(Standard Latvian), ], - q(4096) => [ + q(4095) => [ q(Levuka), ], - q(4097) => [ + q(4096) => [ q(Lwalu), ], - q(4098) => [ + q(4097) => [ q(Lewo Eleng), ], - q(4099) => [ + q(4098) => [ q(Wanga), q(Oluwanga), ], - q(4100) => [ + q(4099) => [ q(White Lachi), ], - q(4101) => [ + q(4100) => [ q(Eastern Lawa), ], - q(4102) => [ + q(4101) => [ q(Laomian), ], - q(4103) => [ + q(4102) => [ q(Luwo), ], - q(4104) => [ + q(4103) => [ q(Lewotobi), ], - q(4105) => [ + q(4104) => [ q(Lawu), ], - q(4106) => [ + q(4105) => [ q(Lewo), ], - q(4107) => [ + q(4106) => [ q(Layakha), ], - q(4108) => [ + q(4107) => [ q(Lyngngam), ], - q(4109) => [ + q(4108) => [ q(Luyana), ], - q(4110) => [ + q(4109) => [ q(Literary Chinese), ], - q(4111) => [ + q(4110) => [ q(Litzlitz), ], - q(4112) => [ + q(4111) => [ q(Leinong Naga), ], - q(4113) => [ + q(4112) => [ q(Laz), ], - q(4114) => [ + q(4113) => [ q(San Jeronimo Tecoatl Mazatec), ], - q(4115) => [ + q(4114) => [ q(Yutanduchi Mixtec), ], - q(4116) => [ + q(4115) => [ q(Bo-Rukul), ], - q(4117) => [ + q(4116) => [ q(Mafa), ], - q(4118) => [ + q(4117) => [ q(Jalapa De Diaz Mazatec), ], - q(4119) => [ + q(4118) => [ q(Mam), ], - q(4120) => [ + q(4119) => [ q(Chiquihuitlan Mazatec), ], - q(4121) => [ + q(4120) => [ q(San Francisco Matlatzinca), ], - q(4122) => [ + q(4121) => [ q(Huautla Mazatec), ], - q(4123) => [ + q(4122) => [ q(Satere-Mawe), ], - q(4124) => [ + q(4123) => [ q(Mampruli), ], - q(4125) => [ + q(4124) => [ q(North Moluccan Malay), ], - q(4126) => [ + q(4125) => [ q(Central Mazahua), ], - q(4127) => [ + q(4126) => [ q(Higaonon), ], - q(4128) => [ + q(4127) => [ q(Western Bukidnon Manobo), ], - q(4129) => [ + q(4128) => [ q(Macushi), ], - q(4130) => [ + q(4129) => [ q(Dibabawon Manobo), ], - q(4131) => [ + q(4130) => [ q(Molale), ], - q(4132) => [ + q(4131) => [ q(Baba Malay), ], - q(4133) => [ + q(4132) => [ q(Mangseng), ], - q(4134) => [ + q(4133) => [ q(Ilianen Manobo), ], - q(4135) => [ + q(4134) => [ q(Nadeb), ], - q(4136) => [ + q(4135) => [ q(Malol), ], - q(4137) => [ + q(4136) => [ q(Maxakali), ], - q(4138) => [ + q(4137) => [ q(Ombamba), ], - q(4139) => [ + q(4138) => [ q(Macaguan), ], - q(4140) => [ + q(4139) => [ q(Mbo (Cameroon)), ], - q(4141) => [ + q(4140) => [ q(Malayo), ], - q(4142) => [ + q(4141) => [ q(Maisin), ], - q(4143) => [ + q(4142) => [ q(Nukak Maku), ], - q(4144) => [ + q(4143) => [ q(Sarangani Manobo), ], - q(4145) => [ + q(4144) => [ q(Matigsalug Manobo), ], - q(4146) => [ + q(4145) => [ q(Mbula-Bwazza), ], - q(4147) => [ + q(4146) => [ q(Mbulungish), ], - q(4148) => [ + q(4147) => [ q(Maring), ], - q(4149) => [ + q(4148) => [ q(Mari (East Sepik Province)), ], - q(4150) => [ + q(4149) => [ q(Memoni), ], - q(4151) => [ + q(4150) => [ q(Amoltepec Mixtec), ], - q(4152) => [ + q(4151) => [ q(Maca), ], - q(4153) => [ + q(4152) => [ q(Machiguenga), ], - q(4154) => [ + q(4153) => [ q(Bitur), ], - q(4155) => [ + q(4154) => [ q(Sharanahua), ], - q(4156) => [ + q(4155) => [ q(Itundujia Mixtec), ], - q(4157) => [ + q(4156) => [ q(Matses), ], - q(4158) => [ + q(4157) => [ q(Mapoyo), ], - q(4159) => [ + q(4158) => [ q(Maquiritari), ], - q(4160) => [ + q(4159) => [ q(Mese), ], - q(4161) => [ + q(4160) => [ q(Mvanip), ], - q(4162) => [ + q(4161) => [ q(Mbunda), ], - q(4163) => [ + q(4162) => [ q(Macaguaje), ], - q(4164) => [ + q(4163) => [ q(Malaccan Creole Portuguese), ], - q(4165) => [ + q(4164) => [ q(Masana), ], - q(4166) => [ + q(4165) => [ q(Coatlan Mixe), ], - q(4167) => [ + q(4166) => [ q(Makaa), ], - q(4168) => [ + q(4167) => [ q(Ese), ], - q(4169) => [ + q(4168) => [ q(Menya), ], - q(4170) => [ + q(4169) => [ q(Mambai), ], - q(4171) => [ + q(4170) => [ q(Mengisa), ], - q(4172) => [ + q(4171) => [ q(Cameroon Mambila), ], - q(4173) => [ + q(4172) => [ q(Minanibai), ], - q(4174) => [ + q(4173) => [ q(Mawa (Chad)), ], - q(4175) => [ + q(4174) => [ q(Mpiemo), ], - q(4176) => [ + q(4175) => [ q(South Watut), ], - q(4177) => [ + q(4176) => [ q(Mawan), ], - q(4178) => [ + q(4177) => [ q(Mada (Nigeria)), ], - q(4179) => [ + q(4178) => [ q(Morigi), ], - q(4180) => [ + q(4179) => [ q(Male (Papua New Guinea)), ], - q(4181) => [ + q(4180) => [ q(Mbum), ], - q(4182) => [ + q(4181) => [ q(Maba (Chad)), ], - q(4183) => [ + q(4182) => [ q(Massalat), ], - q(4184) => [ + q(4183) => [ q(Maguindanaon), ], - q(4185) => [ + q(4184) => [ q(Mamvu), ], - q(4186) => [ + q(4185) => [ q(Mangbetu), ], - q(4187) => [ + q(4186) => [ q(Mangbutu), ], - q(4188) => [ + q(4187) => [ q(Maltese Sign Language), ], - q(4189) => [ + q(4188) => [ q(Mayogo), ], - q(4190) => [ + q(4189) => [ q(Mbati), ], - q(4191) => [ + q(4190) => [ q(Mbala), ], - q(4192) => [ + q(4191) => [ q(Mbole), ], - q(4193) => [ + q(4192) => [ q(Maria (Papua New Guinea)), ], - q(4194) => [ + q(4193) => [ q(Mbere), ], - q(4195) => [ + q(4194) => [ q(Mboko), ], - q(4196) => [ + q(4195) => [ q(Santa Lucia Monteverde Mixtec), ], - q(4197) => [ + q(4196) => [ q(Mbosi), ], - q(4198) => [ + q(4197) => [ q(Dizin), ], - q(4199) => [ + q(4198) => [ q(Male (Ethiopia)), ], - q(4200) => [ + q(4199) => [ q(Surui Do Para), ], - q(4201) => [ + q(4200) => [ q(Menka), ], - q(4202) => [ + q(4201) => [ q(Ikobi), ], - q(4203) => [ + q(4202) => [ q(Mara), ], - q(4204) => [ + q(4203) => [ q(Melpa), ], - q(4205) => [ + q(4204) => [ q(Mengen), ], - q(4206) => [ + q(4205) => [ q(Megam), ], - q(4207) => [ + q(4206) => [ q(Southwestern Tlaxiaco Mixtec), ], - q(4208) => [ + q(4207) => [ q(Midob), ], - q(4209) => [ + q(4208) => [ q(Meyah), ], - q(4210) => [ + q(4209) => [ q(Mekeo), ], - q(4211) => [ + q(4210) => [ q(Central Melanau), ], - q(4212) => [ + q(4211) => [ q(Mangala), ], - q(4213) => [ + q(4212) => [ q(Kedah Malay), ], - q(4214) => [ + q(4213) => [ q(Miriwung), ], - q(4215) => [ + q(4214) => [ q(Merey), ], - q(4216) => [ + q(4215) => [ q(Meru), ], - q(4217) => [ + q(4216) => [ q(Masmaje), ], - q(4218) => [ + q(4217) => [ q(Mato), ], - q(4219) => [ + q(4218) => [ q(Motu), ], - q(4220) => [ + q(4219) => [ q(Mano), ], - q(4221) => [ + q(4220) => [ q(Maaka), ], - q(4222) => [ + q(4221) => [ q(Hassaniyya), ], - q(4223) => [ + q(4222) => [ q(Menominee), ], - q(4224) => [ + q(4223) => [ q(Pattani Malay), ], - q(4225) => [ + q(4224) => [ q(Bangka), ], - q(4226) => [ + q(4225) => [ q(Mba), ], - q(4227) => [ + q(4226) => [ q(Mendankwe-Nkwen), ], - q(4228) => [ + q(4227) => [ q(Morisyen), ], - q(4229) => [ + q(4228) => [ q(Naki), ], - q(4230) => [ + q(4229) => [ q(Mogofin), ], - q(4231) => [ + q(4230) => [ q(Matal), ], - q(4232) => [ + q(4231) => [ q(Wandala), ], - q(4233) => [ + q(4232) => [ q(Mefele), ], - q(4234) => [ + q(4233) => [ q(North Mofu), ], - q(4235) => [ + q(4234) => [ q(Putai), ], - q(4236) => [ + q(4235) => [ q(Marghi South), ], - q(4237) => [ + q(4236) => [ q(Cross River Mbembe), ], - q(4238) => [ + q(4237) => [ q(Mbe), ], - q(4239) => [ + q(4238) => [ q(Makassar Malay), ], - q(4240) => [ + q(4239) => [ q(Moba), ], - q(4241) => [ + q(4240) => [ q(Marithiel), ], - q(4242) => [ + q(4241) => [ q(Mexican Sign Language), ], - q(4243) => [ + q(4242) => [ q(Mokerang), ], - q(4244) => [ + q(4243) => [ q(Mbwela), ], - q(4245) => [ + q(4244) => [ q(Mandjak), ], - q(4246) => [ + q(4245) => [ q(Mulaha), ], - q(4247) => [ + q(4246) => [ q(Melo), ], - q(4248) => [ + q(4247) => [ q(Mayo), ], - q(4249) => [ + q(4248) => [ q(Mabaan), ], - q(4250) => [ + q(4249) => [ q(Mararit), ], - q(4251) => [ + q(4250) => [ q(Morokodo), ], - q(4252) => [ + q(4251) => [ q(Moru), ], - q(4253) => [ + q(4252) => [ q(Mango), ], - q(4254) => [ + q(4253) => [ q(Maklew), ], - q(4255) => [ + q(4254) => [ q(Mpumpong), ], - q(4256) => [ + q(4255) => [ q(Makhuwa-Meetto), ], - q(4257) => [ + q(4256) => [ q(Lijili), ], - q(4258) => [ + q(4257) => [ q(Abureni), ], - q(4259) => [ + q(4258) => [ q(Mawes), ], - q(4260) => [ + q(4259) => [ q(Maleu-Kilenge), ], - q(4261) => [ + q(4260) => [ q(Mambae), ], - q(4262) => [ + q(4261) => [ q(Mbangi), ], - q(4263) => [ + q(4262) => [ q(Meta'), ], - q(4264) => [ + q(4263) => [ q(Eastern Magar), ], - q(4265) => [ + q(4264) => [ q(Malila), ], - q(4266) => [ + q(4265) => [ q(Mambwe-Lungu), ], - q(4267) => [ + q(4266) => [ q(Manda (Tanzania)), ], - q(4268) => [ + q(4267) => [ q(Mongol), ], - q(4269) => [ + q(4268) => [ q(Mailu), ], - q(4270) => [ + q(4269) => [ q(Matengo), ], - q(4271) => [ + q(4270) => [ q(Matumbi), ], - q(4272) => [ + q(4271) => [ q(Mbunga), ], - q(4273) => [ + q(4272) => [ q(Mbugwe), ], - q(4274) => [ + q(4273) => [ q(Manda (India)), ], - q(4275) => [ + q(4274) => [ q(Mahongwe), ], - q(4276) => [ + q(4275) => [ q(Mocho), ], - q(4277) => [ + q(4276) => [ q(Mbugu), ], - q(4278) => [ + q(4277) => [ q(Besisi), q(Mah Meri), ], - q(4279) => [ + q(4278) => [ q(Mamaa), ], - q(4280) => [ + q(4279) => [ q(Margu), ], - q(4281) => [ + q(4280) => [ q(Ma'di), ], - q(4282) => [ + q(4281) => [ q(Mogholi), ], - q(4283) => [ + q(4282) => [ q(Mungaka), ], - q(4284) => [ + q(4283) => [ q(Mauwake), ], - q(4285) => [ + q(4284) => [ q(Makhuwa-Moniga), ], - q(4286) => [ + q(4285) => [ q(Mocheno), ], - q(4287) => [ + q(4286) => [ q(Mashi (Zambia)), ], - q(4288) => [ + q(4287) => [ q(Balinese Malay), ], - q(4289) => [ + q(4288) => [ q(Mandan), ], - q(4290) => [ + q(4289) => [ q(Eastern Mari), ], - q(4291) => [ + q(4290) => [ q(Buru (Indonesia)), ], - q(4292) => [ + q(4291) => [ q(Mandahuaca), ], - q(4293) => [ + q(4292) => [ q(Digaro-Mishmi), q(Darang Deng), ], - q(4294) => [ + q(4293) => [ q(Mbukushu), ], - q(4295) => [ + q(4294) => [ q(Maru), q(Lhaovo), ], - q(4296) => [ + q(4295) => [ q(Ma'anyan), ], - q(4297) => [ + q(4296) => [ q(Mor (Mor Islands)), ], - q(4298) => [ + q(4297) => [ q(Miami), ], - q(4299) => [ + q(4298) => [ q(Atatlahuca Mixtec), ], - q(4300) => [ + q(4299) => [ q(Mandaic), ], - q(4301) => [ + q(4300) => [ q(Ocotepec Mixtec), ], - q(4302) => [ + q(4301) => [ q(Mofu-Gudur), ], - q(4303) => [ + q(4302) => [ q(San Miguel El Grande Mixtec), ], - q(4304) => [ + q(4303) => [ q(Chayuco Mixtec), ], - q(4305) => [ + q(4304) => [ q(Chigmecatitlan Mixtec), ], - q(4306) => [ + q(4305) => [ q(Abar), q(Mungbam), ], - q(4307) => [ + q(4306) => [ q(Mikasuki), ], - q(4308) => [ + q(4307) => [ q(Penoles Mixtec), ], - q(4309) => [ + q(4308) => [ q(Alacatlatzala Mixtec), ], - q(4310) => [ + q(4309) => [ q(Pinotepa Nacional Mixtec), ], - q(4311) => [ + q(4310) => [ q(Apasco-Apoala Mixtec), ], - q(4312) => [ + q(4311) => [ q(Miskito), ], - q(4313) => [ + q(4312) => [ q(Isthmus Mixe), ], - q(4314) => [ + q(4313) => [ q(Southern Puebla Mixtec), ], - q(4315) => [ + q(4314) => [ q(Cacaloxtepec Mixtec), ], - q(4316) => [ + q(4315) => [ q(Akoye), ], - q(4317) => [ + q(4316) => [ q(Mixtepec Mixtec), ], - q(4318) => [ + q(4317) => [ q(Ayutla Mixtec), ], - q(4319) => [ + q(4318) => [ q(Coatzospan Mixtec), ], - q(4320) => [ + q(4319) => [ q(San Juan Colorado Mixtec), ], - q(4321) => [ + q(4320) => [ q(Northwest Maidu), ], - q(4322) => [ + q(4321) => [ q(Muskum), ], - q(4323) => [ + q(4322) => [ q(Tu), ], - q(4324) => [ + q(4323) => [ q(Mwera (Nyasa)), ], - q(4325) => [ + q(4324) => [ q(Kim Mun), ], - q(4326) => [ + q(4325) => [ q(Mawak), ], - q(4327) => [ + q(4326) => [ q(Matukar), ], - q(4328) => [ + q(4327) => [ q(Mandeali), ], - q(4329) => [ + q(4328) => [ q(Medebur), ], - q(4330) => [ + q(4329) => [ q(Ma (Papua New Guinea)), ], - q(4331) => [ + q(4330) => [ q(Malankuravan), ], - q(4332) => [ + q(4331) => [ q(Malapandaram), ], - q(4333) => [ + q(4332) => [ q(Malaryan), ], - q(4334) => [ + q(4333) => [ q(Malavedan), ], - q(4335) => [ + q(4334) => [ q(Miship), ], - q(4336) => [ + q(4335) => [ q(Sauria Paharia), ], - q(4337) => [ + q(4336) => [ q(Manna-Dora), ], - q(4338) => [ + q(4337) => [ q(Mannan), ], - q(4339) => [ + q(4338) => [ q(Karbi), ], - q(4340) => [ + q(4339) => [ q(Mahali), ], - q(4341) => [ + q(4340) => [ q(Mahican), ], - q(4342) => [ + q(4341) => [ q(Majhi), ], - q(4343) => [ + q(4342) => [ q(Mbre), ], - q(4344) => [ + q(4343) => [ q(Mal Paharia), ], - q(4345) => [ + q(4344) => [ q(Siliput), ], - q(4346) => [ + q(4345) => [ q(Mawchi), ], - q(4347) => [ + q(4346) => [ q(Miya), ], - q(4348) => [ + q(4347) => [ q(Mak (China)), ], - q(4349) => [ + q(4348) => [ q(Dhatki), ], - q(4350) => [ + q(4349) => [ q(Mokilese), ], - q(4351) => [ + q(4350) => [ q(Byep), ], - q(4352) => [ + q(4351) => [ q(Mokole), ], - q(4353) => [ + q(4352) => [ q(Moklen), ], - q(4354) => [ + q(4353) => [ q(Kupang Malay), ], - q(4355) => [ + q(4354) => [ q(Mingang Doso), ], - q(4356) => [ + q(4355) => [ q(Moikodi), ], - q(4357) => [ + q(4356) => [ q(Bay Miwok), ], - q(4358) => [ + q(4357) => [ q(Malas), ], - q(4359) => [ + q(4358) => [ q(Silacayoapan Mixtec), ], - q(4360) => [ + q(4359) => [ q(Vamale), ], - q(4361) => [ + q(4360) => [ q(Konyanka Maninka), ], - q(4362) => [ + q(4361) => [ q(Mafea), ], - q(4363) => [ + q(4362) => [ q(Kituba (Congo)), ], - q(4364) => [ + q(4363) => [ q(Kinamiging Manobo), ], - q(4365) => [ + q(4364) => [ q(East Makian), ], - q(4366) => [ + q(4365) => [ q(Makasae), ], - q(4367) => [ + q(4366) => [ q(Malo), ], - q(4368) => [ + q(4367) => [ q(Mbule), ], - q(4369) => [ + q(4368) => [ q(Cao Lan), ], - q(4370) => [ + q(4369) => [ q(Manambu), ], - q(4371) => [ + q(4370) => [ q(Mal), ], - q(4372) => [ + q(4371) => [ q(Mape), ], - q(4373) => [ + q(4372) => [ q(Malimpung), ], - q(4374) => [ + q(4373) => [ q(Miltu), ], - q(4375) => [ + q(4374) => [ q(Ilwana), q(Kiwilwana), ], - q(4376) => [ + q(4375) => [ q(Malua Bay), ], - q(4377) => [ + q(4376) => [ q(Mulam), ], - q(4378) => [ + q(4377) => [ q(Malango), ], - q(4379) => [ + q(4378) => [ q(Mlomp), ], - q(4380) => [ + q(4379) => [ q(Bargam), ], - q(4381) => [ + q(4380) => [ q(Western Maninkakan), ], - q(4382) => [ + q(4381) => [ q(Vame), ], - q(4383) => [ + q(4382) => [ q(Masalit), ], - q(4384) => [ + q(4383) => [ q(To'abaita), ], - q(4385) => [ + q(4384) => [ q(Motlav), q(Mwotlap), ], - q(4386) => [ + q(4385) => [ q(Moloko), ], - q(4387) => [ + q(4386) => [ q(Malfaxal), q(Naha'ai), ], - q(4388) => [ + q(4387) => [ q(Malaynon), ], - q(4389) => [ + q(4388) => [ q(Mama), ], - q(4390) => [ + q(4389) => [ q(Momina), ], - q(4391) => [ + q(4390) => [ q(Michoacan Mazahua), ], - q(4392) => [ + q(4391) => [ q(Maonan), ], - q(4393) => [ + q(4392) => [ q(Mae), ], - q(4394) => [ + q(4393) => [ q(Mundat), ], - q(4395) => [ + q(4394) => [ q(North Ambrym), ], - q(4396) => [ + q(4395) => [ q(Mehinaku), ], - q(4397) => [ + q(4396) => [ q(Musar), ], - q(4398) => [ + q(4397) => [ q(Majhwar), ], - q(4399) => [ + q(4398) => [ q(Mukha-Dora), ], - q(4400) => [ + q(4399) => [ q(Man Met), ], - q(4401) => [ + q(4400) => [ q(Maii), ], - q(4402) => [ + q(4401) => [ q(Mamanwa), ], - q(4403) => [ + q(4402) => [ q(Mangga Buang), ], - q(4404) => [ + q(4403) => [ q(Siawi), ], - q(4405) => [ + q(4404) => [ q(Musak), ], - q(4406) => [ + q(4405) => [ q(Western Xiangxi Miao), ], - q(4407) => [ + q(4406) => [ q(Malalamai), ], - q(4408) => [ + q(4407) => [ q(Mmaala), ], - q(4409) => [ + q(4408) => [ q(Miriti), ], - q(4410) => [ + q(4409) => [ q(Emae), ], - q(4411) => [ + q(4410) => [ q(Madak), ], - q(4412) => [ + q(4411) => [ q(Migaama), ], - q(4413) => [ + q(4412) => [ q(Mabaale), ], - q(4414) => [ + q(4413) => [ q(Mbula), ], - q(4415) => [ + q(4414) => [ q(Muna), ], - q(4416) => [ + q(4415) => [ q(Monde), ], - q(4417) => [ + q(4416) => [ q(Naba), ], - q(4418) => [ + q(4417) => [ q(Mundani), ], - q(4419) => [ + q(4418) => [ q(Eastern Mnong), ], - q(4420) => [ + q(4419) => [ q(Mono (Democratic Republic of Congo)), ], - q(4421) => [ + q(4420) => [ q(Munji), ], - q(4422) => [ + q(4421) => [ q(Mandinka), ], - q(4423) => [ + q(4422) => [ q(Tiale), ], - q(4424) => [ + q(4423) => [ q(Mapena), ], - q(4425) => [ + q(4424) => [ q(Southern Mnong), ], - q(4426) => [ + q(4425) => [ q(Min Bei Chinese), ], - q(4427) => [ + q(4426) => [ q(Minriq), ], - q(4428) => [ + q(4427) => [ q(Mono (USA)), ], - q(4429) => [ + q(4428) => [ q(Mansi), ], - q(4430) => [ + q(4429) => [ q(Mer), ], - q(4431) => [ + q(4430) => [ q(Rennell-Bellona), ], - q(4432) => [ + q(4431) => [ q(Mon), ], - q(4433) => [ + q(4432) => [ q(Manikion), ], - q(4434) => [ + q(4433) => [ q(Manyawa), ], - q(4435) => [ + q(4434) => [ q(Moni), ], - q(4436) => [ + q(4435) => [ q(Mwan), ], - q(4437) => [ + q(4436) => [ q(Mocovi), ], - q(4438) => [ + q(4437) => [ q(Mobilian), ], - q(4439) => [ + q(4438) => [ q(Montagnais), ], - q(4440) => [ + q(4439) => [ q(Mongondow), ], - q(4441) => [ + q(4440) => [ q(Mboi), ], - q(4442) => [ + q(4441) => [ q(Monzombo), ], - q(4443) => [ + q(4442) => [ q(Morori), ], - q(4444) => [ + q(4443) => [ q(Mangue), ], - q(4445) => [ + q(4444) => [ q(Monom), ], - q(4446) => [ + q(4445) => [ q(Mopan Maya), ], - q(4447) => [ + q(4446) => [ q(Mor (Bomberai Peninsula)), ], - q(4448) => [ + q(4447) => [ q(Moro), ], - q(4449) => [ + q(4448) => [ q(Mogum), ], - q(4450) => [ + q(4449) => [ q(Mohave), ], - q(4451) => [ + q(4450) => [ q(Moi (Congo)), ], - q(4452) => [ + q(4451) => [ q(Molima), ], - q(4453) => [ + q(4452) => [ q(Shekkacho), ], - q(4454) => [ + q(4453) => [ q(Mukulu), q(Gergiko), ], - q(4455) => [ + q(4454) => [ q(Mpoto), ], - q(4456) => [ + q(4455) => [ q(Mullukmulluk), ], - q(4457) => [ + q(4456) => [ q(Mangarayi), ], - q(4458) => [ + q(4457) => [ q(Machinere), ], - q(4459) => [ + q(4458) => [ q(Majang), ], - q(4460) => [ + q(4459) => [ q(Marba), ], - q(4461) => [ + q(4460) => [ q(Maung), ], - q(4462) => [ + q(4461) => [ q(Mpade), ], - q(4463) => [ + q(4462) => [ q(Martu Wangka), ], - q(4464) => [ + q(4463) => [ q(Mbara (Chad)), ], - q(4465) => [ + q(4464) => [ q(Middle Watut), ], - q(4466) => [ + q(4465) => [ q(Yosondua Mixtec), ], - q(4467) => [ + q(4466) => [ q(Mindiri), ], - q(4468) => [ + q(4467) => [ q(Miu), ], - q(4469) => [ + q(4468) => [ q(Migabac), ], - q(4470) => [ + q(4469) => [ q(Matis), ], - q(4471) => [ + q(4470) => [ q(Vangunu), ], - q(4472) => [ + q(4471) => [ q(Dadibi), ], - q(4473) => [ + q(4472) => [ q(Mian), ], - q(4474) => [ + q(4473) => [ q(Makurap), ], - q(4475) => [ + q(4474) => [ q(Mungkip), ], - q(4476) => [ + q(4475) => [ q(Mapidian), ], - q(4477) => [ + q(4476) => [ q(Misima-Panaeati), ], - q(4478) => [ + q(4477) => [ q(Mapia), ], - q(4479) => [ + q(4478) => [ q(Mpi), ], - q(4480) => [ + q(4479) => [ q(Maba (Indonesia)), ], - q(4481) => [ + q(4480) => [ q(Mbuko), ], - q(4482) => [ + q(4481) => [ q(Mangole), ], - q(4483) => [ + q(4482) => [ q(Matepi), ], - q(4484) => [ + q(4483) => [ q(Momuna), ], - q(4485) => [ + q(4484) => [ q(Kota Bangun Kutai Malay), ], - q(4486) => [ + q(4485) => [ q(Tlazoyaltepec Mixtec), ], - q(4487) => [ + q(4486) => [ q(Mariri), ], - q(4488) => [ + q(4487) => [ q(Mamasa), ], - q(4489) => [ + q(4488) => [ q(Rajah Kabunsuwan Manobo), ], - q(4490) => [ + q(4489) => [ q(Mbelime), ], - q(4491) => [ + q(4490) => [ q(South Marquesan), ], - q(4492) => [ + q(4491) => [ q(Moronene), ], - q(4493) => [ + q(4492) => [ q(Modole), ], - q(4494) => [ + q(4493) => [ q(Manipa), ], - q(4495) => [ + q(4494) => [ q(Minokok), ], - q(4496) => [ + q(4495) => [ q(Mander), ], - q(4497) => [ + q(4496) => [ q(West Makian), ], - q(4498) => [ + q(4497) => [ q(Mok), ], - q(4499) => [ + q(4498) => [ q(Mandari), ], - q(4500) => [ + q(4499) => [ q(Mosimo), ], - q(4501) => [ + q(4500) => [ q(Murupi), ], - q(4502) => [ + q(4501) => [ q(Mamuju), ], - q(4503) => [ + q(4502) => [ q(Manggarai), ], - q(4504) => [ + q(4503) => [ q(Pano), ], - q(4505) => [ + q(4504) => [ q(Mlabri), ], - q(4506) => [ + q(4505) => [ q(Marino), ], - q(4507) => [ + q(4506) => [ q(Maricopa), ], - q(4508) => [ + q(4507) => [ q(Western Magar), ], - q(4509) => [ + q(4508) => [ q(Martha's Vineyard Sign Language), ], - q(4510) => [ + q(4509) => [ q(Elseng), ], - q(4511) => [ + q(4510) => [ q(Mising), ], - q(4512) => [ + q(4511) => [ q(Mara Chin), ], - q(4513) => [ + q(4512) => [ q(Western Mari), ], - q(4514) => [ + q(4513) => [ q(Hmwaveke), ], - q(4515) => [ + q(4514) => [ q(Mortlockese), ], - q(4516) => [ + q(4515) => [ q(Merlav), q(Mwerlap), ], - q(4517) => [ + q(4516) => [ q(Cheke Holo), ], - q(4518) => [ + q(4517) => [ q(Mru), ], - q(4519) => [ + q(4518) => [ q(Morouas), ], - q(4520) => [ + q(4519) => [ q(North Marquesan), ], - q(4521) => [ + q(4520) => [ q(Maria (India)), ], - q(4522) => [ + q(4521) => [ q(Maragus), ], - q(4523) => [ + q(4522) => [ q(Marghi Central), ], - q(4524) => [ + q(4523) => [ q(Mono (Cameroon)), ], - q(4525) => [ + q(4524) => [ q(Mangareva), ], - q(4526) => [ + q(4525) => [ q(Maranao), ], - q(4527) => [ + q(4526) => [ q(Maremgi), q(Dineor), ], - q(4528) => [ + q(4527) => [ q(Mandaya), ], - q(4529) => [ + q(4528) => [ q(Marind), ], - q(4530) => [ + q(4529) => [ q(Masbatenyo), ], - q(4531) => [ + q(4530) => [ q(Sankaran Maninka), ], - q(4532) => [ + q(4531) => [ q(Yucatec Maya Sign Language), ], - q(4533) => [ + q(4532) => [ q(Musey), ], - q(4534) => [ + q(4533) => [ q(Mekwei), ], - q(4535) => [ + q(4534) => [ q(Moraid), ], - q(4536) => [ + q(4535) => [ q(Masikoro Malagasy), ], - q(4537) => [ + q(4536) => [ q(Sabah Malay), ], - q(4538) => [ + q(4537) => [ q(Ma (Democratic Republic of Congo)), ], - q(4539) => [ + q(4538) => [ q(Mansaka), ], - q(4540) => [ + q(4539) => [ q(Molof), q(Poule), ], - q(4541) => [ + q(4540) => [ q(Agusan Manobo), ], - q(4542) => [ + q(4541) => [ q(Vures), ], - q(4543) => [ + q(4542) => [ q(Mombum), ], - q(4544) => [ + q(4543) => [ q(Maritsaua), ], - q(4545) => [ + q(4544) => [ q(Caac), ], - q(4546) => [ + q(4545) => [ q(Mongolian Sign Language), ], - q(4547) => [ + q(4546) => [ q(West Masela), ], - q(4548) => [ + q(4547) => [ q(Musom), ], - q(4549) => [ + q(4548) => [ q(Maslam), ], - q(4550) => [ + q(4549) => [ q(Mansoanka), ], - q(4551) => [ + q(4550) => [ q(Moresada), ], - q(4552) => [ + q(4551) => [ q(Aruamu), ], - q(4553) => [ + q(4552) => [ q(Momare), ], - q(4554) => [ + q(4553) => [ q(Cotabato Manobo), ], - q(4555) => [ + q(4554) => [ q(Anyin Morofo), ], - q(4556) => [ + q(4555) => [ q(Munit), ], - q(4557) => [ + q(4556) => [ q(Mualang), ], - q(4558) => [ + q(4557) => [ q(Mono (Solomon Islands)), ], - q(4559) => [ + q(4558) => [ q(Murik (Papua New Guinea)), ], - q(4560) => [ + q(4559) => [ q(Una), ], - q(4561) => [ + q(4560) => [ q(Munggui), ], - q(4562) => [ + q(4561) => [ q(Maiwa (Papua New Guinea)), ], - q(4563) => [ + q(4562) => [ q(Moskona), ], - q(4564) => [ + q(4563) => [ q(Mbe'), ], - q(4565) => [ + q(4564) => [ q(Montol), ], - q(4566) => [ + q(4565) => [ q(Mator), ], - q(4567) => [ + q(4566) => [ q(Matagalpa), ], - q(4568) => [ + q(4567) => [ q(Totontepec Mixe), ], - q(4569) => [ + q(4568) => [ q(Wichi Lhamtes Nocten), ], - q(4570) => [ + q(4569) => [ q(Muong), ], - q(4571) => [ + q(4570) => [ q(Mewari), ], - q(4572) => [ + q(4571) => [ q(Yora), ], - q(4573) => [ + q(4572) => [ q(Mota), ], - q(4574) => [ + q(4573) => [ q(Tututepec Mixtec), ], - q(4575) => [ + q(4574) => [ q(Asaro'o), ], - q(4576) => [ + q(4575) => [ q(Southern Binukidnon), ], - q(4577) => [ + q(4576) => [ q(Tidaa Mixtec), ], - q(4578) => [ + q(4577) => [ q(Nabi), ], - q(4579) => [ + q(4578) => [ q(Mundang), ], - q(4580) => [ + q(4579) => [ q(Mubi), ], - q(4581) => [ + q(4580) => [ q(Ajumbu), ], - q(4582) => [ + q(4581) => [ q(Mednyj Aleut), ], - q(4583) => [ + q(4582) => [ q(Media Lengua), ], - q(4584) => [ + q(4583) => [ q(Musgu), ], - q(4585) => [ + q(4584) => [ q(Mundu), ], - q(4586) => [ + q(4585) => [ q(Musi), ], - q(4587) => [ + q(4586) => [ q(Mabire), ], - q(4588) => [ + q(4587) => [ q(Mugom), ], - q(4589) => [ + q(4588) => [ q(Maiwala), ], - q(4590) => [ + q(4589) => [ q(Nyong), ], - q(4591) => [ + q(4590) => [ q(Malvi), ], - q(4592) => [ + q(4591) => [ q(Eastern Xiangxi Miao), ], - q(4593) => [ + q(4592) => [ q(Murle), ], - q(4594) => [ + q(4593) => [ q(Western Muria), ], - q(4595) => [ + q(4594) => [ q(Yaaku), ], - q(4596) => [ + q(4595) => [ q(Muthuvan), ], - q(4597) => [ + q(4596) => [ q(Bo-Ung), ], - q(4598) => [ + q(4597) => [ q(Muyang), ], - q(4599) => [ + q(4598) => [ q(Mursi), ], - q(4600) => [ + q(4599) => [ q(Manam), ], - q(4601) => [ + q(4600) => [ q(Mattole), ], - q(4602) => [ + q(4601) => [ q(Mamboru), ], - q(4603) => [ + q(4602) => [ q(Marwari (Pakistan)), ], - q(4604) => [ + q(4603) => [ q(Peripheral Mongolian), ], - q(4605) => [ + q(4604) => [ q(Yucuane Mixtec), ], - q(4606) => [ + q(4605) => [ q(Mulgi), ], - q(4607) => [ + q(4606) => [ q(Miyako), ], - q(4608) => [ + q(4607) => [ q(Mekmek), ], - q(4609) => [ + q(4608) => [ q(Mbara (Australia)), ], - q(4610) => [ + q(4609) => [ q(Muya), ], - q(4611) => [ + q(4610) => [ q(Minaveha), ], - q(4612) => [ + q(4611) => [ q(Marovo), ], - q(4613) => [ + q(4612) => [ q(Duri), ], - q(4614) => [ + q(4613) => [ q(Moere), ], - q(4615) => [ + q(4614) => [ q(Marau), ], - q(4616) => [ + q(4615) => [ q(Massep), ], - q(4617) => [ + q(4616) => [ q(Mpotovoro), ], - q(4618) => [ + q(4617) => [ q(Marfa), ], - q(4619) => [ + q(4618) => [ q(Tagal Murut), ], - q(4620) => [ + q(4619) => [ q(Machinga), ], - q(4621) => [ + q(4620) => [ q(Meoswar), ], - q(4622) => [ + q(4621) => [ q(Indus Kohistani), ], - q(4623) => [ + q(4622) => [ q(Mesqan), ], - q(4624) => [ + q(4623) => [ q(Mwatebu), ], - q(4625) => [ + q(4624) => [ q(Juwal), ], - q(4626) => [ + q(4625) => [ q(Are), ], - q(4627) => [ + q(4626) => [ q(Mwera (Chimwera)), ], - q(4628) => [ + q(4627) => [ q(Murrinh-Patha), ], - q(4629) => [ + q(4628) => [ q(Aiklep), ], - q(4630) => [ + q(4629) => [ q(Mouk-Aria), ], - q(4631) => [ + q(4630) => [ q(Labo), q(Ninde), ], - q(4632) => [ + q(4631) => [ q(Kita Maninkakan), ], - q(4633) => [ + q(4632) => [ q(Sar), ], - q(4634) => [ + q(4633) => [ q(Nyamwanga), ], - q(4635) => [ + q(4634) => [ q(Central Maewo), ], - q(4636) => [ + q(4635) => [ q(Kala Lagaw Ya), ], - q(4637) => [ + q(4636) => [ q(Mun Chin), ], - q(4638) => [ + q(4637) => [ q(Mwimbi-Muthambi), ], - q(4639) => [ + q(4638) => [ q(Moken), ], - q(4640) => [ + q(4639) => [ q(Mittu), ], - q(4641) => [ + q(4640) => [ q(Mentawai), ], - q(4642) => [ + q(4641) => [ q(Hmong Daw), ], - q(4643) => [ + q(4642) => [ q(Mediak), ], - q(4644) => [ + q(4643) => [ q(Mosiro), ], - q(4645) => [ + q(4644) => [ q(Moingi), ], - q(4646) => [ + q(4645) => [ q(Northwest Oaxaca Mixtec), ], - q(4647) => [ + q(4646) => [ q(Tezoatlan Mixtec), ], - q(4648) => [ + q(4647) => [ q(Manyika), ], - q(4649) => [ + q(4648) => [ q(Modang), ], - q(4650) => [ + q(4649) => [ q(Mele-Fila), ], - q(4651) => [ + q(4650) => [ q(Malgbe), ], - q(4652) => [ + q(4651) => [ q(Mbangala), ], - q(4653) => [ + q(4652) => [ q(Mvuba), ], - q(4654) => [ + q(4653) => [ q(Mozarabic), ], - q(4655) => [ + q(4654) => [ q(Miju-Mishmi), q(Geman Deng), ], - q(4656) => [ + q(4655) => [ q(Monumbo), ], - q(4657) => [ + q(4656) => [ q(Maxi Gbe), ], - q(4658) => [ + q(4657) => [ q(Meramera), ], - q(4659) => [ + q(4658) => [ q(Moi (Indonesia)), ], - q(4660) => [ + q(4659) => [ q(Mbowe), ], - q(4661) => [ + q(4660) => [ q(Tlahuitoltepec Mixe), ], - q(4662) => [ + q(4661) => [ q(Juquila Mixe), ], - q(4663) => [ + q(4662) => [ q(Murik (Malaysia)), ], - q(4664) => [ + q(4663) => [ q(Huitepec Mixtec), ], - q(4665) => [ + q(4664) => [ q(Jamiltepec Mixtec), ], - q(4666) => [ + q(4665) => [ q(Mada (Cameroon)), ], - q(4667) => [ + q(4666) => [ q(Metlatonoc Mixtec), ], - q(4668) => [ + q(4667) => [ q(Namo), ], - q(4669) => [ + q(4668) => [ q(Mahou), q(Mawukakan), ], - q(4670) => [ + q(4669) => [ q(Southeastern Nochixtlan Mixtec), ], - q(4671) => [ + q(4670) => [ q(Central Masela), ], - q(4672) => [ + q(4671) => [ q(Mbay), ], - q(4673) => [ + q(4672) => [ q(Mayeka), ], - q(4674) => [ + q(4673) => [ q(Maramba), ], - q(4675) => [ + q(4674) => [ q(Myene), ], - q(4676) => [ + q(4675) => [ q(Bambassi), ], - q(4677) => [ + q(4676) => [ q(Manta), ], - q(4678) => [ + q(4677) => [ q(Makah), ], - q(4679) => [ + q(4678) => [ q(Mina (India)), ], - q(4680) => [ + q(4679) => [ q(Mangayat), ], - q(4681) => [ + q(4680) => [ q(Mamara Senoufo), ], - q(4682) => [ + q(4681) => [ q(Moma), ], - q(4683) => [ + q(4682) => [ q(Me'en), ], - q(4684) => [ + q(4683) => [ q(Anfillo), ], - q(4685) => [ + q(4684) => [ q(Piraha), ], - q(4686) => [ + q(4685) => [ q(Muniche), ], - q(4687) => [ + q(4686) => [ q(Mesmes), ], - q(4688) => [ + q(4687) => [ q(Munduruku), ], - q(4689) => [ + q(4688) => [ q(Muyuw), ], - q(4690) => [ + q(4689) => [ q(Masaaba), ], - q(4691) => [ + q(4690) => [ q(Macuna), ], - q(4692) => [ + q(4691) => [ q(Classical Mandaic), ], - q(4693) => [ + q(4692) => [ q(Santa Maria Zacatepec Mixtec), ], - q(4694) => [ + q(4693) => [ q(Tumzabt), ], - q(4695) => [ + q(4694) => [ q(Madagascar Sign Language), ], - q(4696) => [ + q(4695) => [ q(Malimba), ], - q(4697) => [ + q(4696) => [ q(Morawa), ], - q(4698) => [ + q(4697) => [ q(Monastic Sign Language), ], - q(4699) => [ + q(4698) => [ q(Wichi Lhamtes Guisnay), ], - q(4700) => [ + q(4699) => [ q(Ixcatlan Mazatec), ], - q(4701) => [ + q(4700) => [ q(Manya), ], - q(4702) => [ + q(4701) => [ q(Nigeria Mambila), ], - q(4703) => [ + q(4702) => [ q(Mazatlan Mixe), ], - q(4704) => [ + q(4703) => [ q(Mumuye), ], - q(4705) => [ + q(4704) => [ q(Mazanderani), ], - q(4706) => [ + q(4705) => [ q(Matipuhy), ], - q(4707) => [ + q(4706) => [ q(Movima), ], - q(4708) => [ + q(4707) => [ q(Mori Atas), ], - q(4709) => [ + q(4708) => [ q(Marubo), ], - q(4710) => [ + q(4709) => [ q(Macanese), ], - q(4711) => [ + q(4710) => [ q(Mintil), ], - q(4712) => [ + q(4711) => [ q(Inapang), ], - q(4713) => [ + q(4712) => [ q(Manza), ], - q(4714) => [ + q(4713) => [ q(Deg), ], - q(4715) => [ + q(4714) => [ q(Mawayana), ], - q(4716) => [ + q(4715) => [ q(Mozambican Sign Language), ], - q(4717) => [ + q(4716) => [ q(Maiadomu), ], - q(4718) => [ + q(4717) => [ q(Namla), ], - q(4719) => [ + q(4718) => [ q(Southern Nambikuara), ], - q(4720) => [ + q(4719) => [ q(Narak), ], - q(4721) => [ + q(4720) => [ q(Nijadali), ], - q(4722) => [ + q(4721) => [ q(Naka'ela), ], - q(4723) => [ + q(4722) => [ q(Nabak), ], - q(4724) => [ + q(4723) => [ q(Naga Pidgin), ], - q(4725) => [ + q(4724) => [ q(Nalu), ], - q(4726) => [ + q(4725) => [ q(Nakanai), ], - q(4727) => [ + q(4726) => [ q(Nalik), ], - q(4728) => [ + q(4727) => [ q(Ngan'gityemerri), ], - q(4729) => [ + q(4728) => [ q(Min Nan Chinese), ], - q(4730) => [ + q(4729) => [ q(Naaba), ], - q(4731) => [ + q(4730) => [ q(Khoekhoe), q(Nama (Namibia)), ], - q(4732) => [ + q(4731) => [ q(Iguta), ], - q(4733) => [ + q(4732) => [ q(Naasioi), ], - q(4734) => [ + q(4733) => [ q(Cahungwarya), q(Hungworo), ], - q(4735) => [ + q(4734) => [ q(Nawuri), ], - q(4736) => [ + q(4735) => [ q(Nakwi), ], - q(4737) => [ + q(4736) => [ q(Narrinyeri), ], - q(4738) => [ + q(4737) => [ q(Coatepec Nahuatl), ], - q(4739) => [ + q(4738) => [ q(Nyemba), ], - q(4740) => [ + q(4739) => [ q(Ndoe), ], - q(4741) => [ + q(4740) => [ q(Chang Naga), ], - q(4742) => [ + q(4741) => [ q(Ngbinda), ], - q(4743) => [ + q(4742) => [ q(Konyak Naga), ], - q(4744) => [ + q(4743) => [ q(Nagarchal), ], - q(4745) => [ + q(4744) => [ q(Ngamo), ], - q(4746) => [ + q(4745) => [ q(Mao Naga), ], - q(4747) => [ + q(4746) => [ q(Ngarinman), ], - q(4748) => [ + q(4747) => [ q(Nake), ], - q(4749) => [ + q(4748) => [ q(Ngbaka Ma'bo), ], - q(4750) => [ + q(4749) => [ q(Kuri), ], - q(4751) => [ + q(4750) => [ q(Nkukoli), ], - q(4752) => [ + q(4751) => [ q(Nnam), ], - q(4753) => [ + q(4752) => [ q(Nggem), ], - q(4754) => [ + q(4753) => [ q(Numana-Nunku-Gbantu-Numbu), ], - q(4755) => [ + q(4754) => [ q(Namibian Sign Language), ], - q(4756) => [ + q(4755) => [ q(Na), ], - q(4757) => [ + q(4756) => [ q(Rongmei Naga), ], - q(4758) => [ + q(4757) => [ q(Ngamambo), ], - q(4759) => [ + q(4758) => [ q(Southern Ngbandi), ], - q(4760) => [ + q(4759) => [ q(Ningera), ], - q(4761) => [ + q(4760) => [ q(Iyo), ], - q(4762) => [ + q(4761) => [ q(Central Nicobarese), ], - q(4763) => [ + q(4762) => [ q(Ponam), ], - q(4764) => [ + q(4763) => [ q(Nachering), ], - q(4765) => [ + q(4764) => [ q(Yale), ], - q(4766) => [ + q(4765) => [ q(Notsi), ], - q(4767) => [ + q(4766) => [ q(Nisga'a), ], - q(4768) => [ + q(4767) => [ q(Central Huasteca Nahuatl), ], - q(4769) => [ + q(4768) => [ q(Classical Nahuatl), ], - q(4770) => [ + q(4769) => [ q(Northern Puebla Nahuatl), ], - q(4771) => [ + q(4770) => [ q(Nakara), ], - q(4772) => [ + q(4771) => [ q(Michoacan Nahuatl), ], - q(4773) => [ + q(4772) => [ q(Nambo), ], - q(4774) => [ + q(4773) => [ q(Nauna), ], - q(4775) => [ + q(4774) => [ q(Sibe), ], - q(4776) => [ + q(4775) => [ q(Ndaktup), ], - q(4777) => [ + q(4776) => [ q(Ncane), ], - q(4778) => [ + q(4777) => [ q(Nicaraguan Sign Language), ], - q(4779) => [ + q(4778) => [ q(Chothe Naga), ], - q(4780) => [ + q(4779) => [ q(Chumburung), ], - q(4781) => [ + q(4780) => [ q(Central Puebla Nahuatl), ], - q(4782) => [ + q(4781) => [ q(Natchez), ], - q(4783) => [ + q(4782) => [ q(Ndasa), ], - q(4784) => [ + q(4783) => [ q(Kenswei Nsei), ], - q(4785) => [ + q(4784) => [ q(Ndau), ], - q(4786) => [ + q(4785) => [ q(Nde-Nsele-Nta), ], - q(4787) => [ + q(4786) => [ q(Nadruvian), ], - q(4788) => [ + q(4787) => [ q(Ndengereko), ], - q(4789) => [ + q(4788) => [ q(Ndali), ], - q(4790) => [ + q(4789) => [ q(Samba Leko), ], - q(4791) => [ + q(4790) => [ q(Ndamba), ], - q(4792) => [ + q(4791) => [ q(Ndaka), ], - q(4793) => [ + q(4792) => [ q(Ndolo), ], - q(4794) => [ + q(4793) => [ q(Ndam), ], - q(4795) => [ + q(4794) => [ q(Ngundi), ], - q(4796) => [ + q(4795) => [ q(Ndo), ], - q(4797) => [ + q(4796) => [ q(Ndombe), ], - q(4798) => [ + q(4797) => [ q(Ndoola), ], - q(4799) => [ + q(4798) => [ q(Ndunga), ], - q(4800) => [ + q(4799) => [ q(Dugun), ], - q(4801) => [ + q(4800) => [ q(Ndut), ], - q(4802) => [ + q(4801) => [ q(Ndobo), ], - q(4803) => [ + q(4802) => [ q(Nduga), ], - q(4804) => [ + q(4803) => [ q(Lutos), ], - q(4805) => [ + q(4804) => [ q(Ndogo), ], - q(4806) => [ + q(4805) => [ q(Eastern Ngad'a), ], - q(4807) => [ + q(4806) => [ q(Toura (Cote d'Ivoire)), ], - q(4808) => [ + q(4807) => [ q(Nedebang), ], - q(4809) => [ + q(4808) => [ q(Nde-Gbite), ], - q(4810) => [ + q(4809) => [ q(Nelemwa-Nixumwak), ], - q(4811) => [ + q(4810) => [ q(Nefamese), ], - q(4812) => [ + q(4811) => [ q(Negidal), ], - q(4813) => [ + q(4812) => [ q(Nyenkha), ], - q(4814) => [ + q(4813) => [ q(Neo-Hittite), ], - q(4815) => [ + q(4814) => [ q(Neko), ], - q(4816) => [ + q(4815) => [ q(Neku), ], - q(4817) => [ + q(4816) => [ q(Nemi), ], - q(4818) => [ + q(4817) => [ q(Nengone), ], - q(4819) => [ + q(4818) => [ q(Na-Meo), ], - q(4820) => [ + q(4819) => [ q(North Central Mixe), ], - q(4821) => [ + q(4820) => [ q(Yahadian), ], - q(4822) => [ + q(4821) => [ q(Bhoti Kinnauri), ], - q(4823) => [ + q(4822) => [ q(Nete), ], - q(4824) => [ + q(4823) => [ q(Neo), ], - q(4825) => [ + q(4824) => [ q(Nyaheun), ], - q(4826) => [ + q(4825) => [ q(Neme), ], - q(4827) => [ + q(4826) => [ q(Neyo), ], - q(4828) => [ + q(4827) => [ q(Nez Perce), ], - q(4829) => [ + q(4828) => [ q(Dhao), ], - q(4830) => [ + q(4829) => [ q(Ahwai), ], - q(4831) => [ + q(4830) => [ q(Ayiwo), q(Aiwoo), ], - q(4832) => [ + q(4831) => [ q(Nafaanra), ], - q(4833) => [ + q(4832) => [ q(Mfumte), ], - q(4834) => [ + q(4833) => [ q(Ngbaka), ], - q(4835) => [ + q(4834) => [ q(Northern Ngbandi), ], - q(4836) => [ + q(4835) => [ q(Ngombe (Democratic Republic of Congo)), ], - q(4837) => [ + q(4836) => [ q(Ngando (Central African Republic)), ], - q(4838) => [ + q(4837) => [ q(Ngemba), ], - q(4839) => [ + q(4838) => [ q(Ngbaka Manza), ], - q(4840) => [ + q(4839) => [ q(N/u), + q(Nu), ], - q(4841) => [ + q(4840) => [ q(Ngizim), ], - q(4842) => [ + q(4841) => [ q(Ngie), ], - q(4843) => [ + q(4842) => [ q(Dalabon), ], - q(4844) => [ + q(4843) => [ q(Lomwe), ], - q(4845) => [ + q(4844) => [ q(Ngatik Men's Creole), ], - q(4846) => [ + q(4845) => [ q(Ngwo), ], - q(4847) => [ + q(4846) => [ q(Ngoni), ], - q(4848) => [ + q(4847) => [ q(Ngulu), ], - q(4849) => [ + q(4848) => [ q(Ngurimi), q(Ngoreme), ], - q(4850) => [ + q(4849) => [ q(Engdewu), ], - q(4851) => [ + q(4850) => [ q(Gvoko), ], - q(4852) => [ + q(4851) => [ q(Ngeq), ], - q(4853) => [ + q(4852) => [ q(Guerrero Nahuatl), ], - q(4854) => [ + q(4853) => [ q(Nagumi), ], - q(4855) => [ + q(4854) => [ q(Ngwaba), ], - q(4856) => [ + q(4855) => [ q(Nggwahyi), ], - q(4857) => [ + q(4856) => [ q(Tibea), ], - q(4858) => [ + q(4857) => [ q(Ngungwel), ], - q(4859) => [ + q(4858) => [ q(Nhanda), ], - q(4860) => [ + q(4859) => [ q(Beng), ], - q(4861) => [ + q(4860) => [ q(Tabasco Nahuatl), ], - q(4862) => [ + q(4861) => [ q(Chiripa), q(Ava Guarani), ], - q(4863) => [ + q(4862) => [ q(Eastern Huasteca Nahuatl), ], - q(4864) => [ + q(4863) => [ q(Nhuwala), ], - q(4865) => [ + q(4864) => [ q(Tetelcingo Nahuatl), ], - q(4866) => [ + q(4865) => [ q(Nahari), ], - q(4867) => [ + q(4866) => [ q(Zacatlan-Ahuacatlan-Tepetzintla Nahuatl), ], - q(4868) => [ + q(4867) => [ q(Isthmus-Cosoleacaque Nahuatl), ], - q(4869) => [ + q(4868) => [ q(Morelos Nahuatl), ], - q(4870) => [ + q(4869) => [ q(Central Nahuatl), ], - q(4871) => [ + q(4870) => [ q(Takuu), ], - q(4872) => [ + q(4871) => [ q(Isthmus-Pajapan Nahuatl), ], - q(4873) => [ + q(4872) => [ q(Huaxcaleca Nahuatl), ], - q(4874) => [ + q(4873) => [ q(Naro), ], - q(4875) => [ + q(4874) => [ q(Ometepec Nahuatl), ], - q(4876) => [ + q(4875) => [ q(Noone), ], - q(4877) => [ + q(4876) => [ q(Temascaltepec Nahuatl), ], - q(4878) => [ + q(4877) => [ q(Western Huasteca Nahuatl), ], - q(4879) => [ + q(4878) => [ q(Isthmus-Mecayapan Nahuatl), ], - q(4880) => [ + q(4879) => [ q(Northern Oaxaca Nahuatl), ], - q(4881) => [ + q(4880) => [ q(Santa Maria La Alta Nahuatl), ], - q(4882) => [ + q(4881) => [ q(Nakame), ], - q(4883) => [ + q(4882) => [ q(Ngandi), ], - q(4884) => [ + q(4883) => [ q(Niellim), ], - q(4885) => [ + q(4884) => [ q(Nek), ], - q(4886) => [ + q(4885) => [ q(Ngalakan), ], - q(4887) => [ + q(4886) => [ q(Nyiha (Tanzania)), ], - q(4888) => [ + q(4887) => [ q(Nii), ], - q(4889) => [ + q(4888) => [ q(Ngaju), ], - q(4890) => [ + q(4889) => [ q(Southern Nicobarese), ], - q(4891) => [ + q(4890) => [ q(Nila), ], - q(4892) => [ + q(4891) => [ q(Nilamba), ], - q(4893) => [ + q(4892) => [ q(Ninzo), ], - q(4894) => [ + q(4893) => [ q(Nganasan), ], - q(4895) => [ + q(4894) => [ q(Nandi), ], - q(4896) => [ + q(4895) => [ q(Nimboran), ], - q(4897) => [ + q(4896) => [ q(Nimi), ], - q(4898) => [ + q(4897) => [ q(Southeastern Kolami), ], - q(4899) => [ + q(4898) => [ q(Gilyak), ], - q(4900) => [ + q(4899) => [ q(Nimo), ], - q(4901) => [ + q(4900) => [ q(Hema), ], - q(4902) => [ + q(4901) => [ q(Ngiti), ], - q(4903) => [ + q(4902) => [ q(Ningil), ], - q(4904) => [ + q(4903) => [ q(Nzanyi), ], - q(4905) => [ + q(4904) => [ q(Nocte Naga), ], - q(4906) => [ + q(4905) => [ q(Ndonde Hamba), ], - q(4907) => [ + q(4906) => [ q(Lotha Naga), ], - q(4908) => [ + q(4907) => [ q(Gudanji), ], - q(4909) => [ + q(4908) => [ q(Njen), ], - q(4910) => [ + q(4909) => [ q(Njalgulgule), ], - q(4911) => [ + q(4910) => [ q(Angami Naga), ], - q(4912) => [ + q(4911) => [ q(Liangmai Naga), ], - q(4913) => [ + q(4912) => [ q(Ao Naga), ], - q(4914) => [ + q(4913) => [ q(Njerep), ], - q(4915) => [ + q(4914) => [ q(Nisa), ], - q(4916) => [ + q(4915) => [ q(Ndyuka-Trio Pidgin), ], - q(4917) => [ + q(4916) => [ q(Ngadjunmaya), ], - q(4918) => [ + q(4917) => [ q(Kunyi), ], - q(4919) => [ + q(4918) => [ q(Njyem), ], - q(4920) => [ + q(4919) => [ q(Nyishi), ], - q(4921) => [ + q(4920) => [ q(Nkoya), ], - q(4922) => [ + q(4921) => [ q(Khoibu Naga), ], - q(4923) => [ + q(4922) => [ q(Nkongho), ], - q(4924) => [ + q(4923) => [ q(Koireng), ], - q(4925) => [ + q(4924) => [ q(Duke), ], - q(4926) => [ + q(4925) => [ q(Inpui Naga), ], - q(4927) => [ + q(4926) => [ q(Nekgini), ], - q(4928) => [ + q(4927) => [ q(Khezha Naga), ], - q(4929) => [ + q(4928) => [ q(Thangal Naga), ], - q(4930) => [ + q(4929) => [ q(Nakai), ], - q(4931) => [ + q(4930) => [ q(Nokuku), ], - q(4932) => [ + q(4931) => [ q(Namat), ], - q(4933) => [ + q(4932) => [ q(Nkangala), ], - q(4934) => [ + q(4933) => [ q(Nkonya), ], - q(4935) => [ + q(4934) => [ q(Niuatoputapu), ], - q(4936) => [ + q(4935) => [ q(Nkami), ], - q(4937) => [ + q(4936) => [ q(Nukuoro), ], - q(4938) => [ + q(4937) => [ q(North Asmat), ], - q(4939) => [ + q(4938) => [ q(Nyika (Tanzania)), ], - q(4940) => [ + q(4939) => [ q(Bouna Kulango), ], - q(4941) => [ + q(4940) => [ q(Nyika (Malawi and Zambia)), ], - q(4942) => [ + q(4941) => [ q(Nkutu), ], - q(4943) => [ + q(4942) => [ q(Nkoroo), ], - q(4944) => [ + q(4943) => [ q(Nkari), ], - q(4945) => [ + q(4944) => [ q(Ngombale), ], - q(4946) => [ + q(4945) => [ q(Nalca), ], - q(4947) => [ + q(4946) => [ q(East Nyala), ], - q(4948) => [ + q(4947) => [ q(Gela), ], - q(4949) => [ + q(4948) => [ q(Grangali), ], - q(4950) => [ + q(4949) => [ q(Nyali), ], - q(4951) => [ + q(4950) => [ q(Ninia Yali), ], - q(4952) => [ + q(4951) => [ q(Nihali), ], - q(4953) => [ + q(4952) => [ q(Ngul), ], - q(4954) => [ + q(4953) => [ q(Lao Naga), ], - q(4955) => [ + q(4954) => [ q(Nchumbulu), ], - q(4956) => [ + q(4955) => [ q(Orizaba Nahuatl), ], - q(4957) => [ + q(4956) => [ q(Walangama), ], - q(4958) => [ + q(4957) => [ q(Nahali), ], - q(4959) => [ + q(4958) => [ q(Nyamal), ], - q(4960) => [ + q(4959) => [ q(Nalogo), ], - q(4961) => [ + q(4960) => [ q(Maram Naga), ], - q(4962) => [ + q(4961) => [ q(Big Nambas), q(V'enen Taut), ], - q(4963) => [ + q(4962) => [ q(Ngam), ], - q(4964) => [ + q(4963) => [ q(Ndumu), ], - q(4965) => [ + q(4964) => [ q(Mzieme Naga), ], - q(4966) => [ + q(4965) => [ q(Tangkhul Naga (India)), ], - q(4967) => [ + q(4966) => [ q(Kwasio), ], - q(4968) => [ + q(4967) => [ q(Monsang Naga), ], - q(4969) => [ + q(4968) => [ q(Nyam), ], - q(4970) => [ + q(4969) => [ q(Ngombe (Central African Republic)), ], - q(4971) => [ + q(4970) => [ q(Namakura), ], - q(4972) => [ + q(4971) => [ q(Ndemli), ], - q(4973) => [ + q(4972) => [ q(Manangba), ], - q(4974) => [ + q(4973) => [ q(!Xoo), + q(Xoo), ], - q(4975) => [ + q(4974) => [ q(Moyon Naga), ], - q(4976) => [ + q(4975) => [ q(Nimanbur), ], - q(4977) => [ + q(4976) => [ q(Nambya), ], - q(4978) => [ + q(4977) => [ q(Nimbari), ], - q(4979) => [ + q(4978) => [ q(Letemboi), ], - q(4980) => [ + q(4979) => [ q(Namonuito), ], - q(4981) => [ + q(4980) => [ q(Northeast Maidu), ], - q(4982) => [ + q(4981) => [ q(Ngamini), ], - q(4983) => [ + q(4982) => [ q(Nimoa), q(Rifao), ], - q(4984) => [ + q(4983) => [ q(Nama (Papua New Guinea)), ], - q(4985) => [ + q(4984) => [ q(Namuyi), ], - q(4986) => [ + q(4985) => [ q(Nawdm), ], - q(4987) => [ + q(4986) => [ q(Nyangumarta), ], - q(4988) => [ + q(4987) => [ q(Nande), ], - q(4989) => [ + q(4988) => [ q(Nancere), ], - q(4990) => [ + q(4989) => [ q(West Ambae), ], - q(4991) => [ + q(4990) => [ q(Ngandyera), ], - q(4992) => [ + q(4991) => [ q(Ngaing), ], - q(4993) => [ + q(4992) => [ q(Maring Naga), ], - q(4994) => [ + q(4993) => [ q(Ngiemboon), ], - q(4995) => [ + q(4994) => [ q(North Nuaulu), ], - q(4996) => [ + q(4995) => [ q(Nyangatom), ], - q(4997) => [ + q(4996) => [ q(Nankina), ], - q(4998) => [ + q(4997) => [ q(Northern Rengma Naga), ], - q(4999) => [ + q(4998) => [ q(Namia), ], - q(5000) => [ + q(4999) => [ q(Ngete), ], - q(5001) => [ + q(5000) => [ q(Wancho Naga), ], - q(5002) => [ + q(5001) => [ q(Ngindo), ], - q(5003) => [ + q(5002) => [ q(Narungga), ], - q(5004) => [ + q(5003) => [ q(Ningye), ], - q(5005) => [ + q(5004) => [ q(Nanticoke), ], - q(5006) => [ + q(5005) => [ q(Dwang), ], - q(5007) => [ + q(5006) => [ q(Nugunu (Australia)), ], - q(5008) => [ + q(5007) => [ q(Southern Nuni), ], - q(5009) => [ + q(5008) => [ q(Nyangga), ], - q(5010) => [ + q(5009) => [ q(Nda'nda'), ], - q(5011) => [ + q(5010) => [ q(Woun Meu), ], - q(5012) => [ + q(5011) => [ q(Nuk), ], - q(5013) => [ + q(5012) => [ q(Northern Thai), ], - q(5014) => [ + q(5013) => [ q(Nimadi), ], - q(5015) => [ + q(5014) => [ q(Nomane), ], - q(5016) => [ + q(5015) => [ q(Nomu), ], - q(5017) => [ + q(5016) => [ q(Noiri), ], - q(5018) => [ + q(5017) => [ q(Nonuya), ], - q(5019) => [ + q(5018) => [ q(Nooksack), ], - q(5020) => [ + q(5019) => [ q(Nomlaki), ], - q(5021) => [ + q(5020) => [ q(Nocaman), ], - q(5022) => [ + q(5021) => [ q(Numanggang), ], - q(5023) => [ + q(5022) => [ q(Ngongo), ], - q(5024) => [ + q(5023) => [ q(Eastern Nisu), ], - q(5025) => [ + q(5024) => [ q(Nomatsiguenga), ], - q(5026) => [ + q(5025) => [ q(Ewage-Notu), ], - q(5027) => [ + q(5026) => [ q(Novial), ], - q(5028) => [ + q(5027) => [ q(Nyambo), ], - q(5029) => [ + q(5028) => [ q(Noy), ], - q(5030) => [ + q(5029) => [ q(Nayi), ], - q(5031) => [ + q(5030) => [ q(Nar Phu), ], - q(5032) => [ + q(5031) => [ q(Nupbikha), ], - q(5033) => [ + q(5032) => [ q(Ponyo-Gongwang Naga), ], - q(5034) => [ + q(5033) => [ q(Phom Naga), ], - q(5035) => [ + q(5034) => [ q(Nepali (individual language)), ], - q(5036) => [ + q(5035) => [ q(Southeastern Puebla Nahuatl), ], - q(5037) => [ + q(5036) => [ q(Mondropolon), ], - q(5038) => [ + q(5037) => [ q(Pochuri Naga), ], - q(5039) => [ + q(5038) => [ q(Nipsan), ], - q(5040) => [ + q(5039) => [ q(Puimei Naga), ], - q(5041) => [ + q(5040) => [ q(Napu), ], - q(5042) => [ + q(5041) => [ q(Southern Nago), ], - q(5043) => [ + q(5042) => [ q(Kura Ede Nago), ], - q(5044) => [ + q(5043) => [ q(Ndom), ], - q(5045) => [ + q(5044) => [ q(Nen), ], - q(5046) => [ + q(5045) => [ q(Kyan-Karyaw Naga), ], - q(5047) => [ + q(5046) => [ q(Akyaung Ari Naga), ], - q(5048) => [ + q(5047) => [ q(Ngom), ], - q(5049) => [ + q(5048) => [ q(Nara), ], - q(5050) => [ + q(5049) => [ q(Noric), ], - q(5051) => [ + q(5050) => [ q(Southern Rengma Naga), ], - q(5052) => [ + q(5051) => [ q(Jerriais), q(Guernesiais), ], - q(5053) => [ + q(5052) => [ q(Narango), ], - q(5054) => [ + q(5053) => [ q(Chokri Naga), ], - q(5055) => [ + q(5054) => [ q(Ngarla), ], - q(5056) => [ + q(5055) => [ q(Ngarluma), ], - q(5057) => [ + q(5056) => [ q(Narom), ], - q(5058) => [ + q(5057) => [ q(Norn), ], - q(5059) => [ + q(5058) => [ q(North Picene), ], - q(5060) => [ + q(5059) => [ q(Norra), q(Nora), ], - q(5061) => [ + q(5060) => [ q(Northern Kalapuya), ], - q(5062) => [ + q(5061) => [ q(Narua), ], - q(5063) => [ + q(5062) => [ q(Ngurmbur), ], - q(5064) => [ + q(5063) => [ q(Lala), ], - q(5065) => [ + q(5064) => [ q(Sangtam Naga), ], - q(5066) => [ + q(5065) => [ q(Nshi), ], - q(5067) => [ + q(5066) => [ q(Southern Nisu), ], - q(5068) => [ + q(5067) => [ q(Nsenga), ], - q(5069) => [ + q(5068) => [ q(Northwestern Nisu), ], - q(5070) => [ + q(5069) => [ q(Ngasa), ], - q(5071) => [ + q(5070) => [ q(Ngoshie), ], - q(5072) => [ + q(5071) => [ q(Nigerian Sign Language), ], - q(5073) => [ + q(5072) => [ q(Naskapi), ], - q(5074) => [ + q(5073) => [ q(Norwegian Sign Language), ], - q(5075) => [ + q(5074) => [ q(Sumi Naga), ], - q(5076) => [ + q(5075) => [ q(Nehan), ], - q(5077) => [ + q(5076) => [ q(Nepalese Sign Language), ], - q(5078) => [ + q(5077) => [ q(Northern Sierra Miwok), ], - q(5079) => [ + q(5078) => [ q(Maritime Sign Language), ], - q(5080) => [ + q(5079) => [ q(Nali), ], - q(5081) => [ + q(5080) => [ q(Tase Naga), ], - q(5082) => [ + q(5081) => [ q(Sierra Negra Nahuatl), ], - q(5083) => [ + q(5082) => [ q(Southwestern Nisu), ], - q(5084) => [ + q(5083) => [ q(Navut), ], - q(5085) => [ + q(5084) => [ q(Nsongo), ], - q(5086) => [ + q(5085) => [ q(Nasal), ], - q(5087) => [ + q(5086) => [ q(Nisenan), ], - q(5088) => [ + q(5087) => [ q(Nathembo), ], - q(5089) => [ + q(5088) => [ q(Ngantangarra), ], - q(5090) => [ + q(5089) => [ q(Natioro), ], - q(5091) => [ + q(5090) => [ q(Ngaanyatjarra), ], - q(5092) => [ + q(5091) => [ q(Ikoma-Nata-Isenye), ], - q(5093) => [ + q(5092) => [ q(Nateni), ], - q(5094) => [ + q(5093) => [ q(Ntomba), ], - q(5095) => [ + q(5094) => [ q(Northern Tepehuan), ], - q(5096) => [ + q(5095) => [ q(Delo), ], - q(5097) => [ + q(5096) => [ q(Natagaimas), ], - q(5098) => [ + q(5097) => [ q(Natugu), ], - q(5099) => [ + q(5098) => [ q(Nottoway), ], - q(5100) => [ + q(5099) => [ q(Tangkhul Naga (Myanmar)), ], - q(5101) => [ + q(5100) => [ q(Mantsi), ], - q(5102) => [ + q(5101) => [ q(Natanzi), ], - q(5103) => [ + q(5102) => [ q(Yuanga), ], - q(5104) => [ + q(5103) => [ q(Nukuini), ], - q(5105) => [ + q(5104) => [ q(Ngala), ], - q(5106) => [ + q(5105) => [ q(Ngundu), ], - q(5107) => [ + q(5106) => [ q(Nusu), ], - q(5108) => [ + q(5107) => [ q(Nungali), ], - q(5109) => [ + q(5108) => [ q(Ndunda), ], - q(5110) => [ + q(5109) => [ q(Ngumbi), ], - q(5111) => [ + q(5110) => [ q(Nyole), ], - q(5112) => [ + q(5111) => [ q(Nuu-chah-nulth), q(Nuuchahnulth), ], - q(5113) => [ + q(5112) => [ q(Nusa Laut), ], - q(5114) => [ + q(5113) => [ q(Niuafo'ou), ], - q(5115) => [ + q(5114) => [ q(Anong), ], - q(5116) => [ + q(5115) => [ q(Nguon), ], - q(5117) => [ + q(5116) => [ q(Nupe-Nupe-Tako), ], - q(5118) => [ + q(5117) => [ q(Nukumanu), ], - q(5119) => [ + q(5118) => [ q(Nukuria), ], - q(5120) => [ + q(5119) => [ q(Nuer), ], - q(5121) => [ + q(5120) => [ q(Nung (Viet Nam)), ], - q(5122) => [ + q(5121) => [ q(Ngbundu), ], - q(5123) => [ + q(5122) => [ q(Northern Nuni), ], - q(5124) => [ + q(5123) => [ q(Nguluwan), ], - q(5125) => [ + q(5124) => [ q(Mehek), ], - q(5126) => [ + q(5125) => [ q(Nunggubuyu), ], - q(5127) => [ + q(5126) => [ q(Tlamacazapa Nahuatl), ], - q(5128) => [ + q(5127) => [ q(Nasarian), ], - q(5129) => [ + q(5128) => [ q(Namiae), ], - q(5130) => [ + q(5129) => [ q(Nyokon), ], - q(5131) => [ + q(5130) => [ q(Nawathinehena), ], - q(5132) => [ + q(5131) => [ q(Nyabwa), ], - q(5133) => [ + q(5132) => [ q(Ngwe), ], - q(5134) => [ + q(5133) => [ q(Ngayawung), ], - q(5135) => [ + q(5134) => [ q(Southwest Tanna), ], - q(5136) => [ + q(5135) => [ q(Nyamusa-Molo), ], - q(5137) => [ + q(5136) => [ q(Nauo), ], - q(5138) => [ + q(5137) => [ q(Nawaru), ], - q(5139) => [ + q(5138) => [ q(Middle Newar), ], - q(5140) => [ + q(5139) => [ q(Nottoway-Meherrin), ], - q(5141) => [ + q(5140) => [ q(Nauete), ], - q(5142) => [ + q(5141) => [ q(Ngando (Democratic Republic of Congo)), ], - q(5143) => [ + q(5142) => [ q(Nage), ], - q(5144) => [ + q(5143) => [ q(Ngad'a), ], - q(5145) => [ + q(5144) => [ q(Nindi), ], - q(5146) => [ + q(5145) => [ q(Koki Naga), ], - q(5147) => [ + q(5146) => [ q(South Nuaulu), ], - q(5148) => [ + q(5147) => [ q(Numidian), ], - q(5149) => [ + q(5148) => [ q(Ngawun), ], - q(5150) => [ + q(5149) => [ q(Ndambomo), ], - q(5151) => [ + q(5150) => [ q(Naxi), ], - q(5152) => [ + q(5151) => [ q(Ninggerum), ], - q(5153) => [ + q(5152) => [ q(Narau), ], - q(5154) => [ + q(5153) => [ q(Nafri), ], - q(5155) => [ + q(5154) => [ q(Nyangbo), ], - q(5156) => [ + q(5155) => [ q(Nyanga-li), ], - q(5157) => [ + q(5156) => [ q(Nyore), q(Olunyole), ], - q(5158) => [ + q(5157) => [ q(Nyengo), ], - q(5159) => [ + q(5158) => [ q(Giryama), q(Kigiryama), ], - q(5160) => [ + q(5159) => [ q(Nyindu), ], - q(5161) => [ + q(5160) => [ q(Nyigina), ], - q(5162) => [ + q(5161) => [ q(Ama (Sudan)), ], - q(5163) => [ + q(5162) => [ q(Nyanga), ], - q(5164) => [ + q(5163) => [ q(Nyaneka), ], - q(5165) => [ + q(5164) => [ q(Nyeu), ], - q(5166) => [ + q(5165) => [ q(Nyang'i), ], - q(5167) => [ + q(5166) => [ q(Nayini), ], - q(5168) => [ + q(5167) => [ q(Nyiha (Malawi)), ], - q(5169) => [ + q(5168) => [ q(Nyunga), ], - q(5170) => [ + q(5169) => [ q(Nyawaygi), ], - q(5171) => [ + q(5170) => [ q(Nyungwe), ], - q(5172) => [ + q(5171) => [ q(Nyulnyul), ], - q(5173) => [ + q(5172) => [ q(Nyaw), ], - q(5174) => [ + q(5173) => [ q(Nganyaywana), ], - q(5175) => [ + q(5174) => [ q(Nyakyusa-Ngonde), ], - q(5176) => [ + q(5175) => [ q(Tigon Mbembe), ], - q(5177) => [ + q(5176) => [ q(Njebi), ], - q(5178) => [ + q(5177) => [ q(Nzakara), ], - q(5179) => [ + q(5178) => [ q(Zeme Naga), ], - q(5180) => [ + q(5179) => [ q(New Zealand Sign Language), ], - q(5181) => [ + q(5180) => [ q(Teke-Nzikou), ], - q(5182) => [ + q(5181) => [ q(Nzakambay), ], - q(5183) => [ + q(5182) => [ q(Nanga Dama Dogon), ], - q(5184) => [ + q(5183) => [ q(Orok), ], - q(5185) => [ + q(5184) => [ q(Oroch), ], - q(5186) => [ + q(5185) => [ q(Old Aramaic (up to 700 BCE)), q(Ancient Aramaic (up to 700 BCE)), ], - q(5187) => [ + q(5186) => [ q(Old Avar), ], - q(5188) => [ + q(5187) => [ q(Obispeno), ], - q(5189) => [ + q(5188) => [ q(Southern Bontok), ], - q(5190) => [ + q(5189) => [ q(Oblo), ], - q(5191) => [ + q(5190) => [ q(Moabite), ], - q(5192) => [ + q(5191) => [ q(Obo Manobo), ], - q(5193) => [ + q(5192) => [ q(Old Burmese), ], - q(5194) => [ + q(5193) => [ q(Old Breton), ], - q(5195) => [ + q(5194) => [ q(Obulom), ], - q(5196) => [ + q(5195) => [ q(Ocaina), ], - q(5197) => [ + q(5196) => [ q(Old Chinese), ], - q(5198) => [ + q(5197) => [ q(Old Cornish), ], - q(5199) => [ + q(5198) => [ q(Atzingo Matlatzinca), ], - q(5200) => [ + q(5199) => [ q(Odut), ], - q(5201) => [ + q(5200) => [ q(Od), ], - q(5202) => [ + q(5201) => [ q(Old Dutch), ], - q(5203) => [ + q(5202) => [ q(Odual), ], - q(5204) => [ + q(5203) => [ q(Ofo), ], - q(5205) => [ + q(5204) => [ q(Old Frisian), ], - q(5206) => [ + q(5205) => [ q(Efutop), ], - q(5207) => [ + q(5206) => [ q(Ogbia), ], - q(5208) => [ + q(5207) => [ q(Ogbah), ], - q(5209) => [ + q(5208) => [ q(Old Georgian), ], - q(5210) => [ + q(5209) => [ q(Ogbogolo), ], - q(5211) => [ + q(5210) => [ q(Khana), ], - q(5212) => [ + q(5211) => [ q(Ogbronuagum), ], - q(5213) => [ + q(5212) => [ q(Old Hittite), ], - q(5214) => [ + q(5213) => [ q(Old Hungarian), ], - q(5215) => [ + q(5214) => [ q(Oirata), ], - q(5216) => [ + q(5215) => [ q(Inebu One), ], - q(5217) => [ + q(5216) => [ q(Northwestern Ojibwa), ], - q(5218) => [ + q(5217) => [ q(Central Ojibwa), ], - q(5219) => [ + q(5218) => [ q(Eastern Ojibwa), ], - q(5220) => [ + q(5219) => [ q(Old Japanese), ], - q(5221) => [ + q(5220) => [ q(Severn Ojibwa), ], - q(5222) => [ + q(5221) => [ q(Ontong Java), ], - q(5223) => [ + q(5222) => [ q(Western Ojibwa), ], - q(5224) => [ + q(5223) => [ q(Okanagan), ], - q(5225) => [ + q(5224) => [ q(Okobo), ], - q(5226) => [ + q(5225) => [ q(Okodia), ], - q(5227) => [ + q(5226) => [ q(Okpe (Southwestern Edo)), ], - q(5228) => [ + q(5227) => [ q(Koko Babangk), ], - q(5229) => [ + q(5228) => [ q(Koresh-e Rostam), ], - q(5230) => [ + q(5229) => [ q(Okiek), ], - q(5231) => [ + q(5230) => [ q(Oko-Juwoi), ], - q(5232) => [ + q(5231) => [ q(Kwamtim One), ], - q(5233) => [ + q(5232) => [ q(Old Kentish Sign Language), ], - q(5234) => [ + q(5233) => [ q(Middle Korean (10th-16th cent.)), ], - q(5235) => [ + q(5234) => [ q(Oki-No-Erabu), ], - q(5236) => [ + q(5235) => [ q(Old Korean (3rd-9th cent.)), ], - q(5237) => [ + q(5236) => [ q(Kirike), ], - q(5238) => [ + q(5237) => [ q(Oko-Eni-Osayen), ], - q(5239) => [ + q(5238) => [ q(Oku), ], - q(5240) => [ + q(5239) => [ q(Orokaiva), ], - q(5241) => [ + q(5240) => [ q(Okpe (Northwestern Edo)), ], - q(5242) => [ + q(5241) => [ q(Walungge), ], - q(5243) => [ + q(5242) => [ q(Mochi), ], - q(5244) => [ + q(5243) => [ q(Olekha), ], - q(5245) => [ + q(5244) => [ q(Olkol), ], - q(5246) => [ + q(5245) => [ q(Oloma), ], - q(5247) => [ + q(5246) => [ q(Livvi), ], - q(5248) => [ + q(5247) => [ q(Olrat), ], - q(5249) => [ + q(5248) => [ q(Old Lithuanian), ], - q(5250) => [ + q(5249) => [ q(Omaha-Ponca), ], - q(5251) => [ + q(5250) => [ q(East Ambae), ], - q(5252) => [ + q(5251) => [ q(Mochica), ], - q(5253) => [ + q(5252) => [ q(Omejes), ], - q(5254) => [ + q(5253) => [ q(Omagua), ], - q(5255) => [ + q(5254) => [ q(Omi), ], - q(5256) => [ + q(5255) => [ q(Omok), ], - q(5257) => [ + q(5256) => [ q(Ombo), ], - q(5258) => [ + q(5257) => [ q(Minoan), ], - q(5259) => [ + q(5258) => [ q(Utarmbung), ], - q(5260) => [ + q(5259) => [ q(Old Manipuri), ], - q(5261) => [ + q(5260) => [ q(Old Marathi), ], - q(5262) => [ + q(5261) => [ q(Omotik), ], - q(5263) => [ + q(5262) => [ q(Omurano), ], - q(5264) => [ + q(5263) => [ q(South Tairora), ], - q(5265) => [ + q(5264) => [ q(Old Mon), ], - q(5266) => [ + q(5265) => [ q(Ona), ], - q(5267) => [ + q(5266) => [ q(Lingao), ], - q(5268) => [ + q(5267) => [ q(Oneida), ], - q(5269) => [ + q(5268) => [ q(Olo), ], - q(5270) => [ + q(5269) => [ q(Onin), ], - q(5271) => [ + q(5270) => [ q(Onjob), ], - q(5272) => [ + q(5271) => [ q(Kabore One), ], - q(5273) => [ + q(5272) => [ q(Onobasulu), ], - q(5274) => [ + q(5273) => [ q(Onondaga), ], - q(5275) => [ + q(5274) => [ q(Sartang), ], - q(5276) => [ + q(5275) => [ q(Northern One), ], - q(5277) => [ + q(5276) => [ q(Ono), ], - q(5278) => [ + q(5277) => [ q(Ontenu), ], - q(5279) => [ + q(5278) => [ q(Unua), ], - q(5280) => [ + q(5279) => [ q(Old Nubian), ], - q(5281) => [ + q(5280) => [ q(Onin Based Pidgin), ], - q(5282) => [ + q(5281) => [ q(Tohono O'odham), ], - q(5283) => [ + q(5282) => [ q(Ong), ], - q(5284) => [ + q(5283) => [ q(Onge), ], - q(5285) => [ + q(5284) => [ q(Oorlams), ], - q(5286) => [ + q(5285) => [ q(Old Ossetic), ], - q(5287) => [ + q(5286) => [ q(Okpamheri), ], - q(5288) => [ + q(5287) => [ q(Kopkaka), ], - q(5289) => [ + q(5288) => [ q(Oksapmin), ], - q(5290) => [ + q(5289) => [ q(Opao), ], - q(5291) => [ + q(5290) => [ q(Opata), ], - q(5292) => [ + q(5291) => [ q(Ofaye), ], - q(5293) => [ + q(5292) => [ q(Oroha), ], - q(5294) => [ + q(5293) => [ q(Orma), ], - q(5295) => [ + q(5294) => [ q(Orejon), ], - q(5296) => [ + q(5295) => [ q(Oring), ], - q(5297) => [ + q(5296) => [ q(Oroqen), ], - q(5298) => [ + q(5297) => [ q(Orang Kanaq), ], - q(5299) => [ + q(5298) => [ q(Orokolo), ], - q(5300) => [ + q(5299) => [ q(Oruma), ], - q(5301) => [ + q(5300) => [ q(Orang Seletar), ], - q(5302) => [ + q(5301) => [ q(Adivasi Oriya), ], - q(5303) => [ + q(5302) => [ q(Ormuri), ], - q(5304) => [ + q(5303) => [ q(Old Russian), ], - q(5305) => [ + q(5304) => [ q(Oro Win), ], - q(5306) => [ + q(5305) => [ q(Oro), ], - q(5307) => [ + q(5306) => [ q(Oriya (individual language)), ], - q(5308) => [ + q(5307) => [ q(Ormu), ], - q(5309) => [ + q(5308) => [ q(Oscan), ], - q(5310) => [ + q(5309) => [ q(Osing), ], - q(5311) => [ + q(5310) => [ q(Ososo), ], - q(5312) => [ + q(5311) => [ q(Old Spanish), ], - q(5313) => [ + q(5312) => [ q(Osatu), ], - q(5314) => [ + q(5313) => [ q(Southern One), ], - q(5315) => [ + q(5314) => [ q(Old Saxon), ], - q(5316) => [ + q(5315) => [ q(Old Tibetan), ], - q(5317) => [ + q(5316) => [ q(Ot Danum), ], - q(5318) => [ + q(5317) => [ q(Mezquital Otomi), ], - q(5319) => [ + q(5318) => [ q(Oti), ], - q(5320) => [ + q(5319) => [ q(Old Turkish), ], - q(5321) => [ + q(5320) => [ q(Tilapa Otomi), ], - q(5322) => [ + q(5321) => [ q(Eastern Highland Otomi), ], - q(5323) => [ + q(5322) => [ q(Tenango Otomi), ], - q(5324) => [ + q(5323) => [ q(Queretaro Otomi), ], - q(5325) => [ + q(5324) => [ q(Otoro), ], - q(5326) => [ + q(5325) => [ q(Estado de Mexico Otomi), ], - q(5327) => [ + q(5326) => [ q(Temoaya Otomi), ], - q(5328) => [ + q(5327) => [ q(Otuke), ], - q(5329) => [ + q(5328) => [ q(Ottawa), ], - q(5330) => [ + q(5329) => [ q(Texcatepec Otomi), ], - q(5331) => [ + q(5330) => [ q(Old Tamil), ], - q(5332) => [ + q(5331) => [ q(Ixtenco Otomi), ], - q(5333) => [ + q(5332) => [ q(Tagargrent), ], - q(5334) => [ + q(5333) => [ q(Glio-Oubi), ], - q(5335) => [ + q(5334) => [ q(Oune), ], - q(5336) => [ + q(5335) => [ q(Old Uighur), ], - q(5337) => [ + q(5336) => [ q(Ouma), ], - q(5338) => [ + q(5337) => [ q(Owiniga), ], - q(5339) => [ + q(5338) => [ q(Old Welsh), ], - q(5340) => [ + q(5339) => [ q(Oy), ], - q(5341) => [ + q(5340) => [ q(Oyda), ], - q(5342) => [ + q(5341) => [ q(Wayampi), ], - q(5343) => [ + q(5342) => [ q(Oya'oya), ], - q(5344) => [ + q(5343) => [ q(Koonzime), ], - q(5345) => [ + q(5344) => [ q(Parecis), ], - q(5346) => [ + q(5345) => [ q(Pacoh), ], - q(5347) => [ + q(5346) => [ q(Paumari), ], - q(5348) => [ + q(5347) => [ q(Pagibete), ], - q(5349) => [ + q(5348) => [ q(Paranawat), ], - q(5350) => [ + q(5349) => [ q(Tenharim), ], - q(5351) => [ + q(5350) => [ q(Pe), ], - q(5352) => [ + q(5351) => [ q(Parakana), ], - q(5353) => [ + q(5352) => [ q(Northern Paiute), ], - q(5354) => [ + q(5353) => [ q(Parya), ], - q(5355) => [ + q(5354) => [ q(Panamint), q(Timbisha), ], - q(5356) => [ + q(5355) => [ q(Papasena), ], - q(5357) => [ + q(5356) => [ q(Papitalai), ], - q(5358) => [ + q(5357) => [ q(Pakaasnovos), ], - q(5359) => [ + q(5358) => [ q(Pawnee), ], - q(5360) => [ + q(5359) => [ q(Pankarare), ], - q(5361) => [ + q(5360) => [ q(Pech), ], - q(5362) => [ + q(5361) => [ q(Pankararu), ], - q(5363) => [ + q(5362) => [ q(Paez), ], - q(5364) => [ + q(5363) => [ q(Patamona), ], - q(5365) => [ + q(5364) => [ q(Mezontla Popoloca), ], - q(5366) => [ + q(5365) => [ q(Coyotepec Popoloca), ], - q(5367) => [ + q(5366) => [ q(Paraujano), ], - q(5368) => [ + q(5367) => [ q(E'napa Woromaipu), ], - q(5369) => [ + q(5368) => [ q(Parkwa), ], - q(5370) => [ + q(5369) => [ q(Mak (Nigeria)), ], - q(5371) => [ + q(5370) => [ q(Kpasam), ], - q(5372) => [ + q(5371) => [ q(Papel), ], - q(5373) => [ + q(5372) => [ q(Badyara), ], - q(5374) => [ + q(5373) => [ q(Pangwa), ], - q(5375) => [ + q(5374) => [ q(Central Pame), ], - q(5376) => [ + q(5375) => [ q(Southern Pashto), ], - q(5377) => [ + q(5376) => [ q(Northern Pashto), ], - q(5378) => [ + q(5377) => [ q(Pnar), ], - q(5379) => [ + q(5378) => [ q(Pyu (Papua New Guinea)), ], - q(5380) => [ + q(5379) => [ q(Santa Ines Ahuatempan Popoloca), ], - q(5381) => [ + q(5380) => [ q(Pear), ], - q(5382) => [ + q(5381) => [ q(Bouyei), ], - q(5383) => [ + q(5382) => [ q(Picard), ], - q(5384) => [ + q(5383) => [ q(Ruching Palaung), ], - q(5385) => [ + q(5384) => [ q(Paliyan), ], - q(5386) => [ + q(5385) => [ q(Paniya), ], - q(5387) => [ + q(5386) => [ q(Pardhan), ], - q(5388) => [ + q(5387) => [ q(Duruwa), ], - q(5389) => [ + q(5388) => [ q(Parenga), ], - q(5390) => [ + q(5389) => [ q(Paite Chin), ], - q(5391) => [ + q(5390) => [ q(Pardhi), ], - q(5392) => [ + q(5391) => [ q(Nigerian Pidgin), ], - q(5393) => [ + q(5392) => [ q(Piti), ], - q(5394) => [ + q(5393) => [ q(Pacahuara), ], - q(5395) => [ + q(5394) => [ q(Pyapun), ], - q(5396) => [ + q(5395) => [ q(Anam), ], - q(5397) => [ + q(5396) => [ q(Pennsylvania German), ], - q(5398) => [ + q(5397) => [ q(Pa Di), ], - q(5399) => [ + q(5398) => [ q(Podena), q(Fedan), ], - q(5400) => [ + q(5399) => [ q(Padoe), ], - q(5401) => [ + q(5400) => [ q(Plautdietsch), ], - q(5402) => [ + q(5401) => [ q(Kayan), ], - q(5403) => [ + q(5402) => [ q(Peranakan Indonesian), ], - q(5404) => [ + q(5403) => [ q(Eastern Pomo), ], - q(5405) => [ + q(5404) => [ q(Mala (Papua New Guinea)), ], - q(5406) => [ + q(5405) => [ q(Taje), ], - q(5407) => [ + q(5406) => [ q(Northeastern Pomo), ], - q(5408) => [ + q(5407) => [ q(Pengo), ], - q(5409) => [ + q(5408) => [ q(Bonan), ], - q(5410) => [ + q(5409) => [ q(Chichimeca-Jonaz), ], - q(5411) => [ + q(5410) => [ q(Northern Pomo), ], - q(5412) => [ + q(5411) => [ q(Penchal), ], - q(5413) => [ + q(5412) => [ q(Pekal), ], - q(5414) => [ + q(5413) => [ q(Phende), ], - q(5415) => [ + q(5414) => [ q(Kunja), ], - q(5416) => [ + q(5415) => [ q(Southern Pomo), ], - q(5417) => [ + q(5416) => [ q(Iranian Persian), ], - q(5418) => [ + q(5417) => [ q(Pemono), ], - q(5419) => [ + q(5418) => [ q(Petats), ], - q(5420) => [ + q(5419) => [ q(Petjo), ], - q(5421) => [ + q(5420) => [ q(Eastern Penan), ], - q(5422) => [ + q(5421) => [ q(Paafang), ], - q(5423) => [ + q(5422) => [ q(Peere), ], - q(5424) => [ + q(5423) => [ q(Pfaelzisch), ], - q(5425) => [ + q(5424) => [ q(Sudanese Creole Arabic), ], - q(5426) => [ + q(5425) => [ q(Gandhari), ], - q(5427) => [ + q(5426) => [ q(Pangwali), ], - q(5428) => [ + q(5427) => [ q(Pagi), ], - q(5429) => [ + q(5428) => [ q(Rerep), ], - q(5430) => [ + q(5429) => [ q(Primitive Irish), ], - q(5431) => [ + q(5430) => [ q(Paelignian), ], - q(5432) => [ + q(5431) => [ q(Pangseng), ], - q(5433) => [ + q(5432) => [ q(Pagu), ], - q(5434) => [ + q(5433) => [ q(Pa-Hng), ], - q(5435) => [ + q(5434) => [ q(Phudagi), ], - q(5436) => [ + q(5435) => [ q(Phuong), ], - q(5437) => [ + q(5436) => [ q(Phukha), ], - q(5438) => [ + q(5437) => [ q(Phake), ], - q(5439) => [ + q(5438) => [ q(Phalura), q(Palula), ], - q(5440) => [ + q(5439) => [ q(Phimbi), ], - q(5441) => [ + q(5440) => [ q(Phunoi), ], - q(5442) => [ + q(5441) => [ q(Phana'), ], - q(5443) => [ + q(5442) => [ q(Pahari-Potwari), ], - q(5444) => [ + q(5443) => [ q(Phu Thai), ], - q(5445) => [ + q(5444) => [ q(Phuan), ], - q(5446) => [ + q(5445) => [ q(Pahlavani), ], - q(5447) => [ + q(5446) => [ q(Phangduwali), ], - q(5448) => [ + q(5447) => [ q(Pima Bajo), ], - q(5449) => [ + q(5448) => [ q(Yine), ], - q(5450) => [ + q(5449) => [ q(Pinji), ], - q(5451) => [ + q(5450) => [ q(Piaroa), ], - q(5452) => [ + q(5451) => [ q(Piro), ], - q(5453) => [ + q(5452) => [ q(Pingelapese), ], - q(5454) => [ + q(5453) => [ q(Pisabo), ], - q(5455) => [ + q(5454) => [ q(Pitcairn-Norfolk), ], - q(5456) => [ + q(5455) => [ q(Pini), ], - q(5457) => [ + q(5456) => [ q(Pijao), ], - q(5458) => [ + q(5457) => [ q(Yom), ], - q(5459) => [ + q(5458) => [ q(Powhatan), ], - q(5460) => [ + q(5459) => [ q(Piame), ], - q(5461) => [ + q(5460) => [ q(Piapoco), ], - q(5462) => [ + q(5461) => [ q(Pero), ], - q(5463) => [ + q(5462) => [ q(Piratapuyo), ], - q(5464) => [ + q(5463) => [ q(Pijin), ], - q(5465) => [ + q(5464) => [ q(Pitta Pitta), ], - q(5466) => [ + q(5465) => [ q(Pintupi-Luritja), ], - q(5467) => [ + q(5466) => [ q(Pileni), q(Vaeakau-Taumako), ], - q(5468) => [ + q(5467) => [ q(Pimbwe), ], - q(5469) => [ + q(5468) => [ q(Piu), ], - q(5470) => [ + q(5469) => [ q(Piya-Kwonci), ], - q(5471) => [ + q(5470) => [ q(Pije), ], - q(5472) => [ + q(5471) => [ q(Pitjantjatjara), ], - q(5473) => [ + q(5472) => [ q(Ardhamagadhi Prakrit), ], - q(5474) => [ + q(5473) => [ q(Pokomo), q(Kipfokomo), ], - q(5475) => [ + q(5474) => [ q(Paekche), ], - q(5476) => [ + q(5475) => [ q(Pak-Tong), ], - q(5477) => [ + q(5476) => [ q(Pankhu), ], - q(5478) => [ + q(5477) => [ q(Pakanha), ], - q(5479) => [ + q(5478) => [ q(Pokoot), ], - q(5480) => [ + q(5479) => [ q(Pukapuka), ], - q(5481) => [ + q(5480) => [ q(Attapady Kurumba), ], - q(5482) => [ + q(5481) => [ q(Pakistan Sign Language), ], - q(5483) => [ + q(5482) => [ q(Maleng), ], - q(5484) => [ + q(5483) => [ q(Paku), ], - q(5485) => [ + q(5484) => [ q(Miani), ], - q(5486) => [ + q(5485) => [ q(Polonombauk), ], - q(5487) => [ + q(5486) => [ q(Central Palawano), ], - q(5488) => [ + q(5487) => [ q(Polari), ], - q(5489) => [ + q(5488) => [ q(Palu'e), ], - q(5490) => [ + q(5489) => [ q(Pilaga), ], - q(5491) => [ + q(5490) => [ q(Paulohi), ], - q(5492) => [ + q(5491) => [ q(Polci), ], - q(5493) => [ + q(5492) => [ q(Kohistani Shina), ], - q(5494) => [ + q(5493) => [ q(Shwe Palaung), ], - q(5495) => [ + q(5494) => [ q(Palenquero), ], - q(5496) => [ + q(5495) => [ q(Oluta Popoluca), ], - q(5497) => [ + q(5496) => [ q(Palpa), ], - q(5498) => [ + q(5497) => [ q(Palaic), ], - q(5499) => [ + q(5498) => [ q(Palaka Senoufo), ], - q(5500) => [ + q(5499) => [ q(San Marcos Tlacoyalco Popoloca), q(San Marcos Tlalcoyalco Popoloca), ], - q(5501) => [ + q(5500) => [ q(Plateau Malagasy), ], - q(5502) => [ + q(5501) => [ q(Palikur), ], - q(5503) => [ + q(5502) => [ q(Southwest Palawano), ], - q(5504) => [ + q(5503) => [ q(Brooke's Point Palawano), ], - q(5505) => [ + q(5504) => [ q(Bolyu), ], - q(5506) => [ + q(5505) => [ q(Paluan), ], - q(5507) => [ + q(5506) => [ q(Paama), ], - q(5508) => [ + q(5507) => [ q(Pambia), ], - q(5509) => [ + q(5508) => [ q(Palumata), ], - q(5510) => [ + q(5509) => [ q(Pallanganmiddang), ], - q(5511) => [ + q(5510) => [ q(Pwaamei), ], - q(5512) => [ + q(5511) => [ q(Pamona), ], - q(5513) => [ + q(5512) => [ q(Maharastri Prakrit), ], - q(5514) => [ + q(5513) => [ q(Northern Pumi), ], - q(5515) => [ + q(5514) => [ q(Southern Pumi), ], - q(5516) => [ + q(5515) => [ q(Pamlico), ], - q(5517) => [ + q(5516) => [ q(Lingua Franca), ], - q(5518) => [ + q(5517) => [ q(Pomo), ], - q(5519) => [ + q(5518) => [ q(Pam), ], - q(5520) => [ + q(5519) => [ q(Pom), ], - q(5521) => [ + q(5520) => [ q(Northern Pame), ], - q(5522) => [ + q(5521) => [ q(Paynamar), ], - q(5523) => [ + q(5522) => [ q(Piemontese), ], - q(5524) => [ + q(5523) => [ q(Tuamotuan), ], - q(5525) => [ + q(5524) => [ q(Plains Miwok), ], - q(5526) => [ + q(5525) => [ q(Poumei Naga), ], - q(5527) => [ + q(5526) => [ q(Papuan Malay), ], - q(5528) => [ + q(5527) => [ q(Southern Pame), ], - q(5529) => [ + q(5528) => [ q(Punan Bah-Biau), ], - q(5530) => [ + q(5529) => [ q(Western Panjabi), ], - q(5531) => [ + q(5530) => [ q(Pannei), ], - q(5532) => [ + q(5531) => [ q(Western Penan), ], - q(5533) => [ + q(5532) => [ q(Pongu), ], - q(5534) => [ + q(5533) => [ q(Penrhyn), ], - q(5535) => [ + q(5534) => [ q(Aoheng), ], - q(5536) => [ + q(5535) => [ q(Pinjarup), ], - q(5537) => [ + q(5536) => [ q(Paunaka), ], - q(5538) => [ + q(5537) => [ q(Paleni), ], - q(5539) => [ + q(5538) => [ q(Punan Batu 1), ], - q(5540) => [ + q(5539) => [ q(Pinai-Hagahai), ], - q(5541) => [ + q(5540) => [ q(Panobo), ], - q(5542) => [ + q(5541) => [ q(Pancana), ], - q(5543) => [ + q(5542) => [ q(Pana (Burkina Faso)), ], - q(5544) => [ + q(5543) => [ q(Panim), ], - q(5545) => [ + q(5544) => [ q(Ponosakan), ], - q(5546) => [ + q(5545) => [ q(Pontic), ], - q(5547) => [ + q(5546) => [ q(Jiongnai Bunu), ], - q(5548) => [ + q(5547) => [ q(Pinigura), ], - q(5549) => [ + q(5548) => [ q(Panytyima), ], - q(5550) => [ + q(5549) => [ q(Phong-Kniang), ], - q(5551) => [ + q(5550) => [ q(Pinyin), ], - q(5552) => [ + q(5551) => [ q(Pana (Central African Republic)), ], - q(5553) => [ + q(5552) => [ q(Poqomam), ], - q(5554) => [ + q(5553) => [ q(Ponares), ], - q(5555) => [ + q(5554) => [ q(San Juan Atzingo Popoloca), ], - q(5556) => [ + q(5555) => [ q(Poke), ], - q(5557) => [ + q(5556) => [ q(Potiguara), ], - q(5558) => [ + q(5557) => [ q(Poqomchi'), ], - q(5559) => [ + q(5558) => [ q(Highland Popoluca), ], - q(5560) => [ + q(5559) => [ q(Pokanga), ], - q(5561) => [ + q(5560) => [ q(Southeastern Pomo), ], - q(5562) => [ + q(5561) => [ q(Central Pomo), ], - q(5563) => [ + q(5562) => [ q(Pwapwa), ], - q(5564) => [ + q(5563) => [ q(Texistepec Popoluca), ], - q(5565) => [ + q(5564) => [ q(Sayula Popoluca), ], - q(5566) => [ + q(5565) => [ q(Potawatomi), ], - q(5567) => [ + q(5566) => [ q(Upper Guinea Crioulo), ], - q(5568) => [ + q(5567) => [ q(San Felipe Otlaltepec Popoloca), ], - q(5569) => [ + q(5568) => [ q(Polabian), ], - q(5570) => [ + q(5569) => [ q(Pogolo), ], - q(5571) => [ + q(5570) => [ q(Pao), ], - q(5572) => [ + q(5571) => [ q(Papi), ], - q(5573) => [ + q(5572) => [ q(Paipai), ], - q(5574) => [ + q(5573) => [ q(Uma), ], - q(5575) => [ + q(5574) => [ q(Pipil), q(Nicarao), ], - q(5576) => [ + q(5575) => [ q(Papuma), ], - q(5577) => [ + q(5576) => [ q(Papapana), ], - q(5578) => [ + q(5577) => [ q(Folopa), ], - q(5579) => [ + q(5578) => [ q(Pelende), ], - q(5580) => [ + q(5579) => [ q(Pei), ], - q(5581) => [ + q(5580) => [ q(San Luis Temalacayuca Popoloca), ], - q(5582) => [ + q(5581) => [ q(Pare), ], - q(5583) => [ + q(5582) => [ q(Papora), ], - q(5584) => [ + q(5583) => [ q(Pa'a), ], - q(5585) => [ + q(5584) => [ q(Malecite-Passamaquoddy), ], - q(5586) => [ + q(5585) => [ q(Lua'), ], - q(5587) => [ + q(5586) => [ q(Parachi), ], - q(5588) => [ + q(5587) => [ q(Parsi-Dari), ], - q(5589) => [ + q(5588) => [ q(Principense), ], - q(5590) => [ + q(5589) => [ q(Paranan), ], - q(5591) => [ + q(5590) => [ q(Prussian), ], - q(5592) => [ + q(5591) => [ q(Porohanon), ], - q(5593) => [ + q(5592) => [ q(Paici), ], - q(5594) => [ + q(5593) => [ q(Parauk), ], - q(5595) => [ + q(5594) => [ q(Peruvian Sign Language), ], - q(5596) => [ + q(5595) => [ q(Kibiri), ], - q(5597) => [ + q(5596) => [ q(Prasuni), ], - q(5598) => [ + q(5597) => [ q(Parsi), ], - q(5599) => [ + q(5598) => [ q(Asheninka Perene), ], - q(5600) => [ + q(5599) => [ q(Puri), ], - q(5601) => [ + q(5600) => [ q(Dari), q(Afghan Persian), ], - q(5602) => [ + q(5601) => [ q(Phai), ], - q(5603) => [ + q(5602) => [ q(Puragi), ], - q(5604) => [ + q(5603) => [ q(Parawen), ], - q(5605) => [ + q(5604) => [ q(Purik), ], - q(5606) => [ + q(5605) => [ q(Pray 3), ], - q(5607) => [ + q(5606) => [ q(Providencia Sign Language), ], - q(5608) => [ + q(5607) => [ q(Asue Awyu), ], - q(5609) => [ + q(5608) => [ q(Persian Sign Language), ], - q(5610) => [ + q(5609) => [ q(Plains Indian Sign Language), ], - q(5611) => [ + q(5610) => [ q(Central Malay), ], - q(5612) => [ + q(5611) => [ q(Penang Sign Language), ], - q(5613) => [ + q(5612) => [ q(Southwest Pashai), q(Southwest Pashayi), ], - q(5614) => [ + q(5613) => [ q(Southeast Pashai), q(Southeast Pashayi), ], - q(5615) => [ + q(5614) => [ q(Puerto Rican Sign Language), ], - q(5616) => [ + q(5615) => [ q(Pauserna), ], - q(5617) => [ + q(5616) => [ q(Panasuan), ], - q(5618) => [ + q(5617) => [ q(Polish Sign Language), ], - q(5619) => [ + q(5618) => [ q(Philippine Sign Language), ], - q(5620) => [ + q(5619) => [ q(Pasi), ], - q(5621) => [ + q(5620) => [ q(Portuguese Sign Language), ], - q(5622) => [ + q(5621) => [ q(Kaulong), ], - q(5623) => [ + q(5622) => [ q(Central Pashto), ], - q(5624) => [ + q(5623) => [ q(Sauraseni Prakrit), ], - q(5625) => [ + q(5624) => [ q(Port Sandwich), ], - q(5626) => [ + q(5625) => [ q(Piscataway), ], - q(5627) => [ + q(5626) => [ q(Pai Tavytera), ], - q(5628) => [ + q(5627) => [ q(Pataxo Ha-Ha-Hae), ], - q(5629) => [ + q(5628) => [ q(Pintiini), ], - q(5630) => [ + q(5629) => [ q(Patani), ], - q(5631) => [ + q(5630) => [ q(Zo'e), ], - q(5632) => [ + q(5631) => [ q(Patep), ], - q(5633) => [ + q(5632) => [ q(Pattapu), ], - q(5634) => [ + q(5633) => [ q(Piamatsina), ], - q(5635) => [ + q(5634) => [ q(Enrekang), ], - q(5636) => [ + q(5635) => [ q(Bambam), ], - q(5637) => [ + q(5636) => [ q(Port Vato), ], - q(5638) => [ + q(5637) => [ q(Pentlatch), ], - q(5639) => [ + q(5638) => [ q(Pathiya), ], - q(5640) => [ + q(5639) => [ q(Western Highland Purepecha), ], - q(5641) => [ + q(5640) => [ q(Purum), ], - q(5642) => [ + q(5641) => [ q(Punan Merap), ], - q(5643) => [ + q(5642) => [ q(Punan Aput), ], - q(5644) => [ + q(5643) => [ q(Puelche), ], - q(5645) => [ + q(5644) => [ q(Punan Merah), ], - q(5646) => [ + q(5645) => [ q(Phuie), ], - q(5647) => [ + q(5646) => [ q(Puinave), ], - q(5648) => [ + q(5647) => [ q(Punan Tubu), ], - q(5649) => [ + q(5648) => [ q(Pu Ko), ], - q(5650) => [ + q(5649) => [ q(Puma), ], - q(5651) => [ + q(5650) => [ q(Puoc), ], - q(5652) => [ + q(5651) => [ q(Pulabu), ], - q(5653) => [ + q(5652) => [ q(Puquina), ], - q(5654) => [ + q(5653) => [ q(Purubora), ], - q(5655) => [ + q(5654) => [ q(Putoh), ], - q(5656) => [ + q(5655) => [ q(Punu), ], - q(5657) => [ + q(5656) => [ q(Puluwatese), ], - q(5658) => [ + q(5657) => [ q(Puare), ], - q(5659) => [ + q(5658) => [ q(Purisimeno), ], - q(5660) => [ + q(5659) => [ q(Pawaia), ], - q(5661) => [ + q(5660) => [ q(Panawa), ], - q(5662) => [ + q(5661) => [ q(Gapapaiwa), ], - q(5663) => [ + q(5662) => [ q(Patwin), ], - q(5664) => [ + q(5663) => [ q(Molbog), ], - q(5665) => [ + q(5664) => [ q(Paiwan), ], - q(5666) => [ + q(5665) => [ q(Pwo Western Karen), ], - q(5667) => [ + q(5666) => [ q(Powari), ], - q(5668) => [ + q(5667) => [ q(Pwo Northern Karen), ], - q(5669) => [ + q(5668) => [ q(Quetzaltepec Mixe), ], - q(5670) => [ + q(5669) => [ q(Pye Krumen), ], - q(5671) => [ + q(5670) => [ q(Fyam), ], - q(5672) => [ + q(5671) => [ q(Poyanawa), ], - q(5673) => [ + q(5672) => [ q(Paraguayan Sign Language), q(Lengua de Senas del Paraguay), ], - q(5674) => [ + q(5673) => [ q(Puyuma), ], - q(5675) => [ + q(5674) => [ q(Pyu (Myanmar)), ], - q(5676) => [ + q(5675) => [ q(Pyen), ], - q(5677) => [ + q(5676) => [ q(Para Naga), ], - q(5678) => [ + q(5677) => [ q(Quapaw), ], - q(5679) => [ + q(5678) => [ q(Huallaga Huanuco Quechua), ], - q(5680) => [ + q(5679) => [ q(K'iche'), q(Quiche), ], - q(5681) => [ + q(5680) => [ q(Calderon Highland Quichua), ], - q(5682) => [ + q(5681) => [ q(Lambayeque Quechua), ], - q(5683) => [ + q(5682) => [ q(Chimborazo Highland Quichua), ], - q(5684) => [ + q(5683) => [ q(South Bolivian Quechua), ], - q(5685) => [ + q(5684) => [ q(Quileute), ], - q(5686) => [ + q(5685) => [ q(Chachapoyas Quechua), ], - q(5687) => [ + q(5686) => [ q(North Bolivian Quechua), ], - q(5688) => [ + q(5687) => [ q(Sipacapense), ], - q(5689) => [ + q(5688) => [ q(Quinault), ], - q(5690) => [ + q(5689) => [ q(Southern Pastaza Quechua), ], - q(5691) => [ + q(5690) => [ q(Quinqui), ], - q(5692) => [ + q(5691) => [ q(Yanahuanca Pasco Quechua), ], - q(5693) => [ + q(5692) => [ q(Santiago del Estero Quichua), ], - q(5694) => [ + q(5693) => [ q(Sacapulteco), ], - q(5695) => [ + q(5694) => [ q(Tena Lowland Quichua), ], - q(5696) => [ + q(5695) => [ q(Yauyos Quechua), ], - q(5697) => [ + q(5696) => [ q(Ayacucho Quechua), ], - q(5698) => [ + q(5697) => [ q(Cusco Quechua), ], - q(5699) => [ + q(5698) => [ q(Ambo-Pasco Quechua), ], - q(5700) => [ + q(5699) => [ q(Cajamarca Quechua), ], - q(5701) => [ + q(5700) => [ q(Eastern Apurimac Quechua), ], - q(5702) => [ + q(5701) => [ q(Huamalies-Dos de Mayo Huanuco Quechua), ], - q(5703) => [ + q(5702) => [ q(Imbabura Highland Quichua), ], - q(5704) => [ + q(5703) => [ q(Loja Highland Quichua), ], - q(5705) => [ + q(5704) => [ q(Cajatambo North Lima Quechua), ], - q(5706) => [ + q(5705) => [ q(Margos-Yarowilca-Lauricocha Quechua), ], - q(5707) => [ + q(5706) => [ q(North Junin Quechua), ], - q(5708) => [ + q(5707) => [ q(Napo Lowland Quechua), ], - q(5709) => [ + q(5708) => [ q(Pacaraos Quechua), ], - q(5710) => [ + q(5709) => [ q(San Martin Quechua), ], - q(5711) => [ + q(5710) => [ q(Huaylla Wanca Quechua), ], - q(5712) => [ + q(5711) => [ q(Queyu), ], - q(5713) => [ + q(5712) => [ q(Northern Pastaza Quichua), ], - q(5714) => [ + q(5713) => [ q(Corongo Ancash Quechua), ], - q(5715) => [ + q(5714) => [ q(Classical Quechua), ], - q(5716) => [ + q(5715) => [ q(Huaylas Ancash Quechua), ], - q(5717) => [ + q(5716) => [ q(Kuman (Russia)), ], - q(5718) => [ + q(5717) => [ q(Sihuas Ancash Quechua), ], - q(5719) => [ + q(5718) => [ q(Kwalhioqua-Tlatskanai), ], - q(5720) => [ + q(5719) => [ q(Chiquian Ancash Quechua), ], - q(5721) => [ + q(5720) => [ q(Chincha Quechua), ], - q(5722) => [ + q(5721) => [ q(Panao Huanuco Quechua), ], - q(5723) => [ + q(5722) => [ q(Salasaca Highland Quichua), ], - q(5724) => [ + q(5723) => [ q(Northern Conchucos Ancash Quechua), ], - q(5725) => [ + q(5724) => [ q(Southern Conchucos Ancash Quechua), ], - q(5726) => [ + q(5725) => [ q(Puno Quechua), ], - q(5727) => [ + q(5726) => [ q(Qashqa'i), ], - q(5728) => [ + q(5727) => [ q(Canar Highland Quichua), ], - q(5729) => [ + q(5728) => [ q(Southern Qiang), ], - q(5730) => [ + q(5729) => [ q(Santa Ana de Tusi Pasco Quechua), ], - q(5731) => [ + q(5730) => [ q(Arequipa-La Union Quechua), ], - q(5732) => [ + q(5731) => [ q(Jauja Wanca Quechua), ], - q(5733) => [ + q(5732) => [ q(Quenya), ], - q(5734) => [ + q(5733) => [ q(Quiripi), ], - q(5735) => [ + q(5734) => [ q(Dungmali), ], - q(5736) => [ + q(5735) => [ q(Camling), ], - q(5737) => [ + q(5736) => [ q(Rasawa), ], - q(5738) => [ + q(5737) => [ q(Rade), ], - q(5739) => [ + q(5738) => [ q(Western Meohang), ], - q(5740) => [ + q(5739) => [ q(Logooli), q(Lulogooli), ], - q(5741) => [ + q(5740) => [ q(Rabha), ], - q(5742) => [ + q(5741) => [ q(Ramoaaina), ], - q(5743) => [ + q(5742) => [ q(Tulu-Bohuai), ], - q(5744) => [ + q(5743) => [ q(Ralte), ], - q(5745) => [ + q(5744) => [ q(Canela), ], - q(5746) => [ + q(5745) => [ q(Riantana), ], - q(5747) => [ + q(5746) => [ q(Rao), ], - q(5748) => [ + q(5747) => [ q(Saam), ], - q(5749) => [ + q(5748) => [ q(Tegali), ], - q(5750) => [ + q(5749) => [ q(Razajerdi), ], - q(5751) => [ + q(5750) => [ q(Raute), ], - q(5752) => [ + q(5751) => [ q(Sampang), ], - q(5753) => [ + q(5752) => [ q(Rawang), ], - q(5754) => [ + q(5753) => [ q(Rang), ], - q(5755) => [ + q(5754) => [ q(Rapa), ], - q(5756) => [ + q(5755) => [ q(Rahambuu), ], - q(5757) => [ + q(5756) => [ q(Rumai Palaung), ], - q(5758) => [ + q(5757) => [ q(Northern Bontok), ], - q(5759) => [ + q(5758) => [ q(Miraya Bikol), ], - q(5760) => [ + q(5759) => [ q(Barababaraba), ], - q(5761) => [ + q(5760) => [ q(Reunion Creole French), ], - q(5762) => [ + q(5761) => [ q(Rudbari), ], - q(5763) => [ + q(5762) => [ q(Rerau), ], - q(5764) => [ + q(5763) => [ q(Rembong), ], - q(5765) => [ + q(5764) => [ q(Rejang Kayan), ], - q(5766) => [ + q(5765) => [ q(Kara (Tanzania)), ], - q(5767) => [ + q(5766) => [ q(Reli), ], - q(5768) => [ + q(5767) => [ q(Rejang), ], - q(5769) => [ + q(5768) => [ q(Rendille), ], - q(5770) => [ + q(5769) => [ q(Remo), ], - q(5771) => [ + q(5770) => [ q(Rengao), ], - q(5772) => [ + q(5771) => [ q(Rer Bare), ], - q(5773) => [ + q(5772) => [ q(Reshe), ], - q(5774) => [ + q(5773) => [ q(Retta), ], - q(5775) => [ + q(5774) => [ q(Reyesano), ], - q(5776) => [ + q(5775) => [ q(Roria), ], - q(5777) => [ + q(5776) => [ q(Romano-Greek), ], - q(5778) => [ + q(5777) => [ q(Rangkas), ], - q(5779) => [ + q(5778) => [ q(Romagnol), ], - q(5780) => [ + q(5779) => [ q(Resigaro), ], - q(5781) => [ + q(5780) => [ q(Southern Roglai), ], - q(5782) => [ + q(5781) => [ q(Ringgou), ], - q(5783) => [ + q(5782) => [ q(Rohingya), ], - q(5784) => [ + q(5783) => [ q(Yahang), ], - q(5785) => [ + q(5784) => [ q(Riang (India)), ], - q(5786) => [ + q(5785) => [ q(Rien), ], - q(5787) => [ + q(5786) => [ q(Tarifit), ], - q(5788) => [ + q(5787) => [ q(Riang (Myanmar)), ], - q(5789) => [ + q(5788) => [ q(Nyaturu), ], - q(5790) => [ + q(5789) => [ q(Nungu), ], - q(5791) => [ + q(5790) => [ q(Ribun), ], - q(5792) => [ + q(5791) => [ q(Ritarungo), ], - q(5793) => [ + q(5792) => [ q(Riung), ], - q(5794) => [ + q(5793) => [ q(Rajong), ], - q(5795) => [ + q(5794) => [ q(Raji), ], - q(5796) => [ + q(5795) => [ q(Rajbanshi), ], - q(5797) => [ + q(5796) => [ q(Kraol), ], - q(5798) => [ + q(5797) => [ q(Rikbaktsa), ], - q(5799) => [ + q(5798) => [ q(Rakahanga-Manihiki), ], - q(5800) => [ + q(5799) => [ q(Rakhine), ], - q(5801) => [ + q(5800) => [ q(Marka), ], - q(5802) => [ + q(5801) => [ q(Rangpuri), q(Kamta), ], - q(5803) => [ + q(5802) => [ q(Arakwal), ], - q(5804) => [ + q(5803) => [ q(Rama), ], - q(5805) => [ + q(5804) => [ q(Rembarunga), ], - q(5806) => [ + q(5805) => [ q(Carpathian Romani), ], - q(5807) => [ + q(5806) => [ q(Traveller Danish), ], - q(5808) => [ + q(5807) => [ q(Angloromani), ], - q(5809) => [ + q(5808) => [ q(Kalo Finnish Romani), ], - q(5810) => [ + q(5809) => [ q(Traveller Norwegian), ], - q(5811) => [ + q(5810) => [ q(Murkim), ], - q(5812) => [ + q(5811) => [ q(Lomavren), ], - q(5813) => [ + q(5812) => [ q(Romkun), ], - q(5814) => [ + q(5813) => [ q(Baltic Romani), ], - q(5815) => [ + q(5814) => [ q(Roma), ], - q(5816) => [ + q(5815) => [ q(Balkan Romani), ], - q(5817) => [ + q(5816) => [ q(Sinte Romani), ], - q(5818) => [ + q(5817) => [ q(Rempi), ], - q(5819) => [ + q(5818) => [ q(Calo), ], - q(5820) => [ + q(5819) => [ q(Romanian Sign Language), ], - q(5821) => [ + q(5820) => [ q(Domari), ], - q(5822) => [ + q(5821) => [ q(Tavringer Romani), ], - q(5823) => [ + q(5822) => [ q(Romanova), ], - q(5824) => [ + q(5823) => [ q(Welsh Romani), ], - q(5825) => [ + q(5824) => [ q(Romam), ], - q(5826) => [ + q(5825) => [ q(Vlax Romani), ], - q(5827) => [ + q(5826) => [ q(Marma), ], - q(5828) => [ + q(5827) => [ q(Runa), ], - q(5829) => [ + q(5828) => [ q(Ruund), ], - q(5830) => [ + q(5829) => [ q(Ronga), ], - q(5831) => [ + q(5830) => [ q(Ranglong), ], - q(5832) => [ + q(5831) => [ q(Roon), ], - q(5833) => [ + q(5832) => [ q(Rongpo), ], - q(5834) => [ + q(5833) => [ q(Nari Nari), ], - q(5835) => [ + q(5834) => [ q(Rungwa), ], - q(5836) => [ + q(5835) => [ q(Tae'), ], - q(5837) => [ + q(5836) => [ q(Cacgia Roglai), ], - q(5838) => [ + q(5837) => [ q(Rogo), ], - q(5839) => [ + q(5838) => [ q(Ronji), ], - q(5840) => [ + q(5839) => [ q(Rombo), ], - q(5841) => [ + q(5840) => [ q(Northern Roglai), ], - q(5842) => [ + q(5841) => [ q(Romblomanon), ], - q(5843) => [ + q(5842) => [ q(Rotokas), ], - q(5844) => [ + q(5843) => [ q(Kriol), ], - q(5845) => [ + q(5844) => [ q(Rongga), ], - q(5846) => [ + q(5845) => [ q(Runga), ], - q(5847) => [ + q(5846) => [ q(Dela-Oenale), ], - q(5848) => [ + q(5847) => [ q(Repanbitip), ], - q(5849) => [ + q(5848) => [ q(Rapting), ], - q(5850) => [ + q(5849) => [ q(Ririo), ], - q(5851) => [ + q(5850) => [ q(Waima), ], - q(5852) => [ + q(5851) => [ q(Arritinngithigh), ], - q(5853) => [ + q(5852) => [ q(Romano-Serbian), ], - q(5854) => [ + q(5853) => [ q(Rennellese Sign Language), ], - q(5855) => [ + q(5854) => [ q(Russian Sign Language), ], - q(5856) => [ + q(5855) => [ q(Rungtu Chin), ], - q(5857) => [ + q(5856) => [ q(Ratahan), ], - q(5858) => [ + q(5857) => [ q(Rotuman), ], - q(5859) => [ + q(5858) => [ q(Yurats), ], - q(5860) => [ + q(5859) => [ q(Rathawi), ], - q(5861) => [ + q(5860) => [ q(Gungu), ], - q(5862) => [ + q(5861) => [ q(Ruuli), ], - q(5863) => [ + q(5862) => [ q(Rusyn), ], - q(5864) => [ + q(5863) => [ q(Luguru), ], - q(5865) => [ + q(5864) => [ q(Roviana), ], - q(5866) => [ + q(5865) => [ q(Ruga), ], - q(5867) => [ + q(5866) => [ q(Rufiji), ], - q(5868) => [ + q(5867) => [ q(Che), ], - q(5869) => [ + q(5868) => [ q(Istro Romanian), ], - q(5870) => [ + q(5869) => [ q(Megleno Romanian), ], - q(5871) => [ + q(5870) => [ q(Rutul), ], - q(5872) => [ + q(5871) => [ q(Lanas Lobu), ], - q(5873) => [ + q(5872) => [ q(Mala (Nigeria)), ], - q(5874) => [ + q(5873) => [ q(Ruma), ], - q(5875) => [ + q(5874) => [ q(Rawo), ], - q(5876) => [ + q(5875) => [ q(Rwa), ], - q(5877) => [ + q(5876) => [ q(Amba (Uganda)), ], - q(5878) => [ + q(5877) => [ q(Rawa), ], - q(5879) => [ + q(5878) => [ q(Marwari (India)), ], - q(5880) => [ + q(5879) => [ q(Ngardi), ], - q(5881) => [ + q(5880) => [ q(Karuwali), ], - q(5882) => [ + q(5881) => [ q(Northern Amami-Oshima), ], - q(5883) => [ + q(5882) => [ q(Yaeyama), ], - q(5884) => [ + q(5883) => [ q(Central Okinawan), ], - q(5885) => [ + q(5884) => [ q(Saba), ], - q(5886) => [ + q(5885) => [ q(Buglere), ], - q(5887) => [ + q(5886) => [ q(Meskwaki), ], - q(5888) => [ + q(5887) => [ q(Sabane), ], - q(5889) => [ + q(5888) => [ q(Safaliba), ], - q(5890) => [ + q(5889) => [ q(Sahu), ], - q(5891) => [ + q(5890) => [ q(Sake), ], - q(5892) => [ + q(5891) => [ q(Sause), ], - q(5893) => [ + q(5892) => [ q(Samburu), ], - q(5894) => [ + q(5893) => [ q(Saraveca), ], - q(5895) => [ + q(5894) => [ q(Saleman), ], - q(5896) => [ + q(5895) => [ q(Saafi-Saafi), ], - q(5897) => [ + q(5896) => [ q(Sawi), ], - q(5898) => [ + q(5897) => [ q(Sa), ], - q(5899) => [ + q(5898) => [ q(Saya), ], - q(5900) => [ + q(5899) => [ q(Saurashtra), ], - q(5901) => [ + q(5900) => [ q(Ngambay), ], - q(5902) => [ + q(5901) => [ q(Simbo), ], - q(5903) => [ + q(5902) => [ q(Kele (Papua New Guinea)), ], - q(5904) => [ + q(5903) => [ q(Southern Samo), ], - q(5905) => [ + q(5904) => [ q(Saliba), ], - q(5906) => [ + q(5905) => [ q(Chabu), q(Shabo), ], - q(5907) => [ + q(5906) => [ q(Seget), ], - q(5908) => [ + q(5907) => [ q(Sori-Harengan), ], - q(5909) => [ + q(5908) => [ q(Seti), ], - q(5910) => [ + q(5909) => [ q(Surbakhal), ], - q(5911) => [ + q(5910) => [ q(Safwa), ], - q(5912) => [ + q(5911) => [ q(Botolan Sambal), ], - q(5913) => [ + q(5912) => [ q(Sagala), ], - q(5914) => [ + q(5913) => [ q(Sindhi Bhil), ], - q(5915) => [ + q(5914) => [ q(Sabum), ], - q(5916) => [ + q(5915) => [ q(Sangu (Tanzania)), ], - q(5917) => [ + q(5916) => [ q(Sileibi), ], - q(5918) => [ + q(5917) => [ q(Sembakung Murut), ], - q(5919) => [ + q(5918) => [ q(Subiya), ], - q(5920) => [ + q(5919) => [ q(Kimki), ], - q(5921) => [ + q(5920) => [ q(Stod Bhoti), ], - q(5922) => [ + q(5921) => [ q(Sabine), ], - q(5923) => [ + q(5922) => [ q(Simba), ], - q(5924) => [ + q(5923) => [ q(Seberuang), ], - q(5925) => [ + q(5924) => [ q(Soli), ], - q(5926) => [ + q(5925) => [ q(Sara Kaba), ], - q(5927) => [ + q(5926) => [ q(Chut), ], - q(5928) => [ + q(5927) => [ q(Dongxiang), ], - q(5929) => [ + q(5928) => [ q(San Miguel Creole French), ], - q(5930) => [ + q(5929) => [ q(Sanggau), ], - q(5931) => [ + q(5930) => [ q(Sakachep), ], - q(5932) => [ + q(5931) => [ q(Sri Lankan Creole Malay), ], - q(5933) => [ + q(5932) => [ q(Sadri), ], - q(5934) => [ + q(5933) => [ q(Shina), ], - q(5935) => [ + q(5934) => [ q(Helambu Sherpa), ], - q(5936) => [ + q(5935) => [ q(Sa'och), ], - q(5937) => [ + q(5936) => [ q(North Slavey), ], - q(5938) => [ + q(5937) => [ q(Shumcho), ], - q(5939) => [ + q(5938) => [ q(Sheni), ], - q(5940) => [ + q(5939) => [ q(Sha), ], - q(5941) => [ + q(5940) => [ q(Sicel), ], - q(5942) => [ + q(5941) => [ q(Toraja-Sa'dan), ], - q(5943) => [ + q(5942) => [ q(Shabak), ], - q(5944) => [ + q(5943) => [ q(Sassarese Sardinian), ], - q(5945) => [ + q(5944) => [ q(Surubu), ], - q(5946) => [ + q(5945) => [ q(Sarli), ], - q(5947) => [ + q(5946) => [ q(Savi), ], - q(5948) => [ + q(5947) => [ q(Southern Kurdish), ], - q(5949) => [ + q(5948) => [ q(Suundi), ], - q(5950) => [ + q(5949) => [ q(Sos Kundi), ], - q(5951) => [ + q(5950) => [ q(Saudi Arabian Sign Language), ], - q(5952) => [ + q(5951) => [ q(Semandang), ], - q(5953) => [ + q(5952) => [ q(Gallurese Sardinian), ], - q(5954) => [ + q(5953) => [ q(Bukar-Sadung Bidayuh), ], - q(5955) => [ + q(5954) => [ q(Sherdukpen), ], - q(5956) => [ + q(5955) => [ q(Oraon Sadri), ], - q(5957) => [ + q(5956) => [ q(Sened), ], - q(5958) => [ + q(5957) => [ q(Shuadit), ], - q(5959) => [ + q(5958) => [ q(Sarudu), ], - q(5960) => [ + q(5959) => [ q(Sibu Melanau), ], - q(5961) => [ + q(5960) => [ q(Sallands), ], - q(5962) => [ + q(5961) => [ q(Semai), ], - q(5963) => [ + q(5962) => [ q(Shempire Senoufo), ], - q(5964) => [ + q(5963) => [ q(Sechelt), ], - q(5965) => [ + q(5964) => [ q(Sedang), ], - q(5966) => [ + q(5965) => [ q(Seneca), ], - q(5967) => [ + q(5966) => [ q(Cebaara Senoufo), ], - q(5968) => [ + q(5967) => [ q(Segeju), ], - q(5969) => [ + q(5968) => [ q(Sena), ], - q(5970) => [ + q(5969) => [ q(Seri), ], - q(5971) => [ + q(5970) => [ q(Sene), ], - q(5972) => [ + q(5971) => [ q(Sekani), ], - q(5973) => [ + q(5972) => [ q(Nanerige Senoufo), ], - q(5974) => [ + q(5973) => [ q(Suarmin), ], - q(5975) => [ + q(5974) => [ q(Sicite Senoufo), ], - q(5976) => [ + q(5975) => [ q(Senara Senoufo), ], - q(5977) => [ + q(5976) => [ q(Serrano), ], - q(5978) => [ + q(5977) => [ q(Koyraboro Senni Songhai), ], - q(5979) => [ + q(5978) => [ q(Sentani), ], - q(5980) => [ + q(5979) => [ q(Serui-Laut), ], - q(5981) => [ + q(5980) => [ q(Nyarafolo Senoufo), ], - q(5982) => [ + q(5981) => [ q(Sewa Bay), ], - q(5983) => [ + q(5982) => [ q(Secoya), ], - q(5984) => [ + q(5983) => [ q(Senthang Chin), ], - q(5985) => [ + q(5984) => [ q(Langue des signes de Belgique Francophone), q(French Belgian Sign Language), ], - q(5986) => [ + q(5985) => [ q(Eastern Subanen), ], - q(5987) => [ + q(5986) => [ q(Small Flowery Miao), ], - q(5988) => [ + q(5987) => [ q(South African Sign Language), ], - q(5989) => [ + q(5988) => [ q(Sehwi), ], - q(5990) => [ + q(5989) => [ q(Mag-antsi Ayta), ], - q(5991) => [ + q(5990) => [ q(Kipsigis), ], - q(5992) => [ + q(5991) => [ q(Surigaonon), ], - q(5993) => [ + q(5992) => [ q(Segai), ], - q(5994) => [ + q(5993) => [ q(Swiss-German Sign Language), ], - q(5995) => [ + q(5994) => [ q(Shughni), ], - q(5996) => [ + q(5995) => [ q(Suga), ], - q(5997) => [ + q(5996) => [ q(Surgujia), ], - q(5998) => [ + q(5997) => [ q(Sangkong), ], - q(5999) => [ + q(5998) => [ q(Singa), ], - q(6000) => [ + q(5999) => [ q(Singpho), ], - q(6001) => [ + q(6000) => [ q(Sangisari), ], - q(6002) => [ + q(6001) => [ q(Samogitian), ], - q(6003) => [ + q(6002) => [ q(Brokpake), ], - q(6004) => [ + q(6003) => [ q(Salas), ], - q(6005) => [ + q(6004) => [ q(Sebat Bet Gurage), ], - q(6006) => [ + q(6005) => [ q(Sierra Leone Sign Language), ], - q(6007) => [ + q(6006) => [ q(Sanglechi), ], - q(6008) => [ + q(6007) => [ q(Sursurunga), ], - q(6009) => [ + q(6008) => [ q(Shall-Zwall), ], - q(6010) => [ + q(6009) => [ q(Ninam), ], - q(6011) => [ + q(6010) => [ q(Sonde), ], - q(6012) => [ + q(6011) => [ q(Kundal Shahi), ], - q(6013) => [ + q(6012) => [ q(Sheko), ], - q(6014) => [ + q(6013) => [ q(Shua), ], - q(6015) => [ + q(6014) => [ q(Shoshoni), ], - q(6016) => [ + q(6015) => [ q(Tachelhit), ], - q(6017) => [ + q(6016) => [ q(Shatt), ], - q(6018) => [ + q(6017) => [ q(Shilluk), ], - q(6019) => [ + q(6018) => [ q(Shendu), ], - q(6020) => [ + q(6019) => [ q(Shahrudi), ], - q(6021) => [ + q(6020) => [ q(Shanga), ], - q(6022) => [ + q(6021) => [ q(Shipibo-Conibo), ], - q(6023) => [ + q(6022) => [ q(Sala), ], - q(6024) => [ + q(6023) => [ q(Shi), ], - q(6025) => [ + q(6024) => [ q(Shuswap), ], - q(6026) => [ + q(6025) => [ q(Shasta), ], - q(6027) => [ + q(6026) => [ q(Chadian Arabic), ], - q(6028) => [ + q(6027) => [ q(Shehri), ], - q(6029) => [ + q(6028) => [ q(Shwai), ], - q(6030) => [ + q(6029) => [ q(She), ], - q(6031) => [ + q(6030) => [ q(Tachawit), ], - q(6032) => [ + q(6031) => [ q(Syenara Senoufo), ], - q(6033) => [ + q(6032) => [ q(Akkala Sami), ], - q(6034) => [ + q(6033) => [ q(Sebop), ], - q(6035) => [ + q(6034) => [ q(Simaa), ], - q(6036) => [ + q(6035) => [ q(Siamou), ], - q(6037) => [ + q(6036) => [ q(Paasaal), ], - q(6038) => [ + q(6037) => [ q(Zire), q(Sishee), ], - q(6039) => [ + q(6038) => [ q(Shom Peng), ], - q(6040) => [ + q(6039) => [ q(Numbami), ], - q(6041) => [ + q(6040) => [ q(Sikiana), ], - q(6042) => [ + q(6041) => [ q(Tumulung Sisaala), ], - q(6043) => [ + q(6042) => [ q(Mende (Papua New Guinea)), ], - q(6044) => [ + q(6043) => [ q(Sikkimese), ], - q(6045) => [ + q(6044) => [ q(Sonia), ], - q(6046) => [ + q(6045) => [ q(Siri), ], - q(6047) => [ + q(6046) => [ q(Siuslaw), ], - q(6048) => [ + q(6047) => [ q(Sinagen), ], - q(6049) => [ + q(6048) => [ q(Sumariup), ], - q(6050) => [ + q(6049) => [ q(Siwai), ], - q(6051) => [ + q(6050) => [ q(Sumau), ], - q(6052) => [ + q(6051) => [ q(Sivandi), ], - q(6053) => [ + q(6052) => [ q(Siwi), ], - q(6054) => [ + q(6053) => [ q(Epena), ], - q(6055) => [ + q(6054) => [ q(Sajau Basap), ], - q(6056) => [ + q(6055) => [ q(Kildin Sami), ], - q(6057) => [ + q(6056) => [ q(Pite Sami), ], - q(6058) => [ + q(6057) => [ q(Assangori), ], - q(6059) => [ + q(6058) => [ q(Kemi Sami), ], - q(6060) => [ + q(6059) => [ q(Sajalong), q(Miji), ], - q(6061) => [ + q(6060) => [ q(Mapun), ], - q(6062) => [ + q(6061) => [ q(Sindarin), ], - q(6063) => [ + q(6062) => [ q(Xibe), ], - q(6064) => [ + q(6063) => [ q(Surjapuri), ], - q(6065) => [ + q(6064) => [ q(Siar-Lak), ], - q(6066) => [ + q(6065) => [ q(Senhaja De Srair), ], - q(6067) => [ + q(6066) => [ q(Ter Sami), ], - q(6068) => [ + q(6067) => [ q(Ume Sami), ], - q(6069) => [ + q(6068) => [ q(Shawnee), ], - q(6070) => [ + q(6069) => [ q(Skagit), ], - q(6071) => [ + q(6070) => [ q(Saek), ], - q(6072) => [ + q(6071) => [ q(Ma Manda), ], - q(6073) => [ + q(6072) => [ q(Southern Sierra Miwok), ], - q(6074) => [ + q(6073) => [ q(Seke (Vanuatu)), ], - q(6075) => [ + q(6074) => [ q(Sakirabia), ], - q(6076) => [ + q(6075) => [ q(Sakalava Malagasy), ], - q(6077) => [ + q(6076) => [ q(Sikule), ], - q(6078) => [ + q(6077) => [ q(Sika), ], - q(6079) => [ + q(6078) => [ q(Seke (Nepal)), ], - q(6080) => [ + q(6079) => [ q(Sok), ], - q(6081) => [ + q(6080) => [ q(Kutong), ], - q(6082) => [ + q(6081) => [ q(Kolibugan Subanon), ], - q(6083) => [ + q(6082) => [ q(Seko Tengah), ], - q(6084) => [ + q(6083) => [ q(Sekapan), ], - q(6085) => [ + q(6084) => [ q(Sininkere), ], - q(6086) => [ + q(6085) => [ q(Saraiki), q(Seraiki), ], - q(6087) => [ + q(6086) => [ q(Maia), ], - q(6088) => [ + q(6087) => [ q(Sakata), ], - q(6089) => [ + q(6088) => [ q(Sakao), ], - q(6090) => [ + q(6089) => [ q(Skou), ], - q(6091) => [ + q(6090) => [ q(Skepi Creole Dutch), ], - q(6092) => [ + q(6091) => [ q(Seko Padang), ], - q(6093) => [ + q(6092) => [ q(Sikaiana), ], - q(6094) => [ + q(6093) => [ q(Sekar), ], - q(6095) => [ + q(6094) => [ q(Sissala), ], - q(6096) => [ + q(6095) => [ q(Sholaga), ], - q(6097) => [ + q(6096) => [ q(Swiss-Italian Sign Language), ], - q(6098) => [ + q(6097) => [ q(Selungai Murut), ], - q(6099) => [ + q(6098) => [ q(Southern Puget Sound Salish), ], - q(6100) => [ + q(6099) => [ q(Lower Silesian), ], - q(6101) => [ + q(6100) => [ q(Saluma), ], - q(6102) => [ + q(6101) => [ q(Salt-Yui), ], - q(6103) => [ + q(6102) => [ q(Pangutaran Sama), ], - q(6104) => [ + q(6103) => [ q(Salinan), ], - q(6105) => [ + q(6104) => [ q(Lamaholot), ], - q(6106) => [ + q(6105) => [ q(Salchuq), ], - q(6107) => [ + q(6106) => [ q(Salar), ], - q(6108) => [ + q(6107) => [ q(Singapore Sign Language), ], - q(6109) => [ + q(6108) => [ q(Sila), ], - q(6110) => [ + q(6109) => [ q(Selaru), ], - q(6111) => [ + q(6110) => [ q(Sialum), ], - q(6112) => [ + q(6111) => [ q(Salampasu), ], - q(6113) => [ + q(6112) => [ q(Selayar), ], - q(6114) => [ + q(6113) => [ q(Ma'ya), ], - q(6115) => [ + q(6114) => [ q(Simbari), ], - q(6116) => [ + q(6115) => [ q(Som), ], - q(6117) => [ + q(6116) => [ q(Sama), ], - q(6118) => [ + q(6117) => [ q(Auwe), ], - q(6119) => [ + q(6118) => [ q(Simbali), ], - q(6120) => [ + q(6119) => [ q(Samei), ], - q(6121) => [ + q(6120) => [ q(Bolinao), ], - q(6122) => [ + q(6121) => [ q(Central Sama), ], - q(6123) => [ + q(6122) => [ q(Musasa), ], - q(6124) => [ + q(6123) => [ q(Samaritan), ], - q(6125) => [ + q(6124) => [ q(Samo), ], - q(6126) => [ + q(6125) => [ q(Simeulue), ], - q(6127) => [ + q(6126) => [ q(Simte), ], - q(6128) => [ + q(6127) => [ q(Somray), ], - q(6129) => [ + q(6128) => [ q(Samvedi), ], - q(6130) => [ + q(6129) => [ q(Sumbawa), ], - q(6131) => [ + q(6130) => [ q(Samba), ], - q(6132) => [ + q(6131) => [ q(Semnani), ], - q(6133) => [ + q(6132) => [ q(Simeku), ], - q(6134) => [ + q(6133) => [ q(Sebuyau), ], - q(6135) => [ + q(6134) => [ q(Sinaugoro), ], - q(6136) => [ + q(6135) => [ q(Bau Bidayuh), ], - q(6137) => [ + q(6136) => [ q(Noon), ], - q(6138) => [ + q(6137) => [ q(Sanga (Democratic Republic of Congo)), ], - q(6139) => [ + q(6138) => [ q(Shinabo), ], - q(6140) => [ + q(6139) => [ q(Sensi), ], - q(6141) => [ + q(6140) => [ q(Riverain Sango), ], - q(6142) => [ + q(6141) => [ q(Sangil), ], - q(6143) => [ + q(6142) => [ q(Southern Ma'di), ], - q(6144) => [ + q(6143) => [ q(Siona), ], - q(6145) => [ + q(6144) => [ q(Snohomish), ], - q(6146) => [ + q(6145) => [ q(Siane), ], - q(6147) => [ + q(6146) => [ q(Sangu (Gabon)), ], - q(6148) => [ + q(6147) => [ q(Sihan), ], - q(6149) => [ + q(6148) => [ q(South West Bay), q(Nahavaq), ], - q(6150) => [ + q(6149) => [ q(Senggi), q(Viid), ], - q(6151) => [ + q(6150) => [ q(Sa'ban), ], - q(6152) => [ + q(6151) => [ q(Selee), ], - q(6153) => [ + q(6152) => [ q(Sam), ], - q(6154) => [ + q(6153) => [ q(Saniyo-Hiyewe), ], - q(6155) => [ + q(6154) => [ q(Sinsauru), ], - q(6156) => [ + q(6155) => [ q(Thai Song), ], - q(6157) => [ + q(6156) => [ q(Sobei), ], - q(6158) => [ + q(6157) => [ q(So (Democratic Republic of Congo)), ], - q(6159) => [ + q(6158) => [ q(Songoora), ], - q(6160) => [ + q(6159) => [ q(Songomeno), ], - q(6161) => [ + q(6160) => [ q(Aka), ], - q(6162) => [ + q(6161) => [ q(Sonha), ], - q(6163) => [ + q(6162) => [ q(Soi), ], - q(6164) => [ + q(6163) => [ q(Sokoro), ], - q(6165) => [ + q(6164) => [ q(Solos), ], - q(6166) => [ + q(6165) => [ q(Songo), ], - q(6167) => [ + q(6166) => [ q(Songe), ], - q(6168) => [ + q(6167) => [ q(Kanasi), ], - q(6169) => [ + q(6168) => [ q(Somrai), ], - q(6170) => [ + q(6169) => [ q(Seeku), ], - q(6171) => [ + q(6170) => [ q(Southern Thai), ], - q(6172) => [ + q(6171) => [ q(Sonsorol), ], - q(6173) => [ + q(6172) => [ q(Sowanda), ], - q(6174) => [ + q(6173) => [ q(Swo), ], - q(6175) => [ + q(6174) => [ q(Miyobe), ], - q(6176) => [ + q(6175) => [ q(Temi), ], - q(6177) => [ + q(6176) => [ q(Sepa (Indonesia)), ], - q(6178) => [ + q(6177) => [ q(Sape), ], - q(6179) => [ + q(6178) => [ q(Saep), ], - q(6180) => [ + q(6179) => [ q(Sepa (Papua New Guinea)), ], - q(6181) => [ + q(6180) => [ q(Sian), ], - q(6182) => [ + q(6181) => [ q(Saponi), ], - q(6183) => [ + q(6182) => [ q(Sengo), ], - q(6184) => [ + q(6183) => [ q(Selepet), ], - q(6185) => [ + q(6184) => [ q(Akukem), ], - q(6186) => [ + q(6185) => [ q(Sanapana), ], - q(6187) => [ + q(6186) => [ q(Spokane), ], - q(6188) => [ + q(6187) => [ q(Supyire Senoufo), ], - q(6189) => [ + q(6188) => [ q(Loreto-Ucayali Spanish), ], - q(6190) => [ + q(6189) => [ q(Saparua), ], - q(6191) => [ + q(6190) => [ q(Saposa), ], - q(6192) => [ + q(6191) => [ q(Spiti Bhoti), ], - q(6193) => [ + q(6192) => [ q(Sapuan), ], - q(6194) => [ + q(6193) => [ q(Sambalpuri), q(Kosli), ], - q(6195) => [ + q(6194) => [ q(South Picene), ], - q(6196) => [ + q(6195) => [ q(Sabaot), ], - q(6197) => [ + q(6196) => [ q(Shama-Sambuga), ], - q(6198) => [ + q(6197) => [ q(Shau), ], - q(6199) => [ + q(6198) => [ q(Albanian Sign Language), ], - q(6200) => [ + q(6199) => [ q(Suma), ], - q(6201) => [ + q(6200) => [ q(Susquehannock), ], - q(6202) => [ + q(6201) => [ q(Sorkhei), ], - q(6203) => [ + q(6202) => [ q(Sou), ], - q(6204) => [ + q(6203) => [ q(Siculo Arabic), ], - q(6205) => [ + q(6204) => [ q(Sri Lankan Sign Language), ], - q(6206) => [ + q(6205) => [ q(Soqotri), ], - q(6207) => [ + q(6206) => [ q(Squamish), ], - q(6208) => [ + q(6207) => [ q(Saruga), ], - q(6209) => [ + q(6208) => [ q(Sora), ], - q(6210) => [ + q(6209) => [ q(Logudorese Sardinian), ], - q(6211) => [ + q(6210) => [ q(Sara), ], - q(6212) => [ + q(6211) => [ q(Nafi), ], - q(6213) => [ + q(6212) => [ q(Sulod), ], - q(6214) => [ + q(6213) => [ q(Sarikoli), ], - q(6215) => [ + q(6214) => [ q(Siriano), ], - q(6216) => [ + q(6215) => [ q(Serudung Murut), ], - q(6217) => [ + q(6216) => [ q(Isirawa), ], - q(6218) => [ + q(6217) => [ q(Saramaccan), ], - q(6219) => [ + q(6218) => [ q(Campidanese Sardinian), ], - q(6220) => [ + q(6219) => [ q(Siriono), ], - q(6221) => [ + q(6220) => [ q(Sarsi), ], - q(6222) => [ + q(6221) => [ q(Sauri), ], - q(6223) => [ + q(6222) => [ q(Surui), ], - q(6224) => [ + q(6223) => [ q(Southern Sorsoganon), ], - q(6225) => [ + q(6224) => [ q(Serua), ], - q(6226) => [ + q(6225) => [ q(Sirmauri), ], - q(6227) => [ + q(6226) => [ q(Sera), ], - q(6228) => [ + q(6227) => [ q(Shahmirzadi), ], - q(6229) => [ + q(6228) => [ q(Southern Sama), ], - q(6230) => [ + q(6229) => [ q(Suba-Simbiti), ], - q(6231) => [ + q(6230) => [ q(Siroi), ], - q(6232) => [ + q(6231) => [ q(Balangingi), q(Bangingih Sama), ], - q(6233) => [ + q(6232) => [ q(Thao), ], - q(6234) => [ + q(6233) => [ q(Seimat), ], - q(6235) => [ + q(6234) => [ q(Shihhi Arabic), ], - q(6236) => [ + q(6235) => [ q(Sansi), ], - q(6237) => [ + q(6236) => [ q(Sausi), ], - q(6238) => [ + q(6237) => [ q(Sunam), ], - q(6239) => [ + q(6238) => [ q(Western Sisaala), ], - q(6240) => [ + q(6239) => [ q(Semnam), ], - q(6241) => [ + q(6240) => [ q(Waata), ], - q(6242) => [ + q(6241) => [ q(Sissano), ], - q(6243) => [ + q(6242) => [ q(Spanish Sign Language), ], - q(6244) => [ + q(6243) => [ q(So'a), ], - q(6245) => [ + q(6244) => [ q(Swiss-French Sign Language), ], - q(6246) => [ + q(6245) => [ q(So), ], - q(6247) => [ + q(6246) => [ q(Sinasina), ], - q(6248) => [ + q(6247) => [ q(Susuami), ], - q(6249) => [ + q(6248) => [ q(Shark Bay), ], - q(6250) => [ + q(6249) => [ q(Samberigi), ], - q(6251) => [ + q(6250) => [ q(Saho), ], - q(6252) => [ + q(6251) => [ q(Sengseng), ], - q(6253) => [ + q(6252) => [ q(Settla), ], - q(6254) => [ + q(6253) => [ q(Northern Subanen), ], - q(6255) => [ + q(6254) => [ q(Sentinel), ], - q(6256) => [ + q(6255) => [ q(Liana-Seti), ], - q(6257) => [ + q(6256) => [ q(Seta), ], - q(6258) => [ + q(6257) => [ q(Trieng), ], - q(6259) => [ + q(6258) => [ q(Shelta), ], - q(6260) => [ + q(6259) => [ q(Bulo Stieng), ], - q(6261) => [ + q(6260) => [ q(Matya Samo), ], - q(6262) => [ + q(6261) => [ q(Arammba), ], - q(6263) => [ + q(6262) => [ q(Stellingwerfs), ], - q(6264) => [ + q(6263) => [ q(Setaman), ], - q(6265) => [ + q(6264) => [ q(Owa), ], - q(6266) => [ + q(6265) => [ q(Stoney), ], - q(6267) => [ + q(6266) => [ q(Southeastern Tepehuan), ], - q(6268) => [ + q(6267) => [ q(Saterfriesisch), ], - q(6269) => [ + q(6268) => [ q(Straits Salish), ], - q(6270) => [ + q(6269) => [ q(Shumashti), ], - q(6271) => [ + q(6270) => [ q(Budeh Stieng), ], - q(6272) => [ + q(6271) => [ q(Samtao), ], - q(6273) => [ + q(6272) => [ q(Silt'e), ], - q(6274) => [ + q(6273) => [ q(Satawalese), ], - q(6275) => [ + q(6274) => [ q(Siberian Tatar), ], - q(6276) => [ + q(6275) => [ q(Sulka), ], - q(6277) => [ + q(6276) => [ q(Suku), ], - q(6278) => [ + q(6277) => [ q(Western Subanon), ], - q(6279) => [ + q(6278) => [ q(Suena), ], - q(6280) => [ + q(6279) => [ q(Suganga), ], - q(6281) => [ + q(6280) => [ q(Suki), ], - q(6282) => [ + q(6281) => [ q(Shubi), ], - q(6283) => [ + q(6282) => [ q(Suri), ], - q(6284) => [ + q(6283) => [ q(Mwaghavul), ], - q(6285) => [ + q(6284) => [ q(Subtiaba), ], - q(6286) => [ + q(6285) => [ q(Puroik), ], - q(6287) => [ + q(6286) => [ q(Sumbwa), ], - q(6288) => [ + q(6287) => [ q(Suya), ], - q(6289) => [ + q(6288) => [ q(Sunwar), ], - q(6290) => [ + q(6289) => [ q(Svan), ], - q(6291) => [ + q(6290) => [ q(Ulau-Suain), ], - q(6292) => [ + q(6291) => [ q(Vincentian Creole English), ], - q(6293) => [ + q(6292) => [ q(Serili), ], - q(6294) => [ + q(6293) => [ q(Slovakian Sign Language), ], - q(6295) => [ + q(6294) => [ q(Slavomolisano), ], - q(6296) => [ + q(6295) => [ q(Savara), ], - q(6297) => [ + q(6296) => [ q(Savosavo), ], - q(6298) => [ + q(6297) => [ q(Skalvian), ], - q(6299) => [ + q(6298) => [ q(Maore Comorian), ], - q(6300) => [ + q(6299) => [ q(Congo Swahili), ], - q(6301) => [ + q(6300) => [ q(Sere), ], - q(6302) => [ + q(6301) => [ q(Swabian), ], - q(6303) => [ + q(6302) => [ q(Swahili (individual language)), q(Kiswahili), ], - q(6304) => [ + q(6303) => [ q(Sui), ], - q(6305) => [ + q(6304) => [ q(Sira), ], - q(6306) => [ + q(6305) => [ q(Malawi Sena), ], - q(6307) => [ + q(6306) => [ q(Swedish Sign Language), ], - q(6308) => [ + q(6307) => [ q(Samosa), ], - q(6309) => [ + q(6308) => [ q(Sawknah), ], - q(6310) => [ + q(6309) => [ q(Shanenawa), ], - q(6311) => [ + q(6310) => [ q(Suau), ], - q(6312) => [ + q(6311) => [ q(Sharwa), ], - q(6313) => [ + q(6312) => [ q(Saweru), ], - q(6314) => [ + q(6313) => [ q(Seluwasan), ], - q(6315) => [ + q(6314) => [ q(Sawila), ], - q(6316) => [ + q(6315) => [ q(Suwawa), ], - q(6317) => [ + q(6316) => [ q(Shekhawati), ], - q(6318) => [ + q(6317) => [ q(Sowa), ], - q(6319) => [ + q(6318) => [ q(Suruaha), ], - q(6320) => [ + q(6319) => [ q(Sarua), ], - q(6321) => [ + q(6320) => [ q(Suba), ], - q(6322) => [ + q(6321) => [ q(Sicanian), ], - q(6323) => [ + q(6322) => [ q(Sighu), ], - q(6324) => [ + q(6323) => [ q(Shixing), ], - q(6325) => [ + q(6324) => [ q(Southern Kalapuya), ], - q(6326) => [ + q(6325) => [ q(Selian), ], - q(6327) => [ + q(6326) => [ q(Samre), ], - q(6328) => [ + q(6327) => [ q(Sangir), ], - q(6329) => [ + q(6328) => [ q(Sorothaptic), ], - q(6330) => [ + q(6329) => [ q(Saaroa), ], - q(6331) => [ + q(6330) => [ q(Sasaru), ], - q(6332) => [ + q(6331) => [ q(Upper Saxon), ], - q(6333) => [ + q(6332) => [ q(Saxwe Gbe), ], - q(6334) => [ + q(6333) => [ q(Siang), ], - q(6335) => [ + q(6334) => [ q(Central Subanen), ], - q(6336) => [ + q(6335) => [ q(Seki), ], - q(6337) => [ + q(6336) => [ q(Sukur), ], - q(6338) => [ + q(6337) => [ q(Sylheti), ], - q(6339) => [ + q(6338) => [ q(Maya Samo), ], - q(6340) => [ + q(6339) => [ q(Senaya), ], - q(6341) => [ + q(6340) => [ q(Suoy), ], - q(6342) => [ + q(6341) => [ q(Sinyar), ], - q(6343) => [ + q(6342) => [ q(Kagate), ], - q(6344) => [ + q(6343) => [ q(Samay), ], - q(6345) => [ + q(6344) => [ q(Al-Sayyid Bedouin Sign Language), ], - q(6346) => [ + q(6345) => [ q(Semelai), ], - q(6347) => [ + q(6346) => [ q(Ngalum), ], - q(6348) => [ + q(6347) => [ q(Semaq Beri), ], - q(6349) => [ + q(6348) => [ q(Seru), ], - q(6350) => [ + q(6349) => [ q(Seze), ], - q(6351) => [ + q(6350) => [ q(Sengele), ], - q(6352) => [ + q(6351) => [ q(Silesian), ], - q(6353) => [ + q(6352) => [ q(Sula), ], - q(6354) => [ + q(6353) => [ q(Suabo), ], - q(6355) => [ + q(6354) => [ q(Isu (Fako Division)), ], - q(6356) => [ + q(6355) => [ q(Sawai), ], - q(6357) => [ + q(6356) => [ q(Lower Tanana), ], - q(6358) => [ + q(6357) => [ q(Tabassaran), ], - q(6359) => [ + q(6358) => [ q(Lowland Tarahumara), ], - q(6360) => [ + q(6359) => [ q(Tause), ], - q(6361) => [ + q(6360) => [ q(Tariana), ], - q(6362) => [ + q(6361) => [ q(Tapirape), ], - q(6363) => [ + q(6362) => [ q(Tagoi), ], - q(6364) => [ + q(6363) => [ q(Eastern Tamang), ], - q(6365) => [ + q(6364) => [ q(Tala), ], - q(6366) => [ + q(6365) => [ q(Tal), ], - q(6367) => [ + q(6366) => [ q(Tangale), ], - q(6368) => [ + q(6367) => [ q(Yami), ], - q(6369) => [ + q(6368) => [ q(Taabwa), ], - q(6370) => [ + q(6369) => [ q(Tamasheq), ], - q(6371) => [ + q(6370) => [ q(Central Tarahumara), ], - q(6372) => [ + q(6371) => [ q(Tay Boi), ], - q(6373) => [ + q(6372) => [ q(Upper Tanana), ], - q(6374) => [ + q(6373) => [ q(Tatuyo), ], - q(6375) => [ + q(6374) => [ q(Tai), ], - q(6376) => [ + q(6375) => [ q(Tamki), ], - q(6377) => [ + q(6376) => [ q(Atayal), ], - q(6378) => [ + q(6377) => [ q(Tocho), ], - q(6379) => [ + q(6378) => [ q(Aikana), ], - q(6380) => [ + q(6379) => [ q(Tapeba), ], - q(6381) => [ + q(6380) => [ q(Takia), ], - q(6382) => [ + q(6381) => [ q(Kaki Ae), ], - q(6383) => [ + q(6382) => [ q(Tanimbili), ], - q(6384) => [ + q(6383) => [ q(Mandara), ], - q(6385) => [ + q(6384) => [ q(North Tairora), ], - q(6386) => [ + q(6385) => [ q(Thurawal), ], - q(6387) => [ + q(6386) => [ q(Gaam), ], - q(6388) => [ + q(6387) => [ q(Tiang), ], - q(6389) => [ + q(6388) => [ q(Calamian Tagbanwa), ], - q(6390) => [ + q(6389) => [ q(Tboli), ], - q(6391) => [ + q(6390) => [ q(Tagbu), ], - q(6392) => [ + q(6391) => [ q(Barro Negro Tunebo), ], - q(6393) => [ + q(6392) => [ q(Tawala), ], - q(6394) => [ + q(6393) => [ q(Taworta), q(Diebroud), ], - q(6395) => [ + q(6394) => [ q(Tumtum), ], - q(6396) => [ + q(6395) => [ q(Tanguat), ], - q(6397) => [ + q(6396) => [ q(Tembo (Kitembo)), ], - q(6398) => [ + q(6397) => [ q(Tubar), ], - q(6399) => [ + q(6398) => [ q(Tobo), ], - q(6400) => [ + q(6399) => [ q(Tagbanwa), ], - q(6401) => [ + q(6400) => [ q(Kapin), ], - q(6402) => [ + q(6401) => [ q(Tabaru), ], - q(6403) => [ + q(6402) => [ q(Ditammari), ], - q(6404) => [ + q(6403) => [ q(Ticuna), ], - q(6405) => [ + q(6404) => [ q(Tanacross), ], - q(6406) => [ + q(6405) => [ q(Datooga), ], - q(6407) => [ + q(6406) => [ q(Tafi), ], - q(6408) => [ + q(6407) => [ q(Southern Tutchone), ], - q(6409) => [ + q(6408) => [ q(Malinaltepec Me'phaa), q(Malinaltepec Tlapanec), ], - q(6410) => [ + q(6409) => [ q(Tamagario), ], - q(6411) => [ + q(6410) => [ q(Turks And Caicos Creole English), ], - q(6412) => [ + q(6411) => [ q(Wara), ], - q(6413) => [ + q(6412) => [ q(Tchitchege), ], - q(6414) => [ + q(6413) => [ q(Taman (Myanmar)), ], - q(6415) => [ + q(6414) => [ q(Tanahmerah), ], - q(6416) => [ + q(6415) => [ q(Tichurong), ], - q(6417) => [ + q(6416) => [ q(Taungyo), ], - q(6418) => [ + q(6417) => [ q(Tawr Chin), ], - q(6419) => [ + q(6418) => [ q(Kaiy), ], - q(6420) => [ + q(6419) => [ q(Torres Strait Creole), ], - q(6421) => [ + q(6420) => [ q(T'en), ], - q(6422) => [ + q(6421) => [ q(Southeastern Tarahumara), ], - q(6423) => [ + q(6422) => [ q(Tecpatlan Totonac), ], - q(6424) => [ + q(6423) => [ q(Toda), ], - q(6425) => [ + q(6424) => [ q(Tulu), ], - q(6426) => [ + q(6425) => [ q(Thado Chin), ], - q(6427) => [ + q(6426) => [ q(Tagdal), ], - q(6428) => [ + q(6427) => [ q(Panchpargania), ], - q(6429) => [ + q(6428) => [ q(Embera-Tado), ], - q(6430) => [ + q(6429) => [ q(Tai Nua), ], - q(6431) => [ + q(6430) => [ q(Tiranige Diga Dogon), ], - q(6432) => [ + q(6431) => [ q(Talieng), ], - q(6433) => [ + q(6432) => [ q(Western Tamang), ], - q(6434) => [ + q(6433) => [ q(Thulung), ], - q(6435) => [ + q(6434) => [ q(Tomadino), ], - q(6436) => [ + q(6435) => [ q(Tajio), ], - q(6437) => [ + q(6436) => [ q(Tambas), ], - q(6438) => [ + q(6437) => [ q(Sur), ], - q(6439) => [ + q(6438) => [ q(Tondano), ], - q(6440) => [ + q(6439) => [ q(Teme), ], - q(6441) => [ + q(6440) => [ q(Tita), ], - q(6442) => [ + q(6441) => [ q(Todrah), ], - q(6443) => [ + q(6442) => [ q(Doutai), ], - q(6444) => [ + q(6443) => [ q(Tetun Dili), ], - q(6445) => [ + q(6444) => [ q(Tempasuk Dusun), ], - q(6446) => [ + q(6445) => [ q(Toro), ], - q(6447) => [ + q(6446) => [ q(Tandroy-Mahafaly Malagasy), ], - q(6448) => [ + q(6447) => [ q(Tadyawan), ], - q(6449) => [ + q(6448) => [ q(Temiar), ], - q(6450) => [ + q(6449) => [ q(Tetete), ], - q(6451) => [ + q(6450) => [ q(Terik), ], - q(6452) => [ + q(6451) => [ q(Tepo Krumen), ], - q(6453) => [ + q(6452) => [ q(Huehuetla Tepehua), ], - q(6454) => [ + q(6453) => [ q(Teressa), ], - q(6455) => [ + q(6454) => [ q(Teke-Tege), ], - q(6456) => [ + q(6455) => [ q(Tehuelche), ], - q(6457) => [ + q(6456) => [ q(Torricelli), ], - q(6458) => [ + q(6457) => [ q(Ibali Teke), ], - q(6459) => [ + q(6458) => [ q(Tama (Colombia)), ], - q(6460) => [ + q(6459) => [ q(Teso), ], - q(6461) => [ + q(6460) => [ q(Tepecano), ], - q(6462) => [ + q(6461) => [ q(Temein), ], - q(6463) => [ + q(6462) => [ q(Tengger), ], - q(6464) => [ + q(6463) => [ q(Soo), ], - q(6465) => [ + q(6464) => [ q(Teor), ], - q(6466) => [ + q(6465) => [ q(Tewa (USA)), ], - q(6467) => [ + q(6466) => [ q(Tennet), ], - q(6468) => [ + q(6467) => [ q(Tulishi), ], - q(6469) => [ + q(6468) => [ q(Tofin Gbe), ], - q(6470) => [ + q(6469) => [ q(Tanaina), ], - q(6471) => [ + q(6470) => [ q(Tefaro), ], - q(6472) => [ + q(6471) => [ q(Teribe), ], - q(6473) => [ + q(6472) => [ q(Ternate), ], - q(6474) => [ + q(6473) => [ q(Sagalla), ], - q(6475) => [ + q(6474) => [ q(Tobilung), ], - q(6476) => [ + q(6475) => [ q(Tigak), ], - q(6477) => [ + q(6476) => [ q(Ciwogai), ], - q(6478) => [ + q(6477) => [ q(Eastern Gorkha Tamang), ], - q(6479) => [ + q(6478) => [ q(Chalikha), ], - q(6480) => [ + q(6479) => [ q(Tobagonian Creole English), ], - q(6481) => [ + q(6480) => [ q(Lawunuia), ], - q(6482) => [ + q(6481) => [ q(Tagin), ], - q(6483) => [ + q(6482) => [ q(Tandaganon), ], - q(6484) => [ + q(6483) => [ q(Sudest), ], - q(6485) => [ + q(6484) => [ q(Tangoa), ], - q(6486) => [ + q(6485) => [ q(Tring), ], - q(6487) => [ + q(6486) => [ q(Tareng), ], - q(6488) => [ + q(6487) => [ q(Nume), ], - q(6489) => [ + q(6488) => [ q(Central Tagbanwa), ], - q(6490) => [ + q(6489) => [ q(Tanggu), ], - q(6491) => [ + q(6490) => [ q(Tingui-Boto), ], - q(6492) => [ + q(6491) => [ q(Tagwana Senoufo), ], - q(6493) => [ + q(6492) => [ q(Tagish), ], - q(6494) => [ + q(6493) => [ q(Togoyo), ], - q(6495) => [ + q(6494) => [ q(Tagalaka), ], - q(6496) => [ + q(6495) => [ q(Tai Hang Tong), ], - q(6497) => [ + q(6496) => [ q(Thayore), ], - q(6498) => [ + q(6497) => [ q(Chitwania Tharu), ], - q(6499) => [ + q(6498) => [ q(Thangmi), ], - q(6500) => [ + q(6499) => [ q(Northern Tarahumara), ], - q(6501) => [ + q(6500) => [ q(Tai Long), ], - q(6502) => [ + q(6501) => [ q(Tharaka), q(Kitharaka), ], - q(6503) => [ + q(6502) => [ q(Dangaura Tharu), ], - q(6504) => [ + q(6503) => [ q(Aheu), ], - q(6505) => [ + q(6504) => [ q(Thachanadan), ], - q(6506) => [ + q(6505) => [ q(Thompson), ], - q(6507) => [ + q(6506) => [ q(Kochila Tharu), ], - q(6508) => [ + q(6507) => [ q(Rana Tharu), ], - q(6509) => [ + q(6508) => [ q(Thakali), ], - q(6510) => [ + q(6509) => [ q(Tahltan), ], - q(6511) => [ + q(6510) => [ q(Thuri), ], - q(6512) => [ + q(6511) => [ q(Tahaggart Tamahaq), ], - q(6513) => [ + q(6512) => [ q(Thudam), ], - q(6514) => [ + q(6513) => [ q(Tha), ], - q(6515) => [ + q(6514) => [ q(Tayart Tamajeq), ], - q(6516) => [ + q(6515) => [ q(Tidikelt Tamazight), ], - q(6517) => [ + q(6516) => [ q(Tira), ], - q(6518) => [ + q(6517) => [ q(Tidong), ], - q(6519) => [ + q(6518) => [ q(Tifal), ], - q(6520) => [ + q(6519) => [ q(Timugon Murut), ], - q(6521) => [ + q(6520) => [ q(Tiene), ], - q(6522) => [ + q(6521) => [ q(Tilung), ], - q(6523) => [ + q(6522) => [ q(Tikar), ], - q(6524) => [ + q(6523) => [ q(Tillamook), ], - q(6525) => [ + q(6524) => [ q(Timbe), ], - q(6526) => [ + q(6525) => [ q(Tindi), ], - q(6527) => [ + q(6526) => [ q(Teop), ], - q(6528) => [ + q(6527) => [ q(Trimuris), ], - q(6529) => [ + q(6528) => [ q(Tiefo), ], - q(6530) => [ + q(6529) => [ q(Masadiit Itneg), ], - q(6531) => [ + q(6530) => [ q(Tinigua), ], - q(6532) => [ + q(6531) => [ q(Adasen), ], - q(6533) => [ + q(6532) => [ q(Tiwi), ], - q(6534) => [ + q(6533) => [ q(Southern Tiwa), ], - q(6535) => [ + q(6534) => [ q(Tiruray), ], - q(6536) => [ + q(6535) => [ q(Tai Hongjin), ], - q(6537) => [ + q(6536) => [ q(Tajuasohn), ], - q(6538) => [ + q(6537) => [ q(Tunjung), ], - q(6539) => [ + q(6538) => [ q(Northern Tujia), ], - q(6540) => [ + q(6539) => [ q(Tai Laing), ], - q(6541) => [ + q(6540) => [ q(Timucua), ], - q(6542) => [ + q(6541) => [ q(Tonjon), ], - q(6543) => [ + q(6542) => [ q(Temacine Tamazight), ], - q(6544) => [ + q(6543) => [ q(Southern Tujia), ], - q(6545) => [ + q(6544) => [ q(Tjurruru), ], - q(6546) => [ + q(6545) => [ q(Djabwurrung), ], - q(6547) => [ + q(6546) => [ q(Truka), ], - q(6548) => [ + q(6547) => [ q(Buksa), ], - q(6549) => [ + q(6548) => [ q(Tukudede), ], - q(6550) => [ + q(6549) => [ q(Takwane), ], - q(6551) => [ + q(6550) => [ q(Tukumanfed), ], - q(6552) => [ + q(6551) => [ q(Tesaka Malagasy), ], - q(6553) => [ + q(6552) => [ q(Takelma), ], - q(6554) => [ + q(6553) => [ q(Toku-No-Shima), ], - q(6555) => [ + q(6554) => [ q(Tikopia), ], - q(6556) => [ + q(6555) => [ q(Tee), ], - q(6557) => [ + q(6556) => [ q(Tsakhur), ], - q(6558) => [ + q(6557) => [ q(Takestani), ], - q(6559) => [ + q(6558) => [ q(Kathoriya Tharu), ], - q(6560) => [ + q(6559) => [ q(Upper Necaxa Totonac), ], - q(6561) => [ + q(6560) => [ q(Mur Pano), ], - q(6562) => [ + q(6561) => [ q(Teanu), ], - q(6563) => [ + q(6562) => [ q(Tangko), ], - q(6564) => [ + q(6563) => [ q(Takua), ], - q(6565) => [ + q(6564) => [ q(Southwestern Tepehuan), ], - q(6566) => [ + q(6565) => [ q(Tobelo), ], - q(6567) => [ + q(6566) => [ q(Yecuatla Totonac), ], - q(6568) => [ + q(6567) => [ q(Talaud), ], - q(6569) => [ + q(6568) => [ q(Telefol), ], - q(6570) => [ + q(6569) => [ q(Tofanma), ], - q(6571) => [ + q(6570) => [ q(Talinga-Bwisi), ], - q(6572) => [ + q(6571) => [ q(Taloki), ], - q(6573) => [ + q(6572) => [ q(Tetela), ], - q(6574) => [ + q(6573) => [ q(Tolomako), ], - q(6575) => [ + q(6574) => [ q(Talondo'), ], - q(6576) => [ + q(6575) => [ q(Talodi), ], - q(6577) => [ + q(6576) => [ q(Filomena Mata-Coahuitlan Totonac), ], - q(6578) => [ + q(6577) => [ q(Tai Loi), ], - q(6579) => [ + q(6578) => [ q(Talise), ], - q(6580) => [ + q(6579) => [ q(Tambotalo), ], - q(6581) => [ + q(6580) => [ q(Teluti), ], - q(6582) => [ + q(6581) => [ q(Tulehu), ], - q(6583) => [ + q(6582) => [ q(Taliabu), ], - q(6584) => [ + q(6583) => [ q(Khehek), ], - q(6585) => [ + q(6584) => [ q(Talysh), ], - q(6586) => [ + q(6585) => [ q(Tama (Chad)), ], - q(6587) => [ + q(6586) => [ q(Katbol), q(Avava), ], - q(6588) => [ + q(6587) => [ q(Tumak), ], - q(6589) => [ + q(6588) => [ q(Haruai), ], - q(6590) => [ + q(6589) => [ q(Tremembe), ], - q(6591) => [ + q(6590) => [ q(Toba-Maskoy), ], - q(6592) => [ + q(6591) => [ q(Ternateno), ], - q(6593) => [ + q(6592) => [ q(Tutuba), ], - q(6594) => [ + q(6593) => [ q(Samarokena), ], - q(6595) => [ + q(6594) => [ q(Northwestern Tamang), ], - q(6596) => [ + q(6595) => [ q(Tamnim Citak), ], - q(6597) => [ + q(6596) => [ q(Tai Thanh), ], - q(6598) => [ + q(6597) => [ q(Taman (Indonesia)), ], - q(6599) => [ + q(6598) => [ q(Temoq), ], - q(6600) => [ + q(6599) => [ q(Tai Mene), ], - q(6601) => [ + q(6600) => [ q(Tumleo), ], - q(6602) => [ + q(6601) => [ q(Jewish Babylonian Aramaic (ca. 200-1200 CE)), ], - q(6603) => [ + q(6602) => [ q(Tima), ], - q(6604) => [ + q(6603) => [ q(Tasmate), ], - q(6605) => [ + q(6604) => [ q(Iau), ], - q(6606) => [ + q(6605) => [ q(Tembo (Motembo)), ], - q(6607) => [ + q(6606) => [ q(Temuan), ], - q(6608) => [ + q(6607) => [ q(Tami), ], - q(6609) => [ + q(6608) => [ q(Tamanaku), ], - q(6610) => [ + q(6609) => [ q(Tacana), ], - q(6611) => [ + q(6610) => [ q(Western Tunebo), ], - q(6612) => [ + q(6611) => [ q(Tanimuca-Retuara), ], - q(6613) => [ + q(6612) => [ q(Angosturas Tunebo), ], - q(6614) => [ + q(6613) => [ q(Tinoc Kallahan), ], - q(6615) => [ + q(6614) => [ q(Tobanga), ], - q(6616) => [ + q(6615) => [ q(Maiani), ], - q(6617) => [ + q(6616) => [ q(Tandia), ], - q(6618) => [ + q(6617) => [ q(Kwamera), ], - q(6619) => [ + q(6618) => [ q(Lenakel), ], - q(6620) => [ + q(6619) => [ q(Tabla), ], - q(6621) => [ + q(6620) => [ q(North Tanna), ], - q(6622) => [ + q(6621) => [ q(Toromono), ], - q(6623) => [ + q(6622) => [ q(Whitesands), ], - q(6624) => [ + q(6623) => [ q(Taino), ], - q(6625) => [ + q(6624) => [ q(Menik), ], - q(6626) => [ + q(6625) => [ q(Tenis), ], - q(6627) => [ + q(6626) => [ q(Tontemboan), ], - q(6628) => [ + q(6627) => [ q(Tay Khang), ], - q(6629) => [ + q(6628) => [ q(Tangchangya), ], - q(6630) => [ + q(6629) => [ q(Tonsawang), ], - q(6631) => [ + q(6630) => [ q(Tanema), ], - q(6632) => [ + q(6631) => [ q(Tongwe), ], - q(6633) => [ + q(6632) => [ q(Tonga (Thailand)), ], - q(6634) => [ + q(6633) => [ q(Toba), ], - q(6635) => [ + q(6634) => [ q(Coyutla Totonac), ], - q(6636) => [ + q(6635) => [ q(Toma), ], - q(6637) => [ + q(6636) => [ q(Tomedes), ], - q(6638) => [ + q(6637) => [ q(Gizrra), ], - q(6639) => [ + q(6638) => [ q(Gitonga), ], - q(6640) => [ + q(6639) => [ q(Tonga (Zambia)), ], - q(6641) => [ + q(6640) => [ q(Tojolabal), ], - q(6642) => [ + q(6641) => [ q(Tolowa), ], - q(6643) => [ + q(6642) => [ q(Tombulu), ], - q(6644) => [ + q(6643) => [ q(Xicotepec De Juarez Totonac), ], - q(6645) => [ + q(6644) => [ q(Papantla Totonac), ], - q(6646) => [ + q(6645) => [ q(Toposa), ], - q(6647) => [ + q(6646) => [ q(Togbo-Vara Banda), ], - q(6648) => [ + q(6647) => [ q(Highland Totonac), ], - q(6649) => [ + q(6648) => [ q(Tho), ], - q(6650) => [ + q(6649) => [ q(Upper Taromi), ], - q(6651) => [ + q(6650) => [ q(Jemez), ], - q(6652) => [ + q(6651) => [ q(Tobian), ], - q(6653) => [ + q(6652) => [ q(Topoiyo), ], - q(6654) => [ + q(6653) => [ q(To), ], - q(6655) => [ + q(6654) => [ q(Taupota), ], - q(6656) => [ + q(6655) => [ q(Azoyu Me'phaa), q(Azoyu Tlapanec), ], - q(6657) => [ + q(6656) => [ q(Tippera), ], - q(6658) => [ + q(6657) => [ q(Tarpia), ], - q(6659) => [ + q(6658) => [ q(Kula), ], - q(6660) => [ + q(6659) => [ q(Tapiete), ], - q(6661) => [ + q(6660) => [ q(Tupinikin), ], - q(6662) => [ + q(6661) => [ q(Tlacoapa Me'phaa), q(Tlacoapa Tlapanec), ], - q(6663) => [ + q(6662) => [ q(Tampulma), ], - q(6664) => [ + q(6663) => [ q(Tupinamba), ], - q(6665) => [ + q(6664) => [ q(Tai Pao), ], - q(6666) => [ + q(6665) => [ q(Pisaflores Tepehua), ], - q(6667) => [ + q(6666) => [ q(Tukpa), ], - q(6668) => [ + q(6667) => [ q(Tupari), ], - q(6669) => [ + q(6668) => [ q(Tlachichilco Tepehua), ], - q(6670) => [ + q(6669) => [ q(Tampuan), ], - q(6671) => [ + q(6670) => [ q(Tanapag), ], - q(6672) => [ + q(6671) => [ q(Tupi), ], - q(6673) => [ + q(6672) => [ q(Acatepec Me'phaa), q(Acatepec Tlapanec), ], - q(6674) => [ + q(6673) => [ q(Trumai), ], - q(6675) => [ + q(6674) => [ q(Tinputz), ], - q(6676) => [ + q(6675) => [ q(Tembe), ], - q(6677) => [ + q(6676) => [ q(Lehali), ], - q(6678) => [ + q(6677) => [ q(Turumsa), ], - q(6679) => [ + q(6678) => [ q(Tenino), ], - q(6680) => [ + q(6679) => [ q(Toaripi), ], - q(6681) => [ + q(6680) => [ q(Tomoip), ], - q(6682) => [ + q(6681) => [ q(Tunni), ], - q(6683) => [ + q(6682) => [ q(Torona), ], - q(6684) => [ + q(6683) => [ q(Western Totonac), ], - q(6685) => [ + q(6684) => [ q(Touo), ], - q(6686) => [ + q(6685) => [ q(Tonkawa), ], - q(6687) => [ + q(6686) => [ q(Tirahi), ], - q(6688) => [ + q(6687) => [ q(Terebu), ], - q(6689) => [ + q(6688) => [ q(Copala Triqui), ], - q(6690) => [ + q(6689) => [ q(Turi), ], - q(6691) => [ + q(6690) => [ q(East Tarangan), ], - q(6692) => [ + q(6691) => [ q(Trinidadian Creole English), ], - q(6693) => [ + q(6692) => [ q(Lishan Didan), ], - q(6694) => [ + q(6693) => [ q(Turaka), ], - q(6695) => [ + q(6694) => [ q(Trio), ], - q(6696) => [ + q(6695) => [ q(Toram), ], - q(6697) => [ + q(6696) => [ q(Traveller Scottish), ], - q(6698) => [ + q(6697) => [ q(Tregami), ], - q(6699) => [ + q(6698) => [ q(Trinitario), ], - q(6700) => [ + q(6699) => [ q(Tarao Naga), ], - q(6701) => [ + q(6700) => [ q(Kok Borok), ], - q(6702) => [ + q(6701) => [ q(San Martin Itunyoso Triqui), ], - q(6703) => [ + q(6702) => [ q(Taushiro), ], - q(6704) => [ + q(6703) => [ q(Chicahuaxtla Triqui), ], - q(6705) => [ + q(6704) => [ q(Tunggare), ], - q(6706) => [ + q(6705) => [ q(Turoyo), q(Surayt), ], - q(6707) => [ + q(6706) => [ q(Taroko), ], - q(6708) => [ + q(6707) => [ q(Torwali), ], - q(6709) => [ + q(6708) => [ q(Tringgus-Sembaan Bidayuh), ], - q(6710) => [ + q(6709) => [ q(Turung), ], - q(6711) => [ + q(6710) => [ q(Tora), ], - q(6712) => [ + q(6711) => [ q(Tsaangi), ], - q(6713) => [ + q(6712) => [ q(Tsamai), ], - q(6714) => [ + q(6713) => [ q(Tswa), ], - q(6715) => [ + q(6714) => [ q(Tsakonian), ], - q(6716) => [ + q(6715) => [ q(Tunisian Sign Language), ], - q(6717) => [ + q(6716) => [ q(Tausug), ], - q(6718) => [ + q(6717) => [ q(Tsuvan), ], - q(6719) => [ + q(6718) => [ q(Tshangla), ], - q(6720) => [ + q(6719) => [ q(Tseku), ], - q(6721) => [ + q(6720) => [ q(Ts'un-Lao), ], - q(6722) => [ + q(6721) => [ q(Turkish Sign Language), q(Turk Isaret Dili), ], - q(6723) => [ + q(6722) => [ q(Northern Toussian), ], - q(6724) => [ + q(6723) => [ q(Thai Sign Language), ], - q(6725) => [ + q(6724) => [ q(Akei), ], - q(6726) => [ + q(6725) => [ q(Taiwan Sign Language), ], - q(6727) => [ + q(6726) => [ q(Tondi Songway Kiini), ], - q(6728) => [ + q(6727) => [ q(Tsou), ], - q(6729) => [ + q(6728) => [ q(Tsogo), ], - q(6730) => [ + q(6729) => [ q(Tsishingini), ], - q(6731) => [ + q(6730) => [ q(Mubami), ], - q(6732) => [ + q(6731) => [ q(Tebul Sign Language), ], - q(6733) => [ + q(6732) => [ q(Purepecha), ], - q(6734) => [ + q(6733) => [ q(Tutelo), ], - q(6735) => [ + q(6734) => [ q(Gaa), ], - q(6736) => [ + q(6735) => [ q(Tektiteko), ], - q(6737) => [ + q(6736) => [ q(Tauade), ], - q(6738) => [ + q(6737) => [ q(Bwanabwana), ], - q(6739) => [ + q(6738) => [ q(Tuotomb), ], - q(6740) => [ + q(6739) => [ q(Tutong), ], - q(6741) => [ + q(6740) => [ q(Upper Ta'oih), ], - q(6742) => [ + q(6741) => [ q(Tobati), ], - q(6743) => [ + q(6742) => [ q(Tooro), ], - q(6744) => [ + q(6743) => [ q(Totoro), ], - q(6745) => [ + q(6744) => [ q(Totela), ], - q(6746) => [ + q(6745) => [ q(Northern Tutchone), ], - q(6747) => [ + q(6746) => [ q(Towei), ], - q(6748) => [ + q(6747) => [ q(Lower Ta'oih), ], - q(6749) => [ + q(6748) => [ q(Tombelala), ], - q(6750) => [ + q(6749) => [ q(Tawallammat Tamajaq), ], - q(6751) => [ + q(6750) => [ q(Tera), ], - q(6752) => [ + q(6751) => [ q(Northeastern Thai), ], - q(6753) => [ + q(6752) => [ q(Muslim Tat), ], - q(6754) => [ + q(6753) => [ q(Torau), ], - q(6755) => [ + q(6754) => [ q(Titan), ], - q(6756) => [ + q(6755) => [ q(Long Wat), ], - q(6757) => [ + q(6756) => [ q(Sikaritai), ], - q(6758) => [ + q(6757) => [ q(Tsum), ], - q(6759) => [ + q(6758) => [ q(Wiarumus), ], - q(6760) => [ + q(6759) => [ q(Tubatulabal), ], - q(6761) => [ + q(6760) => [ q(Mutu), ], - q(6762) => [ + q(6761) => [ q(Tuxa), ], - q(6763) => [ + q(6762) => [ q(Tuyuca), ], - q(6764) => [ + q(6763) => [ q(Central Tunebo), ], - q(6765) => [ + q(6764) => [ q(Tunia), ], - q(6766) => [ + q(6765) => [ q(Taulil), ], - q(6767) => [ + q(6766) => [ q(Tupuri), ], - q(6768) => [ + q(6767) => [ q(Tugutil), ], - q(6769) => [ + q(6768) => [ q(Tula), ], - q(6770) => [ + q(6769) => [ q(Tunica), ], - q(6771) => [ + q(6770) => [ q(Tucano), ], - q(6772) => [ + q(6771) => [ q(Tedaga), ], - q(6773) => [ + q(6772) => [ q(Tuscarora), ], - q(6774) => [ + q(6773) => [ q(Tututni), ], - q(6775) => [ + q(6774) => [ q(Turkana), ], - q(6776) => [ + q(6775) => [ q(Tuxinawa), ], - q(6777) => [ + q(6776) => [ q(Tugen), ], - q(6778) => [ + q(6777) => [ q(Turka), ], - q(6779) => [ + q(6778) => [ q(Vaghua), ], - q(6780) => [ + q(6779) => [ q(Tsuvadi), ], - q(6781) => [ + q(6780) => [ q(Te'un), ], - q(6782) => [ + q(6781) => [ q(Southeast Ambrym), ], - q(6783) => [ + q(6782) => [ q(Tela-Masbuar), ], - q(6784) => [ + q(6783) => [ q(Tavoyan), ], - q(6785) => [ + q(6784) => [ q(Tidore), ], - q(6786) => [ + q(6785) => [ q(Taveta), ], - q(6787) => [ + q(6786) => [ q(Tutsa Naga), ], - q(6788) => [ + q(6787) => [ q(Tunen), ], - q(6789) => [ + q(6788) => [ q(Sedoa), ], - q(6790) => [ + q(6789) => [ q(Timor Pidgin), ], - q(6791) => [ + q(6790) => [ q(Twana), ], - q(6792) => [ + q(6791) => [ q(Western Tawbuid), ], - q(6793) => [ + q(6792) => [ q(Teshenawa), ], - q(6794) => [ + q(6793) => [ q(Twents), ], - q(6795) => [ + q(6794) => [ q(Tewa (Indonesia)), ], - q(6796) => [ + q(6795) => [ q(Northern Tiwa), ], - q(6797) => [ + q(6796) => [ q(Tereweng), ], - q(6798) => [ + q(6797) => [ q(Tai Don), ], - q(6799) => [ + q(6798) => [ q(Tawara), ], - q(6800) => [ + q(6799) => [ q(Tawang Monpa), ], - q(6801) => [ + q(6800) => [ q(Twendi), ], - q(6802) => [ + q(6801) => [ q(Tswapong), ], - q(6803) => [ + q(6802) => [ q(Ere), ], - q(6804) => [ + q(6803) => [ q(Tasawaq), ], - q(6805) => [ + q(6804) => [ q(Southwestern Tarahumara), ], - q(6806) => [ + q(6805) => [ q(Turiwara), ], - q(6807) => [ + q(6806) => [ q(Termanu), ], - q(6808) => [ + q(6807) => [ q(Tuwari), ], - q(6809) => [ + q(6808) => [ q(Tewe), ], - q(6810) => [ + q(6809) => [ q(Tawoyan), ], - q(6811) => [ + q(6810) => [ q(Tombonuo), ], - q(6812) => [ + q(6811) => [ q(Tokharian B), ], - q(6813) => [ + q(6812) => [ q(Tsetsaut), ], - q(6814) => [ + q(6813) => [ q(Totoli), ], - q(6815) => [ + q(6814) => [ q(Tangut), ], - q(6816) => [ + q(6815) => [ q(Thracian), ], - q(6817) => [ + q(6816) => [ q(Ikpeng), ], - q(6818) => [ + q(6817) => [ q(Tarjumo), ], - q(6819) => [ + q(6818) => [ q(Tomini), ], - q(6820) => [ + q(6819) => [ q(West Tarangan), ], - q(6821) => [ + q(6820) => [ q(Toto), ], - q(6822) => [ + q(6821) => [ q(Tii), ], - q(6823) => [ + q(6822) => [ q(Tartessian), ], - q(6824) => [ + q(6823) => [ q(Tonsea), ], - q(6825) => [ + q(6824) => [ q(Citak), ], - q(6826) => [ + q(6825) => [ q(Kayapo), ], - q(6827) => [ + q(6826) => [ q(Tatana), ], - q(6828) => [ + q(6827) => [ q(Tanosy Malagasy), ], - q(6829) => [ + q(6828) => [ q(Tauya), ], - q(6830) => [ + q(6829) => [ q(Kyanga), ], - q(6831) => [ + q(6830) => [ q(O'du), ], - q(6832) => [ + q(6831) => [ q(Teke-Tsaayi), ], - q(6833) => [ + q(6832) => [ q(Tai Do), ], - q(6834) => [ + q(6833) => [ q(Thu Lao), ], - q(6835) => [ + q(6834) => [ q(Kombai), ], - q(6836) => [ + q(6835) => [ q(Thaypan), ], - q(6837) => [ + q(6836) => [ q(Tai Daeng), ], - q(6838) => [ + q(6837) => [ q(Tay Sa Pa), ], - q(6839) => [ + q(6838) => [ q(Tay Tac), ], - q(6840) => [ + q(6839) => [ q(Kua), ], - q(6841) => [ + q(6840) => [ q(Teke-Tyee), ], - q(6842) => [ + q(6841) => [ q(Tay), ], - q(6843) => [ + q(6842) => [ q(Tanzanian Sign Language), ], - q(6844) => [ + q(6843) => [ q(Tzeltal), ], - q(6845) => [ + q(6844) => [ q(Tz'utujil), ], - q(6846) => [ + q(6845) => [ q(Talossan), ], - q(6847) => [ + q(6846) => [ q(Central Atlas Tamazight), ], - q(6848) => [ + q(6847) => [ q(Tugun), ], - q(6849) => [ + q(6848) => [ q(Tzotzil), ], - q(6850) => [ + q(6849) => [ q(Tabriak), ], - q(6851) => [ + q(6850) => [ q(Uamue), ], - q(6852) => [ + q(6851) => [ q(Kuan), ], - q(6853) => [ + q(6852) => [ q(Tairuma), ], - q(6854) => [ + q(6853) => [ q(Ubang), ], - q(6855) => [ + q(6854) => [ q(Ubi), ], - q(6856) => [ + q(6855) => [ q(Buhi'non Bikol), ], - q(6857) => [ + q(6856) => [ q(Ubir), ], - q(6858) => [ + q(6857) => [ q(Umbu-Ungu), ], - q(6859) => [ + q(6858) => [ q(Ubykh), ], - q(6860) => [ + q(6859) => [ q(Uda), ], - q(6861) => [ + q(6860) => [ q(Udihe), ], - q(6862) => [ + q(6861) => [ q(Muduga), ], - q(6863) => [ + q(6862) => [ q(Udi), ], - q(6864) => [ + q(6863) => [ q(Ujir), ], - q(6865) => [ + q(6864) => [ q(Wuzlam), ], - q(6866) => [ + q(6865) => [ q(Uduk), ], - q(6867) => [ + q(6866) => [ q(Kioko), ], - q(6868) => [ + q(6867) => [ q(Ufim), ], - q(6869) => [ + q(6868) => [ q(Kuku-Ugbanh), ], - q(6870) => [ + q(6869) => [ q(Ughele), ], - q(6871) => [ + q(6870) => [ q(Ugandan Sign Language), ], - q(6872) => [ + q(6871) => [ q(Ugong), ], - q(6873) => [ + q(6872) => [ q(Uruguayan Sign Language), ], - q(6874) => [ + q(6873) => [ q(Uhami), ], - q(6875) => [ + q(6874) => [ q(Damal), ], - q(6876) => [ + q(6875) => [ q(Uisai), ], - q(6877) => [ + q(6876) => [ q(Iyive), ], - q(6878) => [ + q(6877) => [ q(Tanjijili), ], - q(6879) => [ + q(6878) => [ q(Kaburi), ], - q(6880) => [ + q(6879) => [ q(Ukuriguma), ], - q(6881) => [ + q(6880) => [ q(Ukhwejo), ], - q(6882) => [ + q(6881) => [ q(Ukrainian Sign Language), ], - q(6883) => [ + q(6882) => [ q(Ukpe-Bayobiri), ], - q(6884) => [ + q(6883) => [ q(Ukwa), ], - q(6885) => [ + q(6884) => [ q(Urubu-Kaapor Sign Language), q(Kaapor Sign Language), ], - q(6886) => [ + q(6885) => [ q(Ukue), ], - q(6887) => [ + q(6886) => [ q(Ukwuani-Aboh-Ndoni), ], - q(6888) => [ + q(6887) => [ q(Kuuk-Yak), ], - q(6889) => [ + q(6888) => [ q(Fungwa), ], - q(6890) => [ + q(6889) => [ q(Ulukwumi), ], - q(6891) => [ + q(6890) => [ q(Ulch), ], - q(6892) => [ + q(6891) => [ q(Lule), ], - q(6893) => [ + q(6892) => [ q(Usku), q(Afra), ], - q(6894) => [ + q(6893) => [ q(Ulithian), ], - q(6895) => [ + q(6894) => [ q(Meriam), ], - q(6896) => [ + q(6895) => [ q(Ullatan), ], - q(6897) => [ + q(6896) => [ q(Ulumanda'), ], - q(6898) => [ + q(6897) => [ q(Unserdeutsch), ], - q(6899) => [ + q(6898) => [ q(Uma' Lung), ], - q(6900) => [ + q(6899) => [ q(Ulwa), ], - q(6901) => [ + q(6900) => [ q(Umatilla), ], - q(6902) => [ + q(6901) => [ q(Marrucinian), ], - q(6903) => [ + q(6902) => [ q(Umbindhamu), ], - q(6904) => [ + q(6903) => [ q(Umbuygamu), ], - q(6905) => [ + q(6904) => [ q(Ukit), ], - q(6906) => [ + q(6905) => [ q(Umon), ], - q(6907) => [ + q(6906) => [ q(Makyan Naga), ], - q(6908) => [ + q(6907) => [ q(Umotina), ], - q(6909) => [ + q(6908) => [ q(Umpila), ], - q(6910) => [ + q(6909) => [ q(Umbugarla), ], - q(6911) => [ + q(6910) => [ q(Pendau), ], - q(6912) => [ + q(6911) => [ q(Munsee), ], - q(6913) => [ + q(6912) => [ q(North Watut), ], - q(6914) => [ + q(6913) => [ q(Uneme), ], - q(6915) => [ + q(6914) => [ q(Ngarinyin), ], - q(6916) => [ + q(6915) => [ q(Enawene-Nawe), ], - q(6917) => [ + q(6916) => [ q(Unami), ], - q(6918) => [ + q(6917) => [ q(Kurnai), ], - q(6919) => [ + q(6918) => [ q(Mundari), ], - q(6920) => [ + q(6919) => [ q(Unubahe), ], - q(6921) => [ + q(6920) => [ q(Munda), ], - q(6922) => [ + q(6921) => [ q(Unde Kaili), ], - q(6923) => [ + q(6922) => [ q(Umeda), ], - q(6924) => [ + q(6923) => [ q(Uripiv-Wala-Rano-Atchin), ], - q(6925) => [ + q(6924) => [ q(Urarina), ], - q(6926) => [ + q(6925) => [ q(Urubu-Kaapor), q(Kaapor), ], - q(6927) => [ + q(6926) => [ q(Urningangg), ], - q(6928) => [ + q(6927) => [ q(Uru), ], - q(6929) => [ + q(6928) => [ q(Uradhi), ], - q(6930) => [ + q(6929) => [ q(Urigina), ], - q(6931) => [ + q(6930) => [ q(Urhobo), ], - q(6932) => [ + q(6931) => [ q(Urim), ], - q(6933) => [ + q(6932) => [ q(Urak Lawoi'), ], - q(6934) => [ + q(6933) => [ q(Urali), ], - q(6935) => [ + q(6934) => [ q(Urapmin), ], - q(6936) => [ + q(6935) => [ q(Uruangnirin), ], - q(6937) => [ + q(6936) => [ q(Ura (Papua New Guinea)), ], - q(6938) => [ + q(6937) => [ q(Uru-Pa-In), ], - q(6939) => [ + q(6938) => [ q(Lehalurup), q(Loyop), ], - q(6940) => [ + q(6939) => [ q(Urat), ], - q(6941) => [ + q(6940) => [ q(Urumi), ], - q(6942) => [ + q(6941) => [ q(Uruava), ], - q(6943) => [ + q(6942) => [ q(Sop), ], - q(6944) => [ + q(6943) => [ q(Urimo), ], - q(6945) => [ + q(6944) => [ q(Orya), ], - q(6946) => [ + q(6945) => [ q(Uru-Eu-Wau-Wau), ], - q(6947) => [ + q(6946) => [ q(Usarufa), ], - q(6948) => [ + q(6947) => [ q(Ushojo), ], - q(6949) => [ + q(6948) => [ q(Usui), ], - q(6950) => [ + q(6949) => [ q(Usaghade), ], - q(6951) => [ + q(6950) => [ q(Uspanteco), ], - q(6952) => [ + q(6951) => [ q(Uya), ], - q(6953) => [ + q(6952) => [ q(Otank), ], - q(6954) => [ + q(6953) => [ q(Ute-Southern Paiute), ], - q(6955) => [ + q(6954) => [ q(Amba (Solomon Islands)), ], - q(6956) => [ + q(6955) => [ q(Etulo), ], - q(6957) => [ + q(6956) => [ q(Utu), ], - q(6958) => [ + q(6957) => [ q(Urum), ], - q(6959) => [ + q(6958) => [ q(Kulon-Pazeh), ], - q(6960) => [ + q(6959) => [ q(Ura (Vanuatu)), ], - q(6961) => [ + q(6960) => [ q(U), ], - q(6962) => [ + q(6961) => [ q(West Uvean), q(Fagauvea), ], - q(6963) => [ + q(6962) => [ q(Uri), ], - q(6964) => [ + q(6963) => [ q(Lote), ], - q(6965) => [ + q(6964) => [ q(Kuku-Uwanh), ], - q(6966) => [ + q(6965) => [ q(Doko-Uyanga), ], - q(6967) => [ + q(6966) => [ q(Northern Uzbek), ], - q(6968) => [ + q(6967) => [ q(Southern Uzbek), ], - q(6969) => [ + q(6968) => [ q(Vaagri Booli), ], - q(6970) => [ + q(6969) => [ q(Vale), ], - q(6971) => [ + q(6970) => [ q(Vafsi), ], - q(6972) => [ + q(6971) => [ q(Vagla), ], - q(6973) => [ + q(6972) => [ q(Varhadi-Nagpuri), ], - q(6974) => [ + q(6973) => [ q(Sekele), q(Northwestern Kung), q(Northwestern Kung), q(Vasekele), ], - q(6975) => [ + q(6974) => [ q(Vehes), ], - q(6976) => [ + q(6975) => [ q(Vanimo), ], - q(6977) => [ + q(6976) => [ q(Valman), ], - q(6978) => [ + q(6977) => [ q(Vao), ], - q(6979) => [ + q(6978) => [ q(Vaiphei), ], - q(6980) => [ + q(6979) => [ q(Huarijio), ], - q(6981) => [ + q(6980) => [ q(Vasavi), ], - q(6982) => [ + q(6981) => [ q(Vanuma), ], - q(6983) => [ + q(6982) => [ q(Varli), ], - q(6984) => [ + q(6983) => [ q(Wayu), ], - q(6985) => [ + q(6984) => [ q(Southeast Babar), ], - q(6986) => [ + q(6985) => [ q(Southwestern Bontok), ], - q(6987) => [ + q(6986) => [ q(Venetian), ], - q(6988) => [ + q(6987) => [ q(Veddah), ], - q(6989) => [ + q(6988) => [ q(Veluws), ], - q(6990) => [ + q(6989) => [ q(Vemgo-Mabas), ], - q(6991) => [ + q(6990) => [ q(Ventureno), ], - q(6992) => [ + q(6991) => [ q(Veps), ], - q(6993) => [ + q(6992) => [ q(Mom Jango), ], - q(6994) => [ + q(6993) => [ q(Vaghri), ], - q(6995) => [ + q(6994) => [ q(Vlaamse Gebarentaal), q(Flemish Sign Language), ], - q(6996) => [ + q(6995) => [ q(Virgin Islands Creole English), ], - q(6997) => [ + q(6996) => [ q(Vidunda), ], - q(6998) => [ + q(6997) => [ q(Vili), ], - q(6999) => [ + q(6998) => [ q(Viemo), ], - q(7000) => [ + q(6999) => [ q(Vilela), ], - q(7001) => [ + q(7000) => [ q(Vinza), ], - q(7002) => [ + q(7001) => [ q(Vishavan), ], - q(7003) => [ + q(7002) => [ q(Viti), ], - q(7004) => [ + q(7003) => [ q(Iduna), ], - q(7005) => [ + q(7004) => [ q(Kariyarra), ], - q(7006) => [ + q(7005) => [ q(Ija-Zuba), ], - q(7007) => [ + q(7006) => [ q(Kujarge), ], - q(7008) => [ + q(7007) => [ q(Kaur), ], - q(7009) => [ + q(7008) => [ q(Kulisusu), ], - q(7010) => [ + q(7009) => [ q(Kamakan), ], - q(7011) => [ + q(7010) => [ q(Kodeoha), ], - q(7012) => [ + q(7011) => [ q(Korlai Creole Portuguese), ], - q(7013) => [ + q(7012) => [ q(Tenggarong Kutai Malay), ], - q(7014) => [ + q(7013) => [ q(Kurrama), ], - q(7015) => [ + q(7014) => [ q(Valpei), ], - q(7016) => [ + q(7015) => [ q(Vlaams), ], - q(7017) => [ + q(7016) => [ q(Martuyhunira), ], - q(7018) => [ + q(7017) => [ q(Barbaram), ], - q(7019) => [ + q(7018) => [ q(Juxtlahuaca Mixtec), ], - q(7020) => [ + q(7019) => [ q(Mudu Koraga), ], - q(7021) => [ + q(7020) => [ q(East Masela), ], - q(7022) => [ + q(7021) => [ q(Mainfrankisch), ], - q(7023) => [ + q(7022) => [ q(Lungalunga), ], - q(7024) => [ + q(7023) => [ q(Maraghei), ], - q(7025) => [ + q(7024) => [ q(Miwa), ], - q(7026) => [ + q(7025) => [ q(Ixtayutla Mixtec), ], - q(7027) => [ + q(7026) => [ q(Makhuwa-Shirima), ], - q(7028) => [ + q(7027) => [ q(Malgana), ], - q(7029) => [ + q(7028) => [ q(Mitlatongo Mixtec), ], - q(7030) => [ + q(7029) => [ q(Soyaltepec Mazatec), ], - q(7031) => [ + q(7030) => [ q(Soyaltepec Mixtec), ], - q(7032) => [ + q(7031) => [ q(Marenje), ], - q(7033) => [ + q(7032) => [ q(Moksela), ], - q(7034) => [ + q(7033) => [ q(Muluridyi), ], - q(7035) => [ + q(7034) => [ q(Valley Maidu), ], - q(7036) => [ + q(7035) => [ q(Makhuwa), ], - q(7037) => [ + q(7036) => [ q(Tamazola Mixtec), ], - q(7038) => [ + q(7037) => [ q(Ayautla Mazatec), ], - q(7039) => [ + q(7038) => [ q(Mazatlan Mazatec), ], - q(7040) => [ + q(7039) => [ q(Vano), q(Lovono), ], - q(7041) => [ + q(7040) => [ q(Vinmavis), q(Neve'ei), ], - q(7042) => [ + q(7041) => [ q(Vunapu), ], - q(7043) => [ + q(7042) => [ q(Voro), ], - q(7044) => [ + q(7043) => [ q(Vera'a), ], - q(7045) => [ + q(7044) => [ q(Varisi), ], - q(7046) => [ + q(7045) => [ q(Burmbar), q(Banam Bay), ], - q(7047) => [ + q(7046) => [ q(Moldova Sign Language), ], - q(7048) => [ + q(7047) => [ q(Venezuelan Sign Language), ], - q(7049) => [ + q(7048) => [ q(Valencian Sign Language), q(Llengua de signes valenciana), ], - q(7050) => [ + q(7049) => [ q(Vitou), ], - q(7051) => [ + q(7050) => [ q(Vumbu), ], - q(7052) => [ + q(7051) => [ q(Vunjo), ], - q(7053) => [ + q(7052) => [ q(Vute), ], - q(7054) => [ + q(7053) => [ q(Awa (China)), ], - q(7055) => [ + q(7054) => [ q(Walla Walla), ], - q(7056) => [ + q(7055) => [ q(Wab), ], - q(7057) => [ + q(7056) => [ q(Wasco-Wishram), ], - q(7058) => [ + q(7057) => [ q(Wandamen), ], - q(7059) => [ + q(7058) => [ q(Walser), ], - q(7060) => [ + q(7059) => [ q(Wakona), ], - q(7061) => [ + q(7060) => [ q(Wa'ema), ], - q(7062) => [ + q(7061) => [ q(Watubela), ], - q(7063) => [ + q(7062) => [ q(Wares), ], - q(7064) => [ + q(7063) => [ q(Waffa), ], - q(7065) => [ + q(7064) => [ q(Wampanoag), ], - q(7066) => [ + q(7065) => [ q(Wan), ], - q(7067) => [ + q(7066) => [ q(Wappo), ], - q(7068) => [ + q(7067) => [ q(Wapishana), ], - q(7069) => [ + q(7068) => [ q(Wageman), ], - q(7070) => [ + q(7069) => [ q(Kaninuwa), ], - q(7071) => [ + q(7070) => [ q(Waura), ], - q(7072) => [ + q(7071) => [ q(Waka), ], - q(7073) => [ + q(7072) => [ q(Waiwai), ], - q(7074) => [ + q(7073) => [ q(Watam), q(Marangis), ], - q(7075) => [ + q(7074) => [ q(Wayana), ], - q(7076) => [ + q(7075) => [ q(Wampur), ], - q(7077) => [ + q(7076) => [ q(Warao), ], - q(7078) => [ + q(7077) => [ q(Wabo), ], - q(7079) => [ + q(7078) => [ q(Waritai), ], - q(7080) => [ + q(7079) => [ q(Wanda), ], - q(7081) => [ + q(7080) => [ q(Vwanji), ], - q(7082) => [ + q(7081) => [ q(Alagwa), ], - q(7083) => [ + q(7082) => [ q(Waigali), ], - q(7084) => [ + q(7083) => [ q(Wakhi), ], - q(7085) => [ + q(7084) => [ q(Wa), ], - q(7086) => [ + q(7085) => [ q(Warlpiri), ], - q(7087) => [ + q(7086) => [ q(Waddar), ], - q(7088) => [ + q(7087) => [ q(Wagdi), ], - q(7089) => [ + q(7088) => [ q(Wanman), ], - q(7090) => [ + q(7089) => [ q(Wajarri), ], - q(7091) => [ + q(7090) => [ q(Woi), ], - q(7092) => [ + q(7091) => [ q(Yanomami), ], - q(7093) => [ + q(7092) => [ q(Waci Gbe), ], - q(7094) => [ + q(7093) => [ q(Wandji), ], - q(7095) => [ + q(7094) => [ q(Wadaginam), ], - q(7096) => [ + q(7095) => [ q(Wadjiginy), ], - q(7097) => [ + q(7096) => [ q(Wadikali), ], - q(7098) => [ + q(7097) => [ q(Wadjigu), ], - q(7099) => [ + q(7098) => [ q(Wadjabangayi), ], - q(7100) => [ + q(7099) => [ q(Wewaw), ], - q(7101) => [ + q(7100) => [ q(We Western), ], - q(7102) => [ + q(7101) => [ q(Wedau), ], - q(7103) => [ + q(7102) => [ q(Wergaia), ], - q(7104) => [ + q(7103) => [ q(Weh), ], - q(7105) => [ + q(7104) => [ q(Kiunum), ], - q(7106) => [ + q(7105) => [ q(Weme Gbe), ], - q(7107) => [ + q(7106) => [ q(Wemale), ], - q(7108) => [ + q(7107) => [ q(Westphalien), ], - q(7109) => [ + q(7108) => [ q(Weri), ], - q(7110) => [ + q(7109) => [ q(Cameroon Pidgin), ], - q(7111) => [ + q(7110) => [ q(Perai), ], - q(7112) => [ + q(7111) => [ q(Rawngtu Chin), ], - q(7113) => [ + q(7112) => [ q(Wejewa), ], - q(7114) => [ + q(7113) => [ q(Yafi), q(Zorop), ], - q(7115) => [ + q(7114) => [ q(Wagaya), ], - q(7116) => [ + q(7115) => [ q(Wagawaga), ], - q(7117) => [ + q(7116) => [ q(Wangganguru), ], - q(7118) => [ + q(7117) => [ q(Wahgi), ], - q(7119) => [ + q(7118) => [ q(Waigeo), ], - q(7120) => [ + q(7119) => [ q(Wirangu), ], - q(7121) => [ + q(7120) => [ q(Warrgamay), ], - q(7122) => [ + q(7121) => [ q(Manusela), ], - q(7123) => [ + q(7122) => [ q(North Wahgi), ], - q(7124) => [ + q(7123) => [ q(Wahau Kenyah), ], - q(7125) => [ + q(7124) => [ q(Wahau Kayan), ], - q(7126) => [ + q(7125) => [ q(Southern Toussian), ], - q(7127) => [ + q(7126) => [ q(Wichita), ], - q(7128) => [ + q(7127) => [ q(Wik-Epa), ], - q(7129) => [ + q(7128) => [ q(Wik-Keyangan), ], - q(7130) => [ + q(7129) => [ q(Wik-Ngathana), ], - q(7131) => [ + q(7130) => [ q(Wik-Me'anha), ], - q(7132) => [ + q(7131) => [ q(Minidien), ], - q(7133) => [ + q(7132) => [ q(Wik-Iiyanh), ], - q(7134) => [ + q(7133) => [ q(Wikalkan), ], - q(7135) => [ + q(7134) => [ q(Wilawila), ], - q(7136) => [ + q(7135) => [ q(Wik-Mungkan), ], - q(7137) => [ + q(7136) => [ q(Ho-Chunk), ], - q(7138) => [ + q(7137) => [ q(Wirafed), ], - q(7139) => [ + q(7138) => [ q(Wiru), ], - q(7140) => [ + q(7139) => [ q(Vitu), ], - q(7141) => [ + q(7140) => [ q(Wiyot), ], - q(7142) => [ + q(7141) => [ q(Waja), ], - q(7143) => [ + q(7142) => [ q(Warji), ], - q(7144) => [ + q(7143) => [ q(Kw'adza), ], - q(7145) => [ + q(7144) => [ q(Kumbaran), ], - q(7146) => [ + q(7145) => [ q(Wakde), q(Mo), ], - q(7147) => [ + q(7146) => [ q(Kalanadi), ], - q(7148) => [ + q(7147) => [ q(Kunduvadi), ], - q(7149) => [ + q(7148) => [ q(Wakawaka), ], - q(7150) => [ + q(7149) => [ q(Wangkayutyuru), ], - q(7151) => [ + q(7150) => [ q(Walio), ], - q(7152) => [ + q(7151) => [ q(Mwali Comorian), ], - q(7153) => [ + q(7152) => [ q(Wolane), ], - q(7154) => [ + q(7153) => [ q(Kunbarlang), ], - q(7155) => [ + q(7154) => [ q(Waioli), ], - q(7156) => [ + q(7155) => [ q(Wailaki), ], - q(7157) => [ + q(7156) => [ q(Wali (Sudan)), ], - q(7158) => [ + q(7157) => [ q(Middle Welsh), ], - q(7159) => [ + q(7158) => [ q(Wolio), ], - q(7160) => [ + q(7159) => [ q(Wailapa), ], - q(7161) => [ + q(7160) => [ q(Wallisian), ], - q(7162) => [ + q(7161) => [ q(Wuliwuli), ], - q(7163) => [ + q(7162) => [ q(Wichi Lhamtes Vejoz), ], - q(7164) => [ + q(7163) => [ q(Walak), ], - q(7165) => [ + q(7164) => [ q(Wali (Ghana)), ], - q(7166) => [ + q(7165) => [ q(Waling), ], - q(7167) => [ + q(7166) => [ q(Mawa (Nigeria)), ], - q(7168) => [ + q(7167) => [ q(Wambaya), ], - q(7169) => [ + q(7168) => [ q(Wamas), ], - q(7170) => [ + q(7169) => [ q(Mamainde), ], - q(7171) => [ + q(7170) => [ q(Wambule), ], - q(7172) => [ + q(7171) => [ q(Waima'a), ], - q(7173) => [ + q(7172) => [ q(Wamin), ], - q(7174) => [ + q(7173) => [ q(Maiwa (Indonesia)), ], - q(7175) => [ + q(7174) => [ q(Waamwang), ], - q(7176) => [ + q(7175) => [ q(Wom (Papua New Guinea)), ], - q(7177) => [ + q(7176) => [ q(Wambon), ], - q(7178) => [ + q(7177) => [ q(Walmajarri), ], - q(7179) => [ + q(7178) => [ q(Mwani), ], - q(7180) => [ + q(7179) => [ q(Womo), ], - q(7181) => [ + q(7180) => [ q(Wanambre), ], - q(7182) => [ + q(7181) => [ q(Wantoat), ], - q(7183) => [ + q(7182) => [ q(Wandarang), ], - q(7184) => [ + q(7183) => [ q(Waneci), ], - q(7185) => [ + q(7184) => [ q(Wanggom), ], - q(7186) => [ + q(7185) => [ q(Ndzwani Comorian), ], - q(7187) => [ + q(7186) => [ q(Wanukaka), ], - q(7188) => [ + q(7187) => [ q(Wanggamala), ], - q(7189) => [ + q(7188) => [ q(Wunumara), ], - q(7190) => [ + q(7189) => [ q(Wano), ], - q(7191) => [ + q(7190) => [ q(Wanap), ], - q(7192) => [ + q(7191) => [ q(Usan), ], - q(7193) => [ + q(7192) => [ q(Wintu), ], - q(7194) => [ + q(7193) => [ q(Wanyi), ], - q(7195) => [ + q(7194) => [ q(Tyaraity), ], - q(7196) => [ + q(7195) => [ q(We Northern), ], - q(7197) => [ + q(7196) => [ q(Wogeo), ], - q(7198) => [ + q(7197) => [ q(Wolani), ], - q(7199) => [ + q(7198) => [ q(Woleaian), ], - q(7200) => [ + q(7199) => [ q(Gambian Wolof), ], - q(7201) => [ + q(7200) => [ q(Wogamusin), ], - q(7202) => [ + q(7201) => [ q(Kamang), ], - q(7203) => [ + q(7202) => [ q(Longto), ], - q(7204) => [ + q(7203) => [ q(Wom (Nigeria)), ], - q(7205) => [ + q(7204) => [ q(Wongo), ], - q(7206) => [ + q(7205) => [ q(Manombai), ], - q(7207) => [ + q(7206) => [ q(Woria), ], - q(7208) => [ + q(7207) => [ q(Hanga Hundi), ], - q(7209) => [ + q(7208) => [ q(Wawonii), ], - q(7210) => [ + q(7209) => [ q(Weyto), ], - q(7211) => [ + q(7210) => [ q(Maco), ], - q(7212) => [ + q(7211) => [ q(Warapu), ], - q(7213) => [ + q(7212) => [ q(Warluwara), ], - q(7214) => [ + q(7213) => [ q(Warduji), ], - q(7215) => [ + q(7214) => [ q(Warungu), ], - q(7216) => [ + q(7215) => [ q(Wiradhuri), ], - q(7217) => [ + q(7216) => [ q(Wariyangga), ], - q(7218) => [ + q(7217) => [ q(Garrwa), ], - q(7219) => [ + q(7218) => [ q(Warlmanpa), ], - q(7220) => [ + q(7219) => [ q(Warumungu), ], - q(7221) => [ + q(7220) => [ q(Warnang), ], - q(7222) => [ + q(7221) => [ q(Worrorra), ], - q(7223) => [ + q(7222) => [ q(Waropen), ], - q(7224) => [ + q(7223) => [ q(Wardaman), ], - q(7225) => [ + q(7224) => [ q(Waris), ], - q(7226) => [ + q(7225) => [ q(Waru), ], - q(7227) => [ + q(7226) => [ q(Waruna), ], - q(7228) => [ + q(7227) => [ q(Gugu Warra), ], - q(7229) => [ + q(7228) => [ q(Wae Rana), ], - q(7230) => [ + q(7229) => [ q(Merwari), ], - q(7231) => [ + q(7230) => [ q(Waray (Australia)), ], - q(7232) => [ + q(7231) => [ q(Warembori), ], - q(7233) => [ + q(7232) => [ q(Wusi), ], - q(7234) => [ + q(7233) => [ q(Waskia), ], - q(7235) => [ + q(7234) => [ q(Owenia), ], - q(7236) => [ + q(7235) => [ q(Wasa), ], - q(7237) => [ + q(7236) => [ q(Wasu), ], - q(7238) => [ + q(7237) => [ q(Wotapuri-Katarqalai), ], - q(7239) => [ + q(7238) => [ q(Watiwa), ], - q(7240) => [ + q(7239) => [ q(Wathawurrung), ], - q(7241) => [ + q(7240) => [ q(Berta), ], - q(7242) => [ + q(7241) => [ q(Watakataui), ], - q(7243) => [ + q(7242) => [ q(Mewati), ], - q(7244) => [ + q(7243) => [ q(Wotu), ], - q(7245) => [ + q(7244) => [ q(Wikngenchera), ], - q(7246) => [ + q(7245) => [ q(Wunambal), ], - q(7247) => [ + q(7246) => [ q(Wudu), ], - q(7248) => [ + q(7247) => [ q(Wutunhua), ], - q(7249) => [ + q(7248) => [ q(Silimo), ], - q(7250) => [ + q(7249) => [ q(Wumbvu), ], - q(7251) => [ + q(7250) => [ q(Bungu), ], - q(7252) => [ + q(7251) => [ q(Wurrugu), ], - q(7253) => [ + q(7252) => [ q(Wutung), ], - q(7254) => [ + q(7253) => [ q(Wu Chinese), ], - q(7255) => [ + q(7254) => [ q(Wuvulu-Aua), ], - q(7256) => [ + q(7255) => [ q(Wulna), ], - q(7257) => [ + q(7256) => [ q(Wauyai), ], - q(7258) => [ + q(7257) => [ q(Waama), ], - q(7259) => [ + q(7258) => [ q(Wakabunga), ], - q(7260) => [ + q(7259) => [ q(Wetamut), q(Dorig), ], - q(7261) => [ + q(7260) => [ q(Warrwa), ], - q(7262) => [ + q(7261) => [ q(Wawa), ], - q(7263) => [ + q(7262) => [ q(Waxianghua), ], - q(7264) => [ + q(7263) => [ q(Wardandi), ], - q(7265) => [ + q(7264) => [ q(Wyandot), ], - q(7266) => [ + q(7265) => [ q(Wangaaybuwan-Ngiyambaa), ], - q(7267) => [ + q(7266) => [ q(Woiwurrung), ], - q(7268) => [ + q(7267) => [ q(Wymysorys), ], - q(7269) => [ + q(7268) => [ q(Wayoro), ], - q(7270) => [ + q(7269) => [ q(Western Fijian), ], - q(7271) => [ + q(7270) => [ q(Andalusian Arabic), ], - q(7272) => [ + q(7271) => [ q(Sambe), ], - q(7273) => [ + q(7272) => [ q(Kachari), ], - q(7274) => [ + q(7273) => [ q(Adai), ], - q(7275) => [ + q(7274) => [ q(Aequian), ], - q(7276) => [ + q(7275) => [ q(Aghwan), ], - q(7277) => [ + q(7276) => [ q(Kaimbe), ], - q(7278) => [ + q(7277) => [ q(Ararandewara), ], - q(7279) => [ + q(7278) => [ q(/Xam), + q(Xam), ], - q(7280) => [ + q(7279) => [ q(Xamtanga), ], - q(7281) => [ + q(7280) => [ q(Khao), ], - q(7282) => [ + q(7281) => [ q(Apalachee), ], - q(7283) => [ + q(7282) => [ q(Aquitanian), ], - q(7284) => [ + q(7283) => [ q(Karami), ], - q(7285) => [ + q(7284) => [ q(Kamas), ], - q(7286) => [ + q(7285) => [ q(Katawixi), ], - q(7287) => [ + q(7286) => [ q(Kauwera), ], - q(7288) => [ + q(7287) => [ q(Xavante), ], - q(7289) => [ + q(7288) => [ q(Kawaiisu), ], - q(7290) => [ + q(7289) => [ q(Kayan Mahakam), ], - q(7291) => [ + q(7290) => [ q(Kamba (Brazil)), ], - q(7292) => [ + q(7291) => [ q(Lower Burdekin), ], - q(7293) => [ + q(7292) => [ q(Bactrian), ], - q(7294) => [ + q(7293) => [ q(Bindal), ], - q(7295) => [ + q(7294) => [ q(Bigambal), ], - q(7296) => [ + q(7295) => [ q(Bunganditj), ], - q(7297) => [ + q(7296) => [ q(Kombio), ], - q(7298) => [ + q(7297) => [ q(Birrpayi), ], - q(7299) => [ + q(7298) => [ q(Middle Breton), ], - q(7300) => [ + q(7299) => [ q(Kenaboi), ], - q(7301) => [ + q(7300) => [ q(Bolgarian), ], - q(7302) => [ + q(7301) => [ q(Bibbulman), ], - q(7303) => [ + q(7302) => [ q(Kambera), ], - q(7304) => [ + q(7303) => [ q(Kambiwa), ], - q(7305) => [ + q(7304) => [ q(Kabixi), ], - q(7306) => [ + q(7305) => [ q(Batyala), ], - q(7307) => [ + q(7306) => [ q(Cumbric), ], - q(7308) => [ + q(7307) => [ q(Camunic), ], - q(7309) => [ + q(7308) => [ q(Celtiberian), ], - q(7310) => [ + q(7309) => [ q(Cisalpine Gaulish), ], - q(7311) => [ + q(7310) => [ q(Chemakum), q(Chimakum), ], - q(7312) => [ + q(7311) => [ q(Classical Armenian), ], - q(7313) => [ + q(7312) => [ q(Comecrudo), ], - q(7314) => [ + q(7313) => [ q(Cotoname), ], - q(7315) => [ + q(7314) => [ q(Chorasmian), ], - q(7316) => [ + q(7315) => [ q(Carian), ], - q(7317) => [ + q(7316) => [ q(Classical Tibetan), ], - q(7318) => [ + q(7317) => [ q(Curonian), ], - q(7319) => [ + q(7318) => [ q(Chuvantsy), ], - q(7320) => [ + q(7319) => [ q(Coahuilteco), ], - q(7321) => [ + q(7320) => [ q(Cayuse), ], - q(7322) => [ + q(7321) => [ q(Darkinyung), ], - q(7323) => [ + q(7322) => [ q(Dacian), ], - q(7324) => [ + q(7323) => [ q(Dharuk), ], - q(7325) => [ + q(7324) => [ q(Edomite), ], - q(7326) => [ + q(7325) => [ q(Malayic Dayak), ], - q(7327) => [ + q(7326) => [ q(Eblan), ], - q(7328) => [ + q(7327) => [ q(Hdi), ], - q(7329) => [ + q(7328) => [ q(//Xegwi), + q(Xegwi), ], - q(7330) => [ + q(7329) => [ q(Kelo), ], - q(7331) => [ + q(7330) => [ q(Kembayan), ], - q(7332) => [ + q(7331) => [ q(Epi-Olmec), ], - q(7333) => [ + q(7332) => [ q(Xerente), ], - q(7334) => [ + q(7333) => [ q(Kesawai), ], - q(7335) => [ + q(7334) => [ q(Xeta), ], - q(7336) => [ + q(7335) => [ q(Keoru-Ahia), ], - q(7337) => [ + q(7336) => [ q(Faliscan), ], - q(7338) => [ + q(7337) => [ q(Galatian), ], - q(7339) => [ + q(7338) => [ q(Gbin), ], - q(7340) => [ + q(7339) => [ q(Gudang), ], - q(7341) => [ + q(7340) => [ q(Gabrielino-Fernandeno), ], - q(7342) => [ + q(7341) => [ q(Goreng), ], - q(7343) => [ + q(7342) => [ q(Garingbal), ], - q(7344) => [ + q(7343) => [ q(Galindan), ], - q(7345) => [ + q(7344) => [ q(Dharumbal), q(Guwinmal), ], - q(7346) => [ + q(7345) => [ q(Garza), ], - q(7347) => [ + q(7346) => [ q(Unggumi), ], - q(7348) => [ + q(7347) => [ q(Guwa), ], - q(7349) => [ + q(7348) => [ q(Harami), ], - q(7350) => [ + q(7349) => [ q(Hunnic), ], - q(7351) => [ + q(7350) => [ q(Hadrami), ], - q(7352) => [ + q(7351) => [ q(Khetrani), ], - q(7353) => [ + q(7352) => [ q(Hernican), ], - q(7354) => [ + q(7353) => [ q(Hattic), ], - q(7355) => [ + q(7354) => [ q(Hurrian), ], - q(7356) => [ + q(7355) => [ q(Khua), ], - q(7357) => [ + q(7356) => [ q(Iberian), ], - q(7358) => [ + q(7357) => [ q(Xiri), ], - q(7359) => [ + q(7358) => [ q(Illyrian), ], - q(7360) => [ + q(7359) => [ q(Xinca), ], - q(7361) => [ + q(7360) => [ q(Xipinawa), ], - q(7362) => [ + q(7361) => [ q(Xiriana), ], - q(7363) => [ + q(7362) => [ q(Kisan), ], - q(7364) => [ + q(7363) => [ q(Indus Valley Language), ], - q(7365) => [ + q(7364) => [ q(Xipaya), ], - q(7366) => [ + q(7365) => [ q(Minjungbal), ], - q(7367) => [ + q(7366) => [ q(Jaitmatang), ], - q(7368) => [ + q(7367) => [ q(Kalkoti), ], - q(7369) => [ + q(7368) => [ q(Northern Nago), ], - q(7370) => [ + q(7369) => [ q(Kho'ini), ], - q(7371) => [ + q(7370) => [ q(Mendalam Kayan), ], - q(7372) => [ + q(7371) => [ q(Kereho), ], - q(7373) => [ + q(7372) => [ q(Khengkha), ], - q(7374) => [ + q(7373) => [ q(Kagoro), ], - q(7375) => [ + q(7374) => [ q(Karahawyana), ], - q(7376) => [ + q(7375) => [ q(Kenyan Sign Language), ], - q(7377) => [ + q(7376) => [ q(Kajali), ], - q(7378) => [ + q(7377) => [ q(Kaco'), ], - q(7379) => [ + q(7378) => [ q(Mainstream Kenyah), ], - q(7380) => [ + q(7379) => [ q(Kayan River Kayan), ], - q(7381) => [ + q(7380) => [ q(Kiorr), ], - q(7382) => [ + q(7381) => [ q(Kabatei), ], - q(7383) => [ + q(7382) => [ q(Koroni), ], - q(7384) => [ + q(7383) => [ q(Xakriaba), ], - q(7385) => [ + q(7384) => [ q(Kumbewaha), ], - q(7386) => [ + q(7385) => [ q(Kantosi), ], - q(7387) => [ + q(7386) => [ q(Kaamba), ], - q(7388) => [ + q(7387) => [ q(Kgalagadi), ], - q(7389) => [ + q(7388) => [ q(Kembra), ], - q(7390) => [ + q(7389) => [ q(Karore), ], - q(7391) => [ + q(7390) => [ q(Uma' Lasan), ], - q(7392) => [ + q(7391) => [ q(Kurtokha), ], - q(7393) => [ + q(7392) => [ q(Kamula), ], - q(7394) => [ + q(7393) => [ q(Loup B), ], - q(7395) => [ + q(7394) => [ q(Lycian), ], - q(7396) => [ + q(7395) => [ q(Lydian), ], - q(7397) => [ + q(7396) => [ q(Lemnian), ], - q(7398) => [ + q(7397) => [ q(Ligurian (Ancient)), ], - q(7399) => [ + q(7398) => [ q(Liburnian), ], - q(7400) => [ + q(7399) => [ q(Alanic), ], - q(7401) => [ + q(7400) => [ q(Loup A), ], - q(7402) => [ + q(7401) => [ q(Lepontic), ], - q(7403) => [ + q(7402) => [ q(Lusitanian), ], - q(7404) => [ + q(7403) => [ q(Cuneiform Luwian), ], - q(7405) => [ + q(7404) => [ q(Elymian), ], - q(7406) => [ + q(7405) => [ q(Mushungulu), ], - q(7407) => [ + q(7406) => [ q(Mbonga), ], - q(7408) => [ + q(7407) => [ q(Makhuwa-Marrevone), ], - q(7409) => [ + q(7408) => [ q(Mbudum), ], - q(7410) => [ + q(7409) => [ q(Median), ], - q(7411) => [ + q(7410) => [ q(Mingrelian), ], - q(7412) => [ + q(7411) => [ q(Mengaka), ], - q(7413) => [ + q(7412) => [ q(Kuku-Muminh), ], - q(7414) => [ + q(7413) => [ q(Majera), ], - q(7415) => [ + q(7414) => [ q(Ancient Macedonian), ], - q(7416) => [ + q(7415) => [ q(Malaysian Sign Language), ], - q(7417) => [ + q(7416) => [ q(Manado Malay), ], - q(7418) => [ + q(7417) => [ q(Manichaean Middle Persian), ], - q(7419) => [ + q(7418) => [ q(Morerebi), ], - q(7420) => [ + q(7419) => [ q(Kuku-Mu'inh), ], - q(7421) => [ + q(7420) => [ q(Kuku-Mangk), ], - q(7422) => [ + q(7421) => [ q(Meroitic), ], - q(7423) => [ + q(7422) => [ q(Moroccan Sign Language), ], - q(7424) => [ + q(7423) => [ q(Matbat), ], - q(7425) => [ + q(7424) => [ q(Kamu), ], - q(7426) => [ + q(7425) => [ q(Antankarana Malagasy), q(Tankarana Malagasy), ], - q(7427) => [ + q(7426) => [ q(Tsimihety Malagasy), ], - q(7428) => [ + q(7427) => [ q(Maden), ], - q(7429) => [ + q(7428) => [ q(Mayaguduna), ], - q(7430) => [ + q(7429) => [ q(Mori Bawah), ], - q(7431) => [ + q(7430) => [ q(Ancient North Arabian), ], - q(7432) => [ + q(7431) => [ q(Kanakanabu), ], - q(7433) => [ + q(7432) => [ q(Middle Mongolian), ], - q(7434) => [ + q(7433) => [ q(Kuanhua), ], - q(7435) => [ + q(7434) => [ q(Ngarigu), ], - q(7436) => [ + q(7435) => [ q(Nganakarti), ], - q(7437) => [ + q(7436) => [ q(Northern Kankanay), ], - q(7438) => [ + q(7437) => [ q(Anglo-Norman), ], - q(7439) => [ + q(7438) => [ q(Kangri), ], - q(7440) => [ + q(7439) => [ q(Kanashi), ], - q(7441) => [ + q(7440) => [ q(Narragansett), ], - q(7442) => [ + q(7441) => [ q(Nukunul), ], - q(7443) => [ + q(7442) => [ q(Nyiyaparli), ], - q(7444) => [ + q(7443) => [ q(Kenzi), q(Mattoki), ], - q(7445) => [ + q(7444) => [ q(O'chi'chi'), ], - q(7446) => [ + q(7445) => [ q(Kokoda), ], - q(7447) => [ + q(7446) => [ q(Soga), ], - q(7448) => [ + q(7447) => [ q(Kominimung), ], - q(7449) => [ + q(7448) => [ q(Xokleng), ], - q(7450) => [ + q(7449) => [ q(Komo (Sudan)), ], - q(7451) => [ + q(7450) => [ q(Konkomba), ], - q(7452) => [ + q(7451) => [ q(Xukuru), ], - q(7453) => [ + q(7452) => [ q(Kopar), ], - q(7454) => [ + q(7453) => [ q(Korubo), ], - q(7455) => [ + q(7454) => [ q(Kowaki), ], - q(7456) => [ + q(7455) => [ q(Pirriya), ], - q(7457) => [ + q(7456) => [ q(Pecheneg), ], - q(7458) => [ + q(7457) => [ q(Liberia Kpelle), ], - q(7459) => [ + q(7458) => [ q(Phrygian), ], - q(7460) => [ + q(7459) => [ q(Pictish), ], - q(7461) => [ + q(7460) => [ q(Mpalitjanh), ], - q(7462) => [ + q(7461) => [ q(Kulina Pano), ], - q(7463) => [ + q(7462) => [ q(Pumpokol), ], - q(7464) => [ + q(7463) => [ q(Kapinawa), ], - q(7465) => [ + q(7464) => [ q(Pochutec), ], - q(7466) => [ + q(7465) => [ q(Puyo-Paekche), ], - q(7467) => [ + q(7466) => [ q(Mohegan-Pequot), ], - q(7468) => [ + q(7467) => [ q(Parthian), ], - q(7469) => [ + q(7468) => [ q(Pisidian), ], - q(7470) => [ + q(7469) => [ q(Punthamara), ], - q(7471) => [ + q(7470) => [ q(Punic), ], - q(7472) => [ + q(7471) => [ q(Puyo), ], - q(7473) => [ + q(7472) => [ q(Karakhanid), ], - q(7474) => [ + q(7473) => [ q(Qatabanian), ], - q(7475) => [ + q(7474) => [ q(Kraho), ], - q(7476) => [ + q(7475) => [ q(Eastern Karaboro), ], - q(7477) => [ + q(7476) => [ q(Gundungurra), ], - q(7478) => [ + q(7477) => [ q(Kreye), ], - q(7479) => [ + q(7478) => [ q(Minang), ], - q(7480) => [ + q(7479) => [ q(Krikati-Timbira), ], - q(7481) => [ + q(7480) => [ q(Armazic), ], - q(7482) => [ + q(7481) => [ q(Arin), ], - q(7483) => [ + q(7482) => [ q(Karranga), ], - q(7484) => [ + q(7483) => [ q(Raetic), ], - q(7485) => [ + q(7484) => [ q(Aranama-Tamique), ], - q(7486) => [ + q(7485) => [ q(Marriammu), ], - q(7487) => [ + q(7486) => [ q(Karawa), ], - q(7488) => [ + q(7487) => [ q(Sabaean), ], - q(7489) => [ + q(7488) => [ q(Sambal), ], - q(7490) => [ + q(7489) => [ q(Scythian), ], - q(7491) => [ + q(7490) => [ q(Sidetic), ], - q(7492) => [ + q(7491) => [ q(Sempan), ], - q(7493) => [ + q(7492) => [ q(Shamang), ], - q(7494) => [ + q(7493) => [ q(Sio), ], - q(7495) => [ + q(7494) => [ q(South Slavey), ], - q(7496) => [ + q(7495) => [ q(Kasem), ], - q(7497) => [ + q(7496) => [ q(Sanga (Nigeria)), ], - q(7498) => [ + q(7497) => [ q(Solano), ], - q(7499) => [ + q(7498) => [ q(Silopi), ], - q(7500) => [ + q(7499) => [ q(Makhuwa-Saka), ], - q(7501) => [ + q(7500) => [ q(Sherpa), ], - q(7502) => [ + q(7501) => [ q(Assan), ], - q(7503) => [ + q(7502) => [ q(Sanuma), ], - q(7504) => [ + q(7503) => [ q(Sudovian), ], - q(7505) => [ + q(7504) => [ q(Saisiyat), ], - q(7506) => [ + q(7505) => [ q(Alcozauca Mixtec), ], - q(7507) => [ + q(7506) => [ q(Chazumba Mixtec), ], - q(7508) => [ + q(7507) => [ q(Katcha-Kadugli-Miri), ], - q(7509) => [ + q(7508) => [ q(Diuxi-Tilantongo Mixtec), ], - q(7510) => [ + q(7509) => [ q(Ketengban), ], - q(7511) => [ + q(7510) => [ q(Transalpine Gaulish), ], - q(7512) => [ + q(7511) => [ q(Yitha Yitha), ], - q(7513) => [ + q(7512) => [ q(Sinicahua Mixtec), ], - q(7514) => [ + q(7513) => [ q(San Juan Teita Mixtec), ], - q(7515) => [ + q(7514) => [ q(Tijaltepec Mixtec), ], - q(7516) => [ + q(7515) => [ q(Magdalena Penasco Mixtec), ], - q(7517) => [ + q(7516) => [ q(Northern Tlaxiaco Mixtec), ], - q(7518) => [ + q(7517) => [ q(Tokharian A), ], - q(7519) => [ + q(7518) => [ q(San Miguel Piedras Mixtec), ], - q(7520) => [ + q(7519) => [ q(Tumshuqese), ], - q(7521) => [ + q(7520) => [ q(Early Tripuri), ], - q(7522) => [ + q(7521) => [ q(Sindihui Mixtec), ], - q(7523) => [ + q(7522) => [ q(Tacahua Mixtec), ], - q(7524) => [ + q(7523) => [ q(Cuyamecalco Mixtec), ], - q(7525) => [ + q(7524) => [ q(Thawa), ], - q(7526) => [ + q(7525) => [ q(Tawande), ], - q(7527) => [ + q(7526) => [ q(Yoloxochitl Mixtec), ], - q(7528) => [ + q(7527) => [ q(Tasmanian), ], - q(7529) => [ + q(7528) => [ q(Alu Kurumba), ], - q(7530) => [ + q(7529) => [ q(Betta Kurumba), ], - q(7531) => [ + q(7530) => [ q(Umiida), ], - q(7532) => [ + q(7531) => [ q(Kunigami), ], - q(7533) => [ + q(7532) => [ q(Jennu Kurumba), ], - q(7534) => [ + q(7533) => [ q(Ngunawal), ], - q(7535) => [ + q(7534) => [ q(Umbrian), ], - q(7536) => [ + q(7535) => [ q(Unggaranggu), ], - q(7537) => [ + q(7536) => [ q(Kuo), ], - q(7538) => [ + q(7537) => [ q(Upper Umpqua), ], - q(7539) => [ + q(7538) => [ q(Urartian), ], - q(7540) => [ + q(7539) => [ q(Kuthant), ], - q(7541) => [ + q(7540) => [ q(Kxoe), ], - q(7542) => [ + q(7541) => [ q(Venetic), ], - q(7543) => [ + q(7542) => [ q(Kamviri), ], - q(7544) => [ + q(7543) => [ q(Vandalic), ], - q(7545) => [ + q(7544) => [ q(Volscian), ], - q(7546) => [ + q(7545) => [ q(Vestinian), ], - q(7547) => [ + q(7546) => [ q(Kwaza), ], - q(7548) => [ + q(7547) => [ q(Woccon), ], - q(7549) => [ + q(7548) => [ q(Wadi Wadi), ], - q(7550) => [ + q(7549) => [ q(Xwela Gbe), ], - q(7551) => [ + q(7550) => [ q(Kwegu), ], - q(7552) => [ + q(7551) => [ q(Wajuk), ], - q(7553) => [ + q(7552) => [ q(Wangkumara), ], - q(7554) => [ + q(7553) => [ q(Western Xwla Gbe), ], - q(7555) => [ + q(7554) => [ q(Written Oirat), ], - q(7556) => [ + q(7555) => [ q(Kwerba Mamberamo), ], - q(7557) => [ + q(7556) => [ q(Wotjobaluk), ], - q(7558) => [ + q(7557) => [ q(Wemba Wemba), ], - q(7559) => [ + q(7558) => [ q(Boro (Ghana)), ], - q(7560) => [ + q(7559) => [ q(Ke'o), ], - q(7561) => [ + q(7560) => [ q(Minkin), ], - q(7562) => [ + q(7561) => [ q(Koropo), ], - q(7563) => [ + q(7562) => [ q(Tambora), ], - q(7564) => [ + q(7563) => [ q(Yaygir), ], - q(7565) => [ + q(7564) => [ q(Yandjibara), ], - q(7566) => [ + q(7565) => [ q(Mayi-Yapi), ], - q(7567) => [ + q(7566) => [ q(Mayi-Kulan), ], - q(7568) => [ + q(7567) => [ q(Yalakalore), ], - q(7569) => [ + q(7568) => [ q(Mayi-Thakurti), ], - q(7570) => [ + q(7569) => [ q(Yorta Yorta), ], - q(7571) => [ + q(7570) => [ q(Zhang-Zhung), ], - q(7572) => [ + q(7571) => [ q(Zemgalian), ], - q(7573) => [ + q(7572) => [ q(Ancient Zapotec), ], - q(7574) => [ + q(7573) => [ q(Yaminahua), ], - q(7575) => [ + q(7574) => [ q(Yuhup), ], - q(7576) => [ + q(7575) => [ q(Pass Valley Yali), ], - q(7577) => [ + q(7576) => [ q(Yagua), ], - q(7578) => [ + q(7577) => [ q(Pume), ], - q(7579) => [ + q(7578) => [ q(Yaka (Democratic Republic of Congo)), ], - q(7580) => [ + q(7579) => [ q(Yamana), ], - q(7581) => [ + q(7580) => [ q(Yazgulyam), ], - q(7582) => [ + q(7581) => [ q(Yagnobi), ], - q(7583) => [ + q(7582) => [ q(Banda-Yangere), ], - q(7584) => [ + q(7583) => [ q(Yakama), ], - q(7585) => [ + q(7584) => [ q(Yalunka), ], - q(7586) => [ + q(7585) => [ q(Yamba), ], - q(7587) => [ + q(7586) => [ q(Mayangna), ], - q(7588) => [ + q(7587) => [ q(Yaqui), ], - q(7589) => [ + q(7588) => [ q(Yabarana), ], - q(7590) => [ + q(7589) => [ q(Nugunu (Cameroon)), ], - q(7591) => [ + q(7590) => [ q(Yambeta), ], - q(7592) => [ + q(7591) => [ q(Yuwana), ], - q(7593) => [ + q(7592) => [ q(Yangben), ], - q(7594) => [ + q(7593) => [ q(Yawalapiti), ], - q(7595) => [ + q(7594) => [ q(Yauma), ], - q(7596) => [ + q(7595) => [ q(Agwagwune), ], - q(7597) => [ + q(7596) => [ q(Lokaa), ], - q(7598) => [ + q(7597) => [ q(Yala), ], - q(7599) => [ + q(7598) => [ q(Yemba), ], - q(7600) => [ + q(7599) => [ q(West Yugur), ], - q(7601) => [ + q(7600) => [ q(Yakha), ], - q(7602) => [ + q(7601) => [ q(Yamphu), ], - q(7603) => [ + q(7602) => [ q(Hasha), ], - q(7604) => [ + q(7603) => [ q(Bokha), ], - q(7605) => [ + q(7604) => [ q(Yukuben), ], - q(7606) => [ + q(7605) => [ q(Yaben), ], - q(7607) => [ + q(7606) => [ q(Yabaana), ], - q(7608) => [ + q(7607) => [ q(Yabong), ], - q(7609) => [ + q(7608) => [ q(Yawiyo), ], - q(7610) => [ + q(7609) => [ q(Yaweyuha), ], - q(7611) => [ + q(7610) => [ q(Chesu), ], - q(7612) => [ + q(7611) => [ q(Lolopo), ], - q(7613) => [ + q(7612) => [ q(Yucuna), ], - q(7614) => [ + q(7613) => [ q(Chepya), ], - q(7615) => [ + q(7614) => [ q(Yanda), ], - q(7616) => [ + q(7615) => [ q(Eastern Yiddish), ], - q(7617) => [ + q(7616) => [ q(Yangum Dey), ], - q(7618) => [ + q(7617) => [ q(Yidgha), ], - q(7619) => [ + q(7618) => [ q(Yoidik), ], - q(7620) => [ + q(7619) => [ q(Ravula), ], - q(7621) => [ + q(7620) => [ q(Yeniche), ], - q(7622) => [ + q(7621) => [ q(Yimas), ], - q(7623) => [ + q(7622) => [ q(Yeni), ], - q(7624) => [ + q(7623) => [ q(Yevanic), ], - q(7625) => [ + q(7624) => [ q(Yela), ], - q(7626) => [ + q(7625) => [ q(Tarok), ], - q(7627) => [ + q(7626) => [ q(Nyankpa), ], - q(7628) => [ + q(7627) => [ q(Yetfa), ], - q(7629) => [ + q(7628) => [ q(Yerukula), ], - q(7630) => [ + q(7629) => [ q(Yapunda), ], - q(7631) => [ + q(7630) => [ q(Yeyi), ], - q(7632) => [ + q(7631) => [ q(Malyangapa), ], - q(7633) => [ + q(7632) => [ q(Yiningayi), ], - q(7634) => [ + q(7633) => [ q(Yangum Gel), ], - q(7635) => [ + q(7634) => [ q(Yagomi), ], - q(7636) => [ + q(7635) => [ q(Gepo), ], - q(7637) => [ + q(7636) => [ q(Yagaria), ], - q(7638) => [ + q(7637) => [ q(Yolnu Sign Language), ], - q(7639) => [ + q(7638) => [ q(Yugul), ], - q(7640) => [ + q(7639) => [ q(Yagwoia), ], - q(7641) => [ + q(7640) => [ q(Baha Buyang), ], - q(7642) => [ + q(7641) => [ q(Judeo-Iraqi Arabic), ], - q(7643) => [ + q(7642) => [ q(Hlepho Phowa), ], + q(7643) => [ + q(Yan-nhanu Sign Language), + ], q(7644) => [ q(Yinggarda), ], @@ -24270,7 +24280,7 @@ $Locale::Codes::Data{'language'}{'id2names'} = { $Locale::Codes::Data{'language'}{'alias2id'} = { q(!xoo) => [ - q(4974), + q(4973), q(0), ], q('are'are) => [ @@ -24278,7 +24288,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q('auhelawa) => [ - q(3647), + q(3646), q(0), ], q('oroe) => [ @@ -24286,7 +24296,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(//ani) => [ - q(2803), + q(2802), q(0), ], q(//gana) => [ @@ -24294,19 +24304,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(//xegwi) => [ - q(7329), + q(7328), q(0), ], q(/gwi) => [ - q(2686), + q(2685), q(0), ], q(/xam) => [ - q(7279), + q(7278), q(0), ], q(=/hua) => [ - q(2853), + q(2852), q(0), ], q(=/ungkue) => [ @@ -24322,7 +24332,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(a-hmaos) => [ - q(2780), + q(2779), q(1), ], q(a-pucikwar) => [ @@ -24338,7 +24348,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(abadi) => [ - q(3201), + q(3200), q(0), ], q(abaga) => [ @@ -24354,7 +24364,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(abar) => [ - q(4306), + q(4305), q(0), ], q(abau) => [ @@ -24422,7 +24432,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(abun) => [ - q(3324), + q(3323), q(0), ], q(abure) => [ @@ -24430,15 +24440,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(abureni) => [ - q(4258), + q(4257), q(0), ], q(acatepec me'phaa) => [ - q(6673), + q(6672), q(0), ], q(acatepec tlapanec) => [ - q(6673), + q(6672), q(1), ], q(achagua) => [ @@ -24450,7 +24460,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ache) => [ - q(2657), + q(2656), q(0), ], q(acheron) => [ @@ -24490,7 +24500,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(adai) => [ - q(7274), + q(7273), q(0), ], q(adamawa fulfulde) => [ @@ -24514,11 +24524,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(adara) => [ - q(3170), + q(3169), q(0), ], q(adasen) => [ - q(6532), + q(6531), q(0), ], q(adele) => [ @@ -24542,7 +24552,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(adivasi oriya) => [ - q(5302), + q(5301), q(0), ], q(adiwasi garasia) => [ @@ -24582,7 +24592,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(aequian) => [ - q(7275), + q(7274), q(0), ], q(aer) => [ @@ -24598,7 +24608,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(afghan persian) => [ - q(5601), + q(5600), q(1), ], q(afghan sign language) => [ @@ -24610,7 +24620,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(afra) => [ - q(6893), + q(6892), q(1), ], q(afrihili) => [ @@ -24654,7 +24664,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(aghu-tharnggala) => [ - q(2641), + q(2640), q(0), ], q(aghul) => [ @@ -24662,7 +24672,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(aghwan) => [ - q(7276), + q(7275), q(0), ], q(agi) => [ @@ -24670,11 +24680,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(agob) => [ - q(3370), + q(3369), q(0), ], q(agoi) => [ - q(2893), + q(2892), q(0), ], q(aguacateco) => [ @@ -24694,7 +24704,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(agusan manobo) => [ - q(4541), + q(4540), q(0), ], q(agutaynen) => [ @@ -24702,7 +24712,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(agwagwune) => [ - q(7596), + q(7595), q(0), ], q(ahan) => [ @@ -24714,7 +24724,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(aheu) => [ - q(6504), + q(6503), q(0), ], q(ahirani) => [ @@ -24730,7 +24740,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ahwai) => [ - q(4830), + q(4829), q(0), ], q(ai-cham) => [ @@ -24742,11 +24752,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(aikana) => [ - q(6379), + q(6378), q(0), ], q(aiklep) => [ - q(4629), + q(4628), q(0), ], q(aimaq) => [ @@ -24790,7 +24800,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(aiwoo) => [ - q(4831), + q(4830), q(1), ], q(aja (benin)) => [ @@ -24810,11 +24820,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ajiya) => [ - q(2904), + q(2903), q(1), ], q(ajumbu) => [ - q(4581), + q(4580), q(0), ], q(ajyininka apurucayali) => [ @@ -24826,7 +24836,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(aka) => [ - q(6161), + q(6160), q(0), ], q(aka-bea) => [ @@ -24878,11 +24888,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(akebu) => [ - q(3276), + q(3275), q(0), ], q(akei) => [ - q(6725), + q(6724), q(0), ], q(akeu) => [ @@ -24902,7 +24912,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(akkala sami) => [ - q(6033), + q(6032), q(0), ], q(aklanon) => [ @@ -24918,7 +24928,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(akoye) => [ - q(4316), + q(4315), q(0), ], q(akpa) => [ @@ -24926,7 +24936,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(akpes) => [ - q(2890), + q(2889), q(0), ], q(akrukay) => [ @@ -24934,7 +24944,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(akukem) => [ - q(6185), + q(6184), q(0), ], q(akuku) => [ @@ -24958,11 +24968,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(akyaung ari naga) => [ - q(5047), + q(5046), q(0), ], q(al-sayyid bedouin sign language) => [ - q(6345), + q(6344), q(0), ], q(alaba-k'abeena) => [ @@ -24982,7 +24992,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(alacatlatzala mixtec) => [ - q(4309), + q(4308), q(0), ], q(alago) => [ @@ -24990,7 +25000,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(alagwa) => [ - q(7082), + q(7081), q(0), ], q(alak) => [ @@ -25006,7 +25016,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(alanic) => [ - q(7400), + q(7399), q(0), ], q(alapmunte) => [ @@ -25026,11 +25036,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(albanian sign language) => [ - q(6199), + q(6198), q(0), ], q(alcozauca mixtec) => [ - q(7506), + q(7505), q(0), ], q(alege) => [ @@ -25114,7 +25124,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(alu kurumba) => [ - q(7529), + q(7528), q(0), ], q(alugu) => [ @@ -25154,7 +25164,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ama (sudan)) => [ - q(5162), + q(5161), q(0), ], q(amahai) => [ @@ -25198,11 +25208,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(amba (solomon islands)) => [ - q(6955), + q(6954), q(0), ], q(amba (uganda)) => [ - q(5877), + q(5876), q(0), ], q(ambai) => [ @@ -25234,7 +25244,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ambo-pasco quechua) => [ - q(5699), + q(5698), q(0), ], q(ambonese malay) => [ @@ -25270,7 +25280,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(amganad ifugao) => [ - q(2912), + q(2911), q(0), ], q(amharic) => [ @@ -25282,7 +25292,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(amio-gelimi) => [ - q(3877), + q(3876), q(1), ], q(amis) => [ @@ -25298,7 +25308,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(amoltepec mixtec) => [ - q(4151), + q(4150), q(0), ], q(ampanang) => [ @@ -25342,7 +25352,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(anam) => [ - q(5396), + q(5395), q(0), ], q(anambe) => [ @@ -25350,7 +25360,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(anamgura) => [ - q(2962), + q(2961), q(0), ], q(anasi) => [ @@ -25362,7 +25372,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ancient aramaic (up to 700 bce)) => [ - q(5186), + q(5185), q(1), ], q(ancient greek (to 1453)) => [ @@ -25370,19 +25380,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(ancient hebrew) => [ - q(2735), + q(2734), q(0), ], q(ancient macedonian) => [ - q(7415), + q(7414), q(0), ], q(ancient north arabian) => [ - q(7431), + q(7430), q(0), ], q(ancient zapotec) => [ - q(7573), + q(7572), q(0), ], q(andaandi) => [ @@ -25398,11 +25408,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(andalusian arabic) => [ - q(7271), + q(7270), q(0), ], q(andaman creole hindi) => [ - q(2737), + q(2736), q(0), ], q(andaqui) => [ @@ -25454,7 +25464,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(anfillo) => [ - q(4684), + q(4683), q(0), ], q(angaataha) => [ @@ -25478,7 +25488,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(angami naga) => [ - q(4911), + q(4910), q(0), ], q(angguruk yali) => [ @@ -25494,11 +25504,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(anglo-norman) => [ - q(7438), + q(7437), q(0), ], q(angloromani) => [ - q(5808), + q(5807), q(0), ], q(angolar) => [ @@ -25514,13 +25524,17 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(angosturas tunebo) => [ - q(6613), + q(6612), q(0), ], q(anguthimri) => [ q(0969), q(0), ], + q(ani) => [ + q(2802), + q(1), + ], q(ani phowa) => [ q(7730), q(0), @@ -25550,7 +25564,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(anong) => [ - q(5115), + q(5114), q(0), ], q(anor) => [ @@ -25570,7 +25584,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(antankarana malagasy) => [ - q(7426), + q(7425), q(0), ], q(antigua and barbuda creole english) => [ @@ -25606,15 +25620,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(anyin morofo) => [ - q(4555), + q(4554), q(0), ], q(ao naga) => [ - q(4913), + q(4912), q(0), ], q(aoheng) => [ - q(5535), + q(5534), q(0), ], q(aore) => [ @@ -25622,7 +25636,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ap ma) => [ - q(3205), + q(3204), q(0), ], q(apache languages) => [ @@ -25630,7 +25644,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(apalachee) => [ - q(7282), + q(7281), q(0), ], q(apalai) => [ @@ -25642,7 +25656,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(apasco-apoala mixtec) => [ - q(4311), + q(4310), q(0), ], q(apatani) => [ @@ -25674,7 +25688,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(aquitanian) => [ - q(7283), + q(7282), q(0), ], q(arabana) => [ @@ -25698,7 +25712,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(arakwal) => [ - q(5803), + q(5802), q(0), ], q(aralle-tabulahan) => [ @@ -25706,7 +25720,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(arammba) => [ - q(6262), + q(6261), q(0), ], q(aranadan) => [ @@ -25714,11 +25728,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(aranama-tamique) => [ - q(7485), + q(7484), q(0), ], q(arandai) => [ - q(3062), + q(3061), q(0), ], q(araona) => [ @@ -25734,7 +25748,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ararandewara) => [ - q(7278), + q(7277), q(0), ], q(arauan languages) => [ @@ -25774,11 +25788,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ardhamagadhi prakrit) => [ - q(5473), + q(5472), q(0), ], q(are) => [ - q(4626), + q(4625), q(0), ], q(areba) => [ @@ -25790,7 +25804,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(arequipa-la union quechua) => [ - q(5731), + q(5730), q(0), ], q(argentine sign language) => [ @@ -25822,7 +25836,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(aribwatsa) => [ - q(3811), + q(3810), q(0), ], q(aribwaung) => [ @@ -25850,11 +25864,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(arin) => [ - q(7482), + q(7481), q(0), ], q(aringa) => [ - q(4076), + q(4075), q(0), ], q(arma) => [ @@ -25862,7 +25876,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(armazic) => [ - q(7481), + q(7480), q(0), ], q(armenian) => [ @@ -25898,7 +25912,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(arritinngithigh) => [ - q(5852), + q(5851), q(0), ], q(arta) => [ @@ -25918,7 +25932,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(aruamu) => [ - q(4552), + q(4551), q(0), ], q(aruek) => [ @@ -25930,7 +25944,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(aruop) => [ - q(4065), + q(4064), q(0), ], q(arutani) => [ @@ -25946,7 +25960,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(asaro'o) => [ - q(4575), + q(4574), q(0), ], q(asas) => [ @@ -25966,7 +25980,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(asheninka perene) => [ - q(5599), + q(5598), q(0), ], q(ashkun) => [ @@ -25998,11 +26012,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(assan) => [ - q(7502), + q(7501), q(0), ], q(assangori) => [ - q(6058), + q(6057), q(0), ], q(assiniboine) => [ @@ -26030,7 +26044,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(asue awyu) => [ - q(5608), + q(5607), q(0), ], q(asumboa) => [ @@ -26062,11 +26076,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(atatlahuca mixtec) => [ - q(4299), + q(4298), q(0), ], q(atayal) => [ - q(6377), + q(6376), q(0), ], q(atemble) => [ @@ -26118,7 +26132,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(attapady kurumba) => [ - q(5481), + q(5480), q(0), ], q(attie) => [ @@ -26126,7 +26140,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(atzingo matlatzinca) => [ - q(5199), + q(5198), q(0), ], q(au) => [ @@ -26178,7 +26192,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(auwe) => [ - q(6118), + q(6117), q(0), ], q(auye) => [ @@ -26190,7 +26204,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ava guarani) => [ - q(4862), + q(4861), q(1), ], q(ava-canoeiro) => [ @@ -26210,7 +26224,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(avava) => [ - q(6587), + q(6586), q(1), ], q(avestan) => [ @@ -26226,7 +26240,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(awa (china)) => [ - q(7054), + q(7053), q(0), ], q(awa (papua new guinea)) => [ @@ -26234,7 +26248,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(awa-cuaiquer) => [ - q(3700), + q(3699), q(0), ], q(awabakal) => [ @@ -26294,11 +26308,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(awngthim) => [ - q(2687), + q(2686), q(0), ], q(awtuw) => [ - q(3466), + q(3465), q(0), ], q(awu) => [ @@ -26330,15 +26344,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ayacucho quechua) => [ - q(5697), + q(5696), q(0), ], q(ayangan ifugao) => [ - q(2913), + q(2912), q(1), ], q(ayautla mazatec) => [ - q(7038), + q(7037), q(0), ], q(ayere) => [ @@ -26354,7 +26368,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ayiwo) => [ - q(4831), + q(4830), q(0), ], q(ayizi) => [ @@ -26382,7 +26396,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ayutla mixtec) => [ - q(4318), + q(4317), q(0), ], q(azerbaijani) => [ @@ -26398,11 +26412,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(azoyu me'phaa) => [ - q(6656), + q(6655), q(0), ], q(azoyu tlapanec) => [ - q(6656), + q(6655), q(1), ], q(baan) => [ @@ -26422,7 +26436,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(baba malay) => [ - q(4132), + q(4131), q(0), ], q(babalia creole arabic) => [ @@ -26462,7 +26476,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bactrian) => [ - q(7293), + q(7292), q(0), ], q(bada (indonesia)) => [ @@ -26486,7 +26500,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(badi kanum) => [ - q(3334), + q(3333), q(0), ], q(badimaya) => [ @@ -26494,7 +26508,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(badjiri) => [ - q(3061), + q(3060), q(0), ], q(badui) => [ @@ -26502,7 +26516,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(badyara) => [ - q(5373), + q(5372), q(0), ], q(baeggu) => [ @@ -26526,7 +26540,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bafia) => [ - q(3598), + q(3597), q(0), ], q(bafut) => [ @@ -26590,11 +26604,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bagvalal) => [ - q(3666), + q(3665), q(0), ], q(baha buyang) => [ - q(7641), + q(7640), q(0), ], q(baham) => [ @@ -26706,7 +26720,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bakole) => [ - q(3457), + q(3456), q(0), ], q(bakpinka) => [ @@ -26730,7 +26744,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(balangingi) => [ - q(6232), + q(6231), q(0), ], q(balanta-ganja) => [ @@ -26766,7 +26780,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(balinese malay) => [ - q(4288), + q(4287), q(0), ], q(balkan gagauz turkish) => [ @@ -26774,7 +26788,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(balkan romani) => [ - q(5816), + q(5815), q(0), ], q(balo) => [ @@ -26794,7 +26808,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(baltic romani) => [ - q(5814), + q(5813), q(0), ], q(baluan-pam) => [ @@ -26818,7 +26832,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bambam) => [ - q(5636), + q(5635), q(0), ], q(bambara) => [ @@ -26826,7 +26840,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bambassi) => [ - q(4676), + q(4675), q(0), ], q(bambili-bambui) => [ @@ -26870,7 +26884,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(banam bay) => [ - q(7046), + q(7045), q(1), ], q(banao itneg) => [ @@ -26894,7 +26908,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(banda-bambari) => [ - q(3929), + q(3928), q(0), ], q(banda-banda) => [ @@ -26910,7 +26924,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(banda-yangere) => [ - q(7583), + q(7582), q(0), ], q(bandi) => [ @@ -26954,11 +26968,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bangingih sama) => [ - q(6232), + q(6231), q(1), ], q(bangka) => [ - q(4225), + q(4224), q(0), ], q(bangolan) => [ @@ -26990,7 +27004,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bankal) => [ - q(3108), + q(3107), q(0), ], q(bankan tey dogon) => [ @@ -27042,7 +27056,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(barababaraba) => [ - q(5760), + q(5759), q(0), ], q(barai) => [ @@ -27054,7 +27068,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(baram kayan) => [ - q(3759), + q(3758), q(0), ], q(barama) => [ @@ -27086,7 +27100,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(barbaram) => [ - q(7018), + q(7017), q(0), ], q(barbareno) => [ @@ -27094,7 +27108,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(barclayville grebo) => [ - q(2630), + q(2629), q(0), ], q(bardi) => [ @@ -27110,7 +27124,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bargam) => [ - q(4380), + q(4379), q(0), ], q(bari) => [ @@ -27130,7 +27144,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(barikewa) => [ - q(3063), + q(3062), q(0), ], q(barok) => [ @@ -27142,7 +27156,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(barro negro tunebo) => [ - q(6392), + q(6391), q(0), ], q(barrow point) => [ @@ -27234,7 +27248,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(batad ifugao) => [ - q(2913), + q(2912), q(0), ], q(batak) => [ @@ -27314,7 +27328,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(batyala) => [ - q(7306), + q(7305), q(0), ], q(bau) => [ @@ -27322,7 +27336,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bau bidayuh) => [ - q(6136), + q(6135), q(0), ], q(bauchi) => [ @@ -27354,7 +27368,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bay miwok) => [ - q(4357), + q(4356), q(0), ], q(bayali) => [ @@ -27546,7 +27560,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(beng) => [ - q(4860), + q(4859), q(0), ], q(benga) => [ @@ -27614,7 +27628,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(berta) => [ - q(7241), + q(7240), q(0), ], q(berti) => [ @@ -27622,7 +27636,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(besisi) => [ - q(4278), + q(4277), q(0), ], q(besme) => [ @@ -27654,11 +27668,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(betta kurumba) => [ - q(7530), + q(7529), q(0), ], q(bezhta) => [ - q(3179), + q(3178), q(0), ], q(bhadrawahi) => [ @@ -27706,7 +27720,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bhoti kinnauri) => [ - q(4822), + q(4821), q(0), ], q(bhujel) => [ @@ -27758,11 +27772,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bibbulman) => [ - q(7302), + q(7301), q(0), ], q(bidhawal) => [ - q(2932), + q(2931), q(0), ], q(bidiyo) => [ @@ -27794,7 +27808,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(big nambas) => [ - q(4962), + q(4961), q(0), ], q(biga) => [ @@ -27802,7 +27816,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bigambal) => [ - q(7295), + q(7294), q(0), ], q(bihari languages) => [ @@ -27834,7 +27848,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bilaspuri) => [ - q(3300), + q(3299), q(0), ], q(bilba) => [ @@ -27898,7 +27912,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bindal) => [ - q(7294), + q(7293), q(0), ], q(bine) => [ @@ -27914,7 +27928,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(binongan itneg) => [ - q(3010), + q(3009), q(0), ], q(bintauna) => [ @@ -27970,7 +27984,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(birrpayi) => [ - q(7298), + q(7297), q(0), ], q(birwa) => [ @@ -27982,7 +27996,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(biseni) => [ - q(2935), + q(2934), q(0), ], q(bishnupriya) => [ @@ -28022,7 +28036,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bitur) => [ - q(4154), + q(4153), q(0), ], q(biwat) => [ @@ -28078,11 +28092,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bo-rukul) => [ - q(4116), + q(4115), q(0), ], q(bo-ung) => [ - q(4597), + q(4596), q(0), ], q(boano (maluku)) => [ @@ -28146,7 +28160,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bokha) => [ - q(7604), + q(7603), q(0), ], q(bokmal, norwegian) => [ @@ -28186,7 +28200,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bolgarian) => [ - q(7301), + q(7300), q(0), ], q(bolgo) => [ @@ -28198,7 +28212,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bolinao) => [ - q(6121), + q(6120), q(0), ], q(bolivian sign language) => [ @@ -28226,7 +28240,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bolyu) => [ - q(5505), + q(5504), q(0), ], q(bom) => [ @@ -28262,7 +28276,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bonan) => [ - q(5409), + q(5408), q(0), ], q(bondei) => [ @@ -28274,7 +28288,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bondoukou kulango) => [ - q(3769), + q(3768), q(0), ], q(bondum dom dogon) => [ @@ -28350,7 +28364,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(border kuna) => [ - q(3679), + q(3678), q(0), ], q(borei) => [ @@ -28370,11 +28384,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(boro (ghana)) => [ - q(7559), + q(7558), q(0), ], q(borong) => [ - q(3610), + q(3609), q(0), ], q(bororo) => [ @@ -28406,15 +28420,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(botolan sambal) => [ - q(5912), + q(5911), q(0), ], q(bouna kulango) => [ - q(4940), + q(4939), q(0), ], q(bouyei) => [ - q(5382), + q(5381), q(0), ], q(bozaba) => [ @@ -28466,7 +28480,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(brokpake) => [ - q(6003), + q(6002), q(0), ], q(brokskat) => [ @@ -28474,7 +28488,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(brooke's point palawano) => [ - q(5504), + q(5503), q(0), ], q(broome pearling lugger pidgin) => [ @@ -28482,7 +28496,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(brunei) => [ - q(3720), + q(3719), q(0), ], q(brunei bisaya) => [ @@ -28490,7 +28504,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bu) => [ - q(3094), + q(3093), q(0), ], q(bu-nao bunu) => [ @@ -28522,7 +28536,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(budeh stieng) => [ - q(6271), + q(6270), q(0), ], q(budibud) => [ @@ -28566,7 +28580,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(buglere) => [ - q(5886), + q(5885), q(0), ], q(bugun) => [ @@ -28574,7 +28588,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(buhi'non bikol) => [ - q(6856), + q(6855), q(0), ], q(buhid) => [ @@ -28586,7 +28600,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bukar-sadung bidayuh) => [ - q(5954), + q(5953), q(0), ], q(bukat) => [ @@ -28610,7 +28624,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(buksa) => [ - q(6548), + q(6547), q(0), ], q(bukusu) => [ @@ -28646,7 +28660,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bulo stieng) => [ - q(6260), + q(6259), q(0), ], q(bulu (cameroon)) => [ @@ -28674,7 +28688,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bumthangkha) => [ - q(3401), + q(3400), q(0), ], q(bun) => [ @@ -28710,7 +28724,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bunganditj) => [ - q(7296), + q(7295), q(0), ], q(bungku) => [ @@ -28718,7 +28732,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bungu) => [ - q(7251), + q(7250), q(0), ], q(bunoge dogon) => [ @@ -28770,7 +28784,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(burmbar) => [ - q(7046), + q(7045), q(0), ], q(burmese) => [ @@ -28782,7 +28796,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(buru (indonesia)) => [ - q(4291), + q(4290), q(0), ], q(buru (nigeria)) => [ @@ -28862,7 +28876,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(butbut kalinga) => [ - q(3742), + q(3741), q(0), ], q(butmas-tur) => [ @@ -28886,7 +28900,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(buyuan jinuo) => [ - q(3106), + q(3105), q(0), ], q(bwa) => [ @@ -28898,7 +28912,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(bwanabwana) => [ - q(6738), + q(6737), q(0), ], q(bwatoo) => [ @@ -28926,7 +28940,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(byep) => [ - q(4351), + q(4350), q(0), ], q(c'lela) => [ @@ -28934,7 +28948,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(caac) => [ - q(4545), + q(4544), q(0), ], q(cabecar) => [ @@ -28946,7 +28960,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(cacaloxtepec mixtec) => [ - q(4315), + q(4314), q(0), ], q(cacaopera) => [ @@ -28954,7 +28968,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(cacgia roglai) => [ - q(5837), + q(5836), q(0), ], q(cacua) => [ @@ -28986,15 +29000,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(cahungwarya) => [ - q(4734), + q(4733), q(0), ], q(cajamarca quechua) => [ - q(5700), + q(5699), q(0), ], q(cajatambo north lima quechua) => [ - q(5705), + q(5704), q(0), ], q(cajonos zapotec) => [ @@ -29022,11 +29036,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(calamian tagbanwa) => [ - q(6389), + q(6388), q(0), ], q(calderon highland quichua) => [ - q(5681), + q(5680), q(0), ], q(callawalla) => [ @@ -29034,7 +29048,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(calo) => [ - q(5819), + q(5818), q(0), ], q(caluyanun) => [ @@ -29042,15 +29056,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(cameroon mambila) => [ - q(4172), + q(4171), q(0), ], q(cameroon pidgin) => [ - q(7110), + q(7109), q(0), ], q(camling) => [ - q(5736), + q(5735), q(0), ], q(campalagian) => [ @@ -29058,11 +29072,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(campidanese sardinian) => [ - q(6219), + q(6218), q(0), ], q(camsa) => [ - q(3189), + q(3188), q(0), ], q(camtho) => [ @@ -29070,11 +29084,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(camunic) => [ - q(7308), + q(7307), q(0), ], q(canar highland quichua) => [ - q(5728), + q(5727), q(0), ], q(candoshi-shapra) => [ @@ -29082,7 +29096,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(canela) => [ - q(5745), + q(5744), q(0), ], q(canichana) => [ @@ -29094,7 +29108,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(cao lan) => [ - q(4369), + q(4368), q(0), ], q(cao miao) => [ @@ -29102,7 +29116,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(capanahua) => [ - q(3180), + q(3179), q(0), ], q(capiznon) => [ @@ -29138,15 +29152,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(carian) => [ - q(7316), + q(7315), q(0), ], q(caribbean hindustani) => [ - q(2808), + q(2807), q(0), ], q(caribbean javanese) => [ - q(3165), + q(3164), q(0), ], q(carijona) => [ @@ -29162,7 +29176,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(carpathian romani) => [ - q(5806), + q(5805), q(0), ], q(carrier) => [ @@ -29222,11 +29236,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(cayuse) => [ - q(7321), + q(7320), q(0), ], q(cebaara senoufo) => [ - q(5967), + q(5966), q(0), ], q(cebuano) => [ @@ -29234,7 +29248,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(celtiberian) => [ - q(7309), + q(7308), q(0), ], q(celtic languages) => [ @@ -29258,7 +29272,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(central atlas tamazight) => [ - q(6847), + q(6846), q(0), ], q(central awyu) => [ @@ -29282,7 +29296,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(central bontok) => [ - q(3820), + q(3819), q(0), ], q(central cagayan agta) => [ @@ -29294,7 +29308,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(central grebo) => [ - q(2627), + q(2626), q(0), ], q(central hongshuihe zhuang) => [ @@ -29302,19 +29316,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(central huasteca nahuatl) => [ - q(4768), + q(4767), q(0), ], q(central huishui hmong) => [ - q(2779), + q(2778), q(0), ], q(central huishui miao) => [ - q(2779), + q(2778), q(1), ], q(central kanuri) => [ - q(3481), + q(3480), q(0), ], q(central khmer) => [ @@ -29330,11 +29344,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(central maewo) => [ - q(4635), + q(4634), q(0), ], q(central malay) => [ - q(5611), + q(5610), q(0), ], q(central malayo-polynesian languages) => [ @@ -29342,23 +29356,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(central masela) => [ - q(4671), + q(4670), q(0), ], q(central mashan hmong) => [ - q(2789), + q(2788), q(0), ], q(central mashan miao) => [ - q(2789), + q(2788), q(1), ], q(central mazahua) => [ - q(4126), + q(4125), q(0), ], q(central melanau) => [ - q(4211), + q(4210), q(0), ], q(central mnong) => [ @@ -29366,43 +29380,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(central nahuatl) => [ - q(4870), + q(4869), q(0), ], q(central nicobarese) => [ - q(4762), + q(4761), q(0), ], q(central ojibwa) => [ - q(5218), + q(5217), q(0), ], q(central okinawan) => [ - q(5884), + q(5883), q(0), ], q(central palawano) => [ - q(5487), + q(5486), q(0), ], q(central pame) => [ - q(5375), + q(5374), q(0), ], q(central pashto) => [ - q(5623), + q(5622), q(0), ], q(central pomo) => [ - q(5562), + q(5561), q(0), ], q(central puebla nahuatl) => [ - q(4781), + q(4780), q(0), ], q(central sama) => [ - q(6122), + q(6121), q(0), ], q(central siberian yupik) => [ @@ -29414,7 +29428,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(central subanen) => [ - q(6335), + q(6334), q(0), ], q(central sudanic languages) => [ @@ -29422,15 +29436,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(central tagbanwa) => [ - q(6489), + q(6488), q(0), ], q(central tarahumara) => [ - q(6371), + q(6370), q(0), ], q(central tunebo) => [ - q(6764), + q(6763), q(0), ], q(central yupik) => [ @@ -29450,11 +29464,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chabu) => [ - q(5906), + q(5905), q(0), ], q(chachapoyas quechua) => [ - q(5686), + q(5685), q(0), ], q(chachi) => [ @@ -29466,7 +29480,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chadian arabic) => [ - q(6027), + q(6026), q(0), ], q(chadian sign language) => [ @@ -29510,7 +29524,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chalikha) => [ - q(6479), + q(6478), q(0), ], q(chamacoco) => [ @@ -29550,7 +29564,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chang naga) => [ - q(4741), + q(4740), q(0), ], q(changriwa) => [ @@ -29586,15 +29600,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chayuco mixtec) => [ - q(4304), + q(4303), q(0), ], q(chazumba mixtec) => [ - q(7507), + q(7506), q(0), ], q(che) => [ - q(5868), + q(5867), q(0), ], q(chechen) => [ @@ -29602,11 +29616,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(cheke holo) => [ - q(4517), + q(4516), q(0), ], q(chemakum) => [ - q(7311), + q(7310), q(0), ], q(chenapian) => [ @@ -29626,7 +29640,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chepya) => [ - q(7614), + q(7613), q(0), ], q(cheq wong) => [ @@ -29642,7 +29656,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chesu) => [ - q(7611), + q(7610), q(0), ], q(chetco) => [ @@ -29662,7 +29676,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chhattisgarhi) => [ - q(2802), + q(2801), q(0), ], q(chhintange) => [ @@ -29690,7 +29704,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chicahuaxtla triqui) => [ - q(6704), + q(6703), q(0), ], q(chichewa) => [ @@ -29702,7 +29716,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chichimeca-jonaz) => [ - q(5410), + q(5409), q(0), ], q(chichonyi-chidzihana-chikauma) => [ @@ -29730,7 +29744,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chigmecatitlan mixtec) => [ - q(4305), + q(4304), q(0), ], q(chilcotin) => [ @@ -29754,7 +29768,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chimakum) => [ - q(7311), + q(7310), q(1), ], q(chimalapa zoque) => [ @@ -29766,7 +29780,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chimborazo highland quichua) => [ - q(5683), + q(5682), q(0), ], q(chimila) => [ @@ -29786,7 +29800,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chincha quechua) => [ - q(5721), + q(5720), q(0), ], q(chinese) => [ @@ -29834,11 +29848,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chiquian ancash quechua) => [ - q(5720), + q(5719), q(0), ], q(chiquihuitlan mazatec) => [ - q(4120), + q(4119), q(0), ], q(chiquitano) => [ @@ -29846,7 +29860,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chiripa) => [ - q(4862), + q(4861), q(0), ], q(chiru) => [ @@ -29866,7 +29880,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chitwania tharu) => [ - q(6498), + q(6497), q(0), ], q(choapan zapotec) => [ @@ -29890,7 +29904,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chokri naga) => [ - q(5054), + q(5053), q(0), ], q(chokwe) => [ @@ -29922,7 +29936,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chorasmian) => [ - q(7315), + q(7314), q(0), ], q(chorti) => [ @@ -29930,7 +29944,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chothe naga) => [ - q(4779), + q(4778), q(0), ], q(chrau) => [ @@ -29978,7 +29992,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chumburung) => [ - q(4780), + q(4779), q(0), ], q(churahi) => [ @@ -29994,7 +30008,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(2), ], q(chut) => [ - q(5927), + q(5926), q(0), ], q(chuukese) => [ @@ -30002,7 +30016,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(chuvantsy) => [ - q(7319), + q(7318), q(0), ], q(chuvash) => [ @@ -30046,7 +30060,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(cisalpine gaulish) => [ - q(7310), + q(7309), q(0), ], q(cishingini) => [ @@ -30054,11 +30068,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(citak) => [ - q(6825), + q(6824), q(0), ], q(ciwogai) => [ - q(6477), + q(6476), q(0), ], q(clallam) => [ @@ -30066,11 +30080,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(classical armenian) => [ - q(7312), + q(7311), q(0), ], q(classical mandaic) => [ - q(4692), + q(4691), q(0), ], q(classical mongolian) => [ @@ -30078,7 +30092,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(classical nahuatl) => [ - q(4769), + q(4768), q(0), ], q(classical nepal bhasa) => [ @@ -30090,7 +30104,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(classical quechua) => [ - q(5715), + q(5714), q(0), ], q(classical syriac) => [ @@ -30098,11 +30112,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(classical tibetan) => [ - q(7317), + q(7316), q(0), ], q(coahuilteco) => [ - q(7320), + q(7319), q(0), ], q(coast miwok) => [ @@ -30110,11 +30124,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(coastal kadazan) => [ - q(3775), + q(3774), q(0), ], q(coastal konjo) => [ - q(3379), + q(3378), q(0), ], q(coatecas altas zapotec) => [ @@ -30122,11 +30136,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(coatepec nahuatl) => [ - q(4738), + q(4737), q(0), ], q(coatlan mixe) => [ - q(4166), + q(4165), q(0), ], q(coatlan zapotec) => [ @@ -30134,7 +30148,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(coatzospan mixtec) => [ - q(4319), + q(4318), q(0), ], q(cocama-cocamilla) => [ @@ -30162,11 +30176,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(cogui) => [ - q(3509), + q(3508), q(0), ], q(col) => [ - q(3927), + q(3926), q(0), ], q(colombian sign language) => [ @@ -30194,7 +30208,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(comecrudo) => [ - q(7313), + q(7312), q(0), ], q(como karim) => [ @@ -30210,7 +30224,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(congo swahili) => [ - q(6300), + q(6299), q(0), ], q(cook islands maori) => [ @@ -30230,7 +30244,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(copala triqui) => [ - q(6689), + q(6688), q(0), ], q(coptic) => [ @@ -30250,7 +30264,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(corongo ancash quechua) => [ - q(5714), + q(5713), q(0), ], q(corsican) => [ @@ -30262,11 +30276,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(cotabato manobo) => [ - q(4554), + q(4553), q(0), ], q(cotoname) => [ - q(7314), + q(7313), q(0), ], q(cowlitz) => [ @@ -30274,7 +30288,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(coxima) => [ - q(3520), + q(3519), q(0), ], q(coyaima) => [ @@ -30282,11 +30296,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(coyotepec popoloca) => [ - q(5366), + q(5365), q(0), ], q(coyutla totonac) => [ - q(6635), + q(6634), q(0), ], q(cree) => [ @@ -30346,7 +30360,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(cross river mbembe) => [ - q(4237), + q(4236), q(0), ], q(crow) => [ @@ -30386,7 +30400,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(cumbric) => [ - q(7307), + q(7306), q(0), ], q(cumeral) => [ @@ -30398,7 +30412,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(cuneiform luwian) => [ - q(7404), + q(7403), q(0), ], q(cung) => [ @@ -30410,15 +30424,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(curonian) => [ - q(7318), + q(7317), q(0), ], q(curripaco) => [ - q(3525), + q(3524), q(0), ], q(cusco quechua) => [ - q(5698), + q(5697), q(0), ], q(cushitic languages) => [ @@ -30434,7 +30448,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(cuyamecalco mixtec) => [ - q(7524), + q(7523), q(0), ], q(cuyonon) => [ @@ -30458,11 +30472,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(da'a kaili) => [ - q(3772), + q(3771), q(0), ], q(da-hua miao) => [ - q(2780), + q(2779), q(2), ], q(daai chin) => [ @@ -30474,7 +30488,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(daantanai') => [ - q(4003), + q(4002), q(0), ], q(daasanach) => [ @@ -30494,7 +30508,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dacian) => [ - q(7323), + q(7322), q(0), ], q(dadi dadi) => [ @@ -30502,7 +30516,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dadibi) => [ - q(4472), + q(4471), q(0), ], q(dadiya) => [ @@ -30570,7 +30584,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dalabon) => [ - q(4843), + q(4842), q(0), ], q(dalmatian) => [ @@ -30590,7 +30604,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(damal) => [ - q(6875), + q(6874), q(0), ], q(dambi) => [ @@ -30626,7 +30640,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dangaura tharu) => [ - q(6503), + q(6502), q(0), ], q(danish) => [ @@ -30670,7 +30684,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(darang deng) => [ - q(4293), + q(4292), q(1), ], q(dargwa) => [ @@ -30678,11 +30692,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dari) => [ - q(5601), + q(5600), q(0), ], q(darkinyung) => [ - q(7322), + q(7321), q(0), ], q(darlong) => [ @@ -30702,7 +30716,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(datooga) => [ - q(6406), + q(6405), q(0), ], q(daungwurrung) => [ @@ -30718,7 +30732,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(daw) => [ - q(3692), + q(3691), q(0), ], q(dawawa) => [ @@ -30766,7 +30780,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(deg) => [ - q(4714), + q(4713), q(0), ], q(degaru) => [ @@ -30782,7 +30796,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(degexit'an) => [ - q(2970), + q(2969), q(0), ], q(dehu) => [ @@ -30798,7 +30812,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dela-oenale) => [ - q(5847), + q(5846), q(0), ], q(delaware) => [ @@ -30806,7 +30820,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(delo) => [ - q(5096), + q(5095), q(0), ], q(dem) => [ @@ -30862,11 +30876,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dera (indonesia)) => [ - q(3203), + q(3202), q(0), ], q(dera (nigeria)) => [ - q(3479), + q(3478), q(0), ], q(desano) => [ @@ -30910,7 +30924,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dhao) => [ - q(4829), + q(4828), q(0), ], q(dhargari) => [ @@ -30918,15 +30932,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dharuk) => [ - q(7324), + q(7323), q(0), ], q(dharumbal) => [ - q(7345), + q(7344), q(0), ], q(dhatki) => [ - q(4349), + q(4348), q(0), ], q(dhimal) => [ @@ -30974,7 +30988,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dibabawon manobo) => [ - q(4130), + q(4129), q(0), ], q(dibiyaso) => [ @@ -31002,7 +31016,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(diebroud) => [ - q(6394), + q(6393), q(1), ], q(dieri) => [ @@ -31010,7 +31024,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(digaro-mishmi) => [ - q(4293), + q(4292), q(0), ], q(digo) => [ @@ -31030,7 +31044,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dima) => [ - q(3116), + q(3115), q(0), ], q(dimasa) => [ @@ -31062,7 +31076,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(6), ], q(dineor) => [ - q(4527), + q(4526), q(1), ], q(ding) => [ @@ -31098,7 +31112,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ditammari) => [ - q(6403), + q(6402), q(0), ], q(ditidaht) => [ @@ -31110,7 +31124,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(diuxi-tilantongo mixtec) => [ - q(7509), + q(7508), q(0), ], q(divehi) => [ @@ -31122,11 +31136,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dizin) => [ - q(4198), + q(4197), q(0), ], q(djabwurrung) => [ - q(6546), + q(6545), q(0), ], q(djadjawurrung) => [ @@ -31174,7 +31188,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(djingili) => [ - q(3096), + q(3095), q(0), ], q(djiwarli) => [ @@ -31182,7 +31196,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dobel) => [ - q(3680), + q(3679), q(0), ], q(dobu) => [ @@ -31234,7 +31248,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(doko-uyanga) => [ - q(6966), + q(6965), q(0), ], q(dolgan) => [ @@ -31254,7 +31268,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(domari) => [ - q(5821), + q(5820), q(0), ], q(dombe) => [ @@ -31302,7 +31316,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dongxiang) => [ - q(5928), + q(5927), q(0), ], q(donno so dogon) => [ @@ -31318,11 +31332,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dorig) => [ - q(7260), + q(7259), q(1), ], q(doromu-koki) => [ - q(3549), + q(3548), q(0), ], q(dororo) => [ @@ -31342,7 +31356,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(doutai) => [ - q(6443), + q(6442), q(0), ], q(doyayo) => [ @@ -31390,7 +31404,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dugun) => [ - q(4800), + q(4799), q(0), ], q(duguri) => [ @@ -31402,11 +31416,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(duhwa) => [ - q(3207), + q(3206), q(0), ], q(duke) => [ - q(4925), + q(4924), q(0), ], q(dulbu) => [ @@ -31446,7 +31460,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dungmali) => [ - q(5735), + q(5734), q(0), ], q(dungra bhil) => [ @@ -31466,7 +31480,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(duri) => [ - q(4613), + q(4612), q(0), ], q(duriankere) => [ @@ -31478,7 +31492,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(duruwa) => [ - q(5388), + q(5387), q(0), ], q(dusner) => [ @@ -31530,15 +31544,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(duwet) => [ - q(2668), + q(2667), q(0), ], q(duya) => [ - q(3846), + q(3845), q(0), ], q(dwang) => [ - q(5006), + q(5005), q(0), ], q(dyaabugay) => [ @@ -31570,7 +31584,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(dza) => [ - q(3081), + q(3080), q(0), ], q(dzalakha) => [ @@ -31606,15 +31620,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(e'napa woromaipu) => [ - q(5368), + q(5367), q(0), ], q(early tripuri) => [ - q(7521), + q(7520), q(0), ], q(east ambae) => [ - q(5251), + q(5250), q(0), ], q(east berawan) => [ @@ -31634,23 +31648,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(east kewa) => [ - q(3395), + q(3394), q(0), ], q(east limba) => [ - q(3975), + q(3974), q(0), ], q(east makian) => [ - q(4365), + q(4364), q(0), ], q(east masela) => [ - q(7021), + q(7020), q(0), ], q(east nyala) => [ - q(4947), + q(4946), q(0), ], q(east slavic languages) => [ @@ -31658,7 +31672,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(east tarangan) => [ - q(6691), + q(6690), q(0), ], q(east yugur) => [ @@ -31674,7 +31688,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(eastern apurimac quechua) => [ - q(5701), + q(5700), q(0), ], q(eastern arrernte) => [ @@ -31686,7 +31700,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(eastern bolivian guarani) => [ - q(2650), + q(2649), q(0), ], q(eastern bontok) => [ @@ -31698,7 +31712,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(eastern canadian inuktitut) => [ - q(2939), + q(2938), q(0), ], q(eastern cham) => [ @@ -31718,7 +31732,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(eastern gorkha tamang) => [ - q(6478), + q(6477), q(0), ], q(eastern gurung) => [ @@ -31730,7 +31744,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(eastern highland otomi) => [ - q(5322), + q(5321), q(0), ], q(eastern hongshuihe zhuang) => [ @@ -31738,19 +31752,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(eastern huasteca nahuatl) => [ - q(4863), + q(4862), q(0), ], q(eastern huishui hmong) => [ - q(2781), + q(2780), q(0), ], q(eastern huishui miao) => [ - q(2781), + q(2780), q(1), ], q(eastern karaboro) => [ - q(7476), + q(7475), q(0), ], q(eastern karnic) => [ @@ -31758,7 +31772,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(eastern katu) => [ - q(3640), + q(3639), q(0), ], q(eastern kayah) => [ @@ -31766,7 +31780,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(eastern keres) => [ - q(3260), + q(3259), q(0), ], q(eastern khumi chin) => [ @@ -31774,7 +31788,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(eastern krahn) => [ - q(3561), + q(3560), q(0), ], q(eastern lalu) => [ @@ -31782,11 +31796,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(eastern lawa) => [ - q(4101), + q(4100), q(0), ], q(eastern magar) => [ - q(4264), + q(4263), q(0), ], q(eastern malayo-polynesian languages) => [ @@ -31798,7 +31812,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(eastern mari) => [ - q(4290), + q(4289), q(0), ], q(eastern maroon creole) => [ @@ -31810,7 +31824,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(eastern mnong) => [ - q(4419), + q(4418), q(0), ], q(eastern muria) => [ @@ -31818,39 +31832,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(eastern ngad'a) => [ - q(4806), + q(4805), q(0), ], q(eastern nisu) => [ - q(5024), + q(5023), q(0), ], q(eastern ojibwa) => [ - q(5219), + q(5218), q(0), ], q(eastern oromo) => [ - q(2714), + q(2713), q(0), ], q(eastern parbate kham) => [ - q(3359), + q(3358), q(0), ], q(eastern penan) => [ - q(5421), + q(5420), q(0), ], q(eastern pomo) => [ - q(5404), + q(5403), q(0), ], q(eastern qiandong miao) => [ - q(2791), + q(2790), q(0), ], q(eastern subanen) => [ - q(5986), + q(5985), q(0), ], q(eastern sudanic languages) => [ @@ -31858,7 +31872,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(eastern tamang) => [ - q(6364), + q(6363), q(0), ], q(eastern tawbuid) => [ @@ -31866,7 +31880,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(eastern xiangxi miao) => [ - q(4592), + q(4591), q(0), ], q(eastern xwla gbe) => [ @@ -31874,15 +31888,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(eastern yiddish) => [ - q(7616), + q(7615), q(0), ], q(ebira) => [ - q(2920), + q(2919), q(0), ], q(eblan) => [ - q(7327), + q(7326), q(0), ], q(ebrie) => [ @@ -31902,15 +31916,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ede ica) => [ - q(2898), + q(2897), q(0), ], q(ede idaca) => [ - q(2905), + q(2904), q(0), ], q(ede ije) => [ - q(2936), + q(2935), q(0), ], q(edera awyu) => [ @@ -31926,7 +31940,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(edomite) => [ - q(7325), + q(7324), q(0), ], q(edopi) => [ @@ -31950,7 +31964,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(efutop) => [ - q(5206), + q(5205), q(0), ], q(ega) => [ @@ -32006,7 +32020,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ekegusii) => [ - q(2665), + q(2664), q(1), ], q(eki) => [ @@ -32066,7 +32080,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(elseng) => [ - q(4510), + q(4509), q(0), ], q(elu) => [ @@ -32074,11 +32088,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(elymian) => [ - q(7405), + q(7404), q(0), ], q(emae) => [ - q(4410), + q(4409), q(0), ], q(emai-iuleha-ora) => [ @@ -32106,7 +32120,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(embera-tado) => [ - q(6429), + q(6428), q(0), ], q(embu) => [ @@ -32138,7 +32152,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(enawene-nawe) => [ - q(6916), + q(6915), q(0), ], q(ende) => [ @@ -32150,7 +32164,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(engdewu) => [ - q(4850), + q(4849), q(0), ], q(engenni) => [ @@ -32182,7 +32196,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(enrekang) => [ - q(5635), + q(5634), q(0), ], q(enu) => [ @@ -32206,11 +32220,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(epena) => [ - q(6054), + q(6053), q(0), ], q(epi-olmec) => [ - q(7332), + q(7331), q(0), ], q(epie) => [ @@ -32226,11 +32240,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(erave) => [ - q(3400), + q(3399), q(0), ], q(ere) => [ - q(6803), + q(6802), q(0), ], q(eritai) => [ @@ -32262,11 +32276,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(esan) => [ - q(3001), + q(3000), q(0), ], q(ese) => [ - q(4168), + q(4167), q(0), ], q(ese ejja) => [ @@ -32298,7 +32312,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(estado de mexico otomi) => [ - q(5326), + q(5325), q(0), ], q(estonian) => [ @@ -32338,7 +32352,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(etkywan) => [ - q(2899), + q(2898), q(0), ], q(eton (cameroon)) => [ @@ -32354,7 +32368,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(etulo) => [ - q(6956), + q(6955), q(0), ], q(evant) => [ @@ -32374,7 +32388,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ewage-notu) => [ - q(5026), + q(5025), q(0), ], q(ewe) => [ @@ -32406,7 +32420,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(fagauvea) => [ - q(6962), + q(6961), q(1), ], q(faire atta) => [ @@ -32434,7 +32448,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(faliscan) => [ - q(7337), + q(7336), q(0), ], q(fam) => [ @@ -32474,7 +32488,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(farefare) => [ - q(2658), + q(2657), q(0), ], q(faroese) => [ @@ -32506,7 +32520,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(fedan) => [ - q(5399), + q(5398), q(1), ], q(fembe) => [ @@ -32522,7 +32536,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(fiji hindi) => [ - q(2756), + q(2755), q(0), ], q(fijian) => [ @@ -32534,7 +32548,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(filomena mata-coahuitlan totonac) => [ - q(6577), + q(6576), q(0), ], q(finland-swedish sign language) => [ @@ -32582,7 +32596,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(flemish sign language) => [ - q(6995), + q(6994), q(1), ], q(flinders island) => [ @@ -32602,7 +32616,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(folopa) => [ - q(5578), + q(5577), q(0), ], q(foma) => [ @@ -32662,7 +32676,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(french belgian sign language) => [ - q(5985), + q(5984), q(1), ], q(french sign language) => [ @@ -32702,7 +32716,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(fungwa) => [ - q(6889), + q(6888), q(0), ], q(fur) => [ @@ -32730,7 +32744,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(fyam) => [ - q(5671), + q(5670), q(0), ], q(fyer) => [ @@ -32742,7 +32756,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ga'anda) => [ - q(2609), + q(2608), q(0), ], q(ga'dang) => [ @@ -32750,11 +32764,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gaa) => [ - q(6735), + q(6734), q(0), ], q(gaam) => [ - q(6387), + q(6386), q(0), ], q(gabi-gabi) => [ @@ -32766,7 +32780,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gabrielino-fernandeno) => [ - q(7341), + q(7340), q(0), ], q(gadang) => [ @@ -32846,7 +32860,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(galatian) => [ - q(7338), + q(7337), q(0), ], q(galela) => [ @@ -32870,11 +32884,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(galindan) => [ - q(7344), + q(7343), q(0), ], q(gallurese sardinian) => [ - q(5953), + q(5952), q(0), ], q(galo) => [ @@ -32886,7 +32900,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gamale kham) => [ - q(3316), + q(3315), q(0), ], q(gambera) => [ @@ -32894,11 +32908,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gambian wolof) => [ - q(7200), + q(7199), q(0), ], q(gamilaraay) => [ - q(3431), + q(3430), q(0), ], q(gamit) => [ @@ -32922,8 +32936,8 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gana) => [ - q(2579), - q(0), + q(2574), + q(1), ], q(ganang) => [ q(2570), @@ -32934,11 +32948,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gandhari) => [ - q(5426), + q(5425), q(0), ], q(gane) => [ - q(2709), + q(2708), q(0), ], q(ganggalida) => [ @@ -32962,11 +32976,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ganza) => [ - q(2707), + q(2706), q(0), ], q(ganzi) => [ - q(2584), + q(2583), q(0), ], q(gao) => [ @@ -32974,7 +32988,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gapapaiwa) => [ - q(5662), + q(5661), q(0), ], q(garhwali) => [ @@ -32986,11 +33000,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(garig-ilgar) => [ - q(2954), + q(2953), q(0), ], q(garingbal) => [ - q(7343), + q(7342), q(0), ], q(garlali) => [ @@ -32998,7 +33012,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(garo) => [ - q(2625), + q(2624), q(0), ], q(garre) => [ @@ -33006,15 +33020,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(garrwa) => [ - q(7218), + q(7217), q(0), ], q(garus) => [ - q(2696), + q(2695), q(0), ], q(garza) => [ - q(7346), + q(7345), q(0), ], q(gata') => [ @@ -33026,23 +33040,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gavar) => [ - q(2601), + q(2600), q(0), ], q(gaviao do jiparana) => [ - q(2674), + q(2673), q(0), ], q(gawar-bati) => [ - q(2690), + q(2689), q(0), ], q(gawwada) => [ - q(2682), + q(2681), q(0), ], q(gayil) => [ - q(2702), + q(2701), q(0), ], q(gayo) => [ @@ -33050,7 +33064,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gazi) => [ - q(2708), + q(2707), q(0), ], q(gbagyi) => [ @@ -33082,7 +33096,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(gbaya (sudan)) => [ - q(3586), + q(3585), q(0), ], q(gbaya-bossangoa) => [ @@ -33098,7 +33112,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gbayi) => [ - q(2700), + q(2699), q(0), ], q(gbesi gbe) => [ @@ -33110,11 +33124,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gbin) => [ - q(7339), + q(7338), q(0), ], q(gbiri-niragu) => [ - q(2617), + q(2616), q(0), ], q(gboloo grebo) => [ @@ -33122,11 +33136,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ge) => [ - q(2786), + q(2785), q(0), ], q(geba karen) => [ - q(3682), + q(3681), q(0), ], q(gebe) => [ @@ -33150,7 +33164,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gejia) => [ - q(2786), + q(2785), q(1), ], q(geko karen) => [ @@ -33158,11 +33172,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gela) => [ - q(4948), + q(4947), q(0), ], q(geman deng) => [ - q(4655), + q(4654), q(1), ], q(geme) => [ @@ -33186,7 +33200,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gepo) => [ - q(7636), + q(7635), q(0), ], q(gera) => [ @@ -33194,7 +33208,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gergiko) => [ - q(4454), + q(4453), q(1), ], q(german) => [ @@ -33202,7 +33216,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(german sign language) => [ - q(2633), + q(2632), q(0), ], q(german, low) => [ @@ -33230,7 +33244,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gey) => [ - q(2662), + q(2661), q(0), ], q(ghadames) => [ @@ -33238,11 +33252,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ghanaian pidgin english) => [ - q(2607), + q(2606), q(0), ], q(ghanaian sign language) => [ - q(2632), + q(2631), q(0), ], q(ghandruk sign language) => [ @@ -33254,7 +33268,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ghari) => [ - q(2618), + q(2617), q(0), ], q(ghayavi) => [ @@ -33306,7 +33320,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(giiwo) => [ - q(3420), + q(3419), q(0), ], q(gikuyu) => [ @@ -33330,7 +33344,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gilyak) => [ - q(4899), + q(4898), q(0), ], q(gimi (eastern highlands)) => [ @@ -33342,7 +33356,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gimme) => [ - q(3468), + q(3467), q(0), ], q(gimnime) => [ @@ -33362,7 +33376,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(giryama) => [ - q(5159), + q(5158), q(0), ], q(githabul) => [ @@ -33370,7 +33384,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gitonga) => [ - q(6639), + q(6638), q(0), ], q(gitua) => [ @@ -33386,7 +33400,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gizrra) => [ - q(6638), + q(6637), q(0), ], q(glaro-twabo) => [ @@ -33398,15 +33412,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(glio-oubi) => [ - q(5334), + q(5333), q(0), ], q(gnau) => [ - q(2582), + q(2581), q(0), ], q(goan konkani) => [ - q(2596), + q(2595), q(0), ], q(goaria) => [ @@ -33414,15 +33428,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gobasi) => [ - q(2592), + q(2591), q(0), ], q(gobu) => [ - q(2603), + q(2602), q(0), ], q(godie) => [ - q(2588), + q(2587), q(0), ], q(godwari) => [ @@ -33434,11 +33448,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gofa) => [ - q(2590), + q(2589), q(0), ], q(gogo) => [ - q(2591), + q(2590), q(0), ], q(gogodala) => [ @@ -33450,15 +33464,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gola) => [ - q(2595), + q(2594), q(0), ], q(golin) => [ - q(2669), + q(2668), q(0), ], q(golpa) => [ - q(3931), + q(3930), q(0), ], q(gondi) => [ @@ -33466,11 +33480,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gone dau) => [ - q(2597), + q(2596), q(0), ], q(gongduk) => [ - q(2589), + q(2588), q(0), ], q(gonja) => [ @@ -33482,19 +33496,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gor) => [ - q(2612), + q(2611), q(0), ], q(gorakor) => [ - q(2587), + q(2586), q(0), ], q(gorap) => [ - q(2599), + q(2598), q(0), ], q(goreng) => [ - q(7342), + q(7341), q(0), ], q(gorontalo) => [ @@ -33502,11 +33516,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gorovu) => [ - q(2622), + q(2621), q(0), ], q(gorowa) => [ - q(2602), + q(2601), q(0), ], q(gothic) => [ @@ -33514,35 +33528,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(goundo) => [ - q(2604), + q(2603), q(0), ], q(gourmanchema) => [ - q(2664), + q(2663), q(0), ], q(gowlan) => [ - q(2593), + q(2592), q(0), ], q(gowli) => [ - q(2594), + q(2593), q(0), ], q(gowro) => [ - q(2684), + q(2683), q(0), ], q(gozarkhani) => [ - q(2605), + q(2604), q(0), ], q(grangali) => [ - q(4949), + q(4948), q(0), ], q(grass koiari) => [ - q(3192), + q(3191), q(0), ], q(grebo) => [ @@ -33558,7 +33572,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(greek sign language) => [ - q(2639), + q(2638), q(0), ], q(greek, ancient (to 1453)) => [ @@ -33582,15 +33596,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gresi) => [ - q(2624), + q(2623), q(0), ], q(groma) => [ - q(2621), + q(2620), q(0), ], q(gronings) => [ - q(2600), + q(2599), q(0), ], q(gros ventre) => [ @@ -33598,7 +33612,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gua) => [ - q(2693), + q(2692), q(0), ], q(guadeloupean creole french) => [ @@ -33606,31 +33620,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(guahibo) => [ - q(2649), + q(2648), q(0), ], q(guaja) => [ - q(2670), + q(2669), q(0), ], q(guajajara) => [ - q(2643), + q(2642), q(0), ], q(guambiano) => [ - q(2653), + q(2652), q(0), ], q(guana (brazil)) => [ - q(2611), + q(2610), q(0), ], q(guana (paraguay)) => [ - q(2666), + q(2665), q(0), ], q(guanano) => [ - q(2667), + q(2666), q(0), ], q(guanche) => [ @@ -33638,7 +33652,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(guanyinqiao) => [ - q(3102), + q(3101), q(0), ], q(guarani) => [ @@ -33646,7 +33660,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(guarayu) => [ - q(2705), + q(2704), q(0), ], q(guarequena) => [ @@ -33654,23 +33668,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(guatemalan sign language) => [ - q(2635), + q(2634), q(0), ], q(guato) => [ - q(2640), + q(2639), q(0), ], q(guayabero) => [ - q(2655), + q(2654), q(0), ], q(gudang) => [ - q(7340), + q(7339), q(0), ], q(gudanji) => [ - q(4908), + q(4907), q(0), ], q(gude) => [ @@ -33686,7 +33700,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(guernesiais) => [ - q(5052), + q(5051), q(1), ], q(guerrero amuzgo) => [ @@ -33694,7 +33708,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(guerrero nahuatl) => [ - q(4853), + q(4852), q(0), ], q(guevea de humboldt zapotec) => [ @@ -33710,15 +33724,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gugu warra) => [ - q(7228), + q(7227), q(0), ], q(gugubera) => [ - q(3417), + q(3416), q(0), ], q(guguyimidjir) => [ - q(3426), + q(3425), q(0), ], q(guhu-samane) => [ @@ -33750,11 +33764,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(guinean sign language) => [ - q(2659), + q(2658), q(0), ], q(guiqiong) => [ - q(2610), + q(2609), q(0), ], q(gujarati) => [ @@ -33766,7 +33780,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gula (central african republic)) => [ - q(3220), + q(3219), q(0), ], q(gula (chad)) => [ @@ -33782,7 +33796,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gulay) => [ - q(2671), + q(2670), q(0), ], q(gule) => [ @@ -33806,15 +33820,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gumawana) => [ - q(2677), + q(2676), q(0), ], q(gumuz) => [ - q(2651), + q(2650), q(0), ], q(gun) => [ - q(2663), + q(2662), q(0), ], q(gundi) => [ @@ -33826,35 +33840,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gundungurra) => [ - q(7477), + q(7476), q(0), ], q(gungabula) => [ - q(2699), + q(2698), q(0), ], q(gungu) => [ - q(5861), + q(5860), q(0), ], q(guntai) => [ - q(2581), + q(2580), q(0), ], q(gunwinggu) => [ - q(2656), + q(2655), q(0), ], q(gunya) => [ - q(2706), + q(2705), q(0), ], q(gupa-abawa) => [ - q(2606), + q(2605), q(0), ], q(gupapuyngu) => [ - q(2647), + q(2646), q(0), ], q(guragone) => [ @@ -33862,11 +33876,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(guramalum) => [ - q(2631), + q(2630), q(0), ], q(gurani) => [ - q(2712), + q(2711), q(0), ], q(gurdjar) => [ @@ -33874,7 +33888,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gureng gureng) => [ - q(2580), + q(2579), q(0), ], q(gurgula) => [ @@ -33882,47 +33896,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(guriaso) => [ - q(2629), + q(2628), q(0), ], q(gurinji) => [ - q(2646), + q(2645), q(0), ], q(gurmana) => [ - q(2672), + q(2671), q(0), ], q(guro) => [ - q(2585), + q(2584), q(0), ], q(guruntum-mbaaru) => [ - q(2615), + q(2614), q(0), ], q(gusan) => [ - q(2636), + q(2635), q(0), ], q(gusii) => [ - q(2665), + q(2664), q(0), ], q(gusilay) => [ - q(2634), + q(2633), q(0), ], q(guwa) => [ - q(7348), + q(7347), q(0), ], q(guwamu) => [ - q(2691), + q(2690), q(0), ], q(guwinmal) => [ - q(7345), + q(7344), q(1), ], q(guya) => [ @@ -33930,19 +33944,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(guyanese creole english) => [ - q(2704), + q(2703), q(0), ], q(guyani) => [ - q(2678), + q(2677), q(0), ], q(gvoko) => [ - q(4851), + q(4850), q(0), ], q(gwa) => [ - q(2680), + q(2679), q(0), ], q(gwahatike) => [ @@ -33950,7 +33964,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gwak) => [ - q(3087), + q(3086), q(0), ], q(gwamhi-wuri) => [ @@ -33958,51 +33972,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(gwandara) => [ - q(2688), + q(2687), q(0), ], q(gweda) => [ - q(2628), + q(2627), q(0), ], q(gweno) => [ - q(2683), + q(2682), q(0), ], q(gwere) => [ - q(2689), + q(2688), q(0), ], + q(gwi) => [ + q(2685), + q(1), + ], q(gwich'in) => [ q(0168), q(0), ], q(gyele) => [ - q(2701), + q(2700), q(0), ], q(gyem) => [ - q(2698), + q(2697), q(0), ], q(ha) => [ - q(2725), + q(2724), q(0), ], q(habu) => [ - q(2736), + q(2735), q(0), ], q(hadiyya) => [ - q(2741), + q(2740), q(0), ], q(hadothi) => [ - q(2817), + q(2816), q(0), ], q(hadrami) => [ - q(7351), + q(7350), q(0), ], q(hadrami arabic) => [ @@ -34010,7 +34028,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hadza) => [ - q(2849), + q(2848), q(0), ], q(haeke) => [ @@ -34018,11 +34036,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hahon) => [ - q(2717), + q(2716), q(0), ], q(hai//om) => [ - q(2748), + q(2747), q(0), ], q(haida) => [ @@ -34030,15 +34048,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(haigwai) => [ - q(2749), + q(2748), q(0), ], + q(haiom) => [ + q(2747), + q(1), + ], q(haiphong sign language) => [ - q(2715), + q(2714), q(0), ], q(haisla) => [ - q(2727), + q(2726), q(0), ], q(haitian) => [ @@ -34050,15 +34072,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(haitian vodoun culture language) => [ - q(2875), + q(2874), q(0), ], q(haji) => [ - q(2766), + q(2765), q(0), ], q(hajong) => [ - q(2718), + q(2717), q(0), ], q(haka chin) => [ @@ -34066,43 +34088,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hakka chinese) => [ - q(2719), + q(2718), q(0), ], q(hako) => [ - q(2723), + q(2722), q(0), ], q(halang) => [ - q(2720), + q(2719), q(0), ], q(halang doan) => [ - q(2773), + q(2772), q(0), ], q(halbi) => [ - q(2772), + q(2771), q(0), ], q(halh mongolian) => [ - q(3340), + q(3339), q(0), ], q(halia) => [ - q(2771), + q(2770), q(0), ], q(halkomelem) => [ - q(2866), + q(2865), q(0), ], q(hamap) => [ - q(2795), + q(2794), q(0), ], q(hamba) => [ - q(2732), + q(2731), q(0), ], q(hamea) => [ @@ -34114,71 +34136,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hamtai) => [ - q(2794), + q(2793), q(0), ], q(han) => [ - q(2710), + q(2709), q(0), ], q(hanga) => [ - q(2716), + q(2715), q(0), ], q(hanga hundi) => [ - q(7208), + q(7207), q(0), ], q(hangaza) => [ - q(2722), + q(2721), q(0), ], q(hani) => [ - q(2804), + q(2803), q(0), ], q(hano) => [ - q(3986), + q(3985), q(0), ], q(hanoi sign language) => [ - q(2711), + q(2710), q(0), ], q(hanunoo) => [ - q(2806), + q(2805), q(0), ], q(harami) => [ - q(7349), + q(7348), q(0), ], q(harari) => [ - q(2726), + q(2725), q(0), ], q(harijan kinnauri) => [ - q(3391), + q(3390), q(0), ], q(haroi) => [ - q(2836), + q(2835), q(0), ], q(haroti) => [ - q(2817), + q(2816), q(1), ], q(harsusi) => [ - q(2846), + q(2845), q(0), ], q(haruai) => [ - q(6589), + q(6588), q(0), ], q(haruku) => [ - q(2834), + q(2833), q(0), ], q(haryanvi) => [ @@ -34186,23 +34208,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(harzani) => [ - q(2842), + q(2841), q(0), ], q(hasha) => [ - q(7603), + q(7602), q(0), ], q(hassaniyya) => [ - q(4222), + q(4221), q(0), ], q(hatam) => [ - q(2713), + q(2712), q(0), ], q(hattic) => [ - q(7354), + q(7353), q(0), ], q(hausa) => [ @@ -34210,7 +34232,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hausa sign language) => [ - q(2844), + q(2843), q(0), ], q(havasupai-walapai-yavapai) => [ @@ -34218,27 +34240,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(haveke) => [ - q(2877), + q(2876), q(0), ], q(havu) => [ - q(2728), + q(2727), q(0), ], q(hawai'i creole english) => [ - q(2881), + q(2880), q(0), ], q(hawai'i pidgin) => [ - q(2881), + q(2880), q(1), ], q(hawai'i pidgin sign language) => [ - q(2830), + q(2829), q(1), ], q(hawai'i sign language (hsl)) => [ - q(2830), + q(2829), q(0), ], q(hawaiian) => [ @@ -34246,15 +34268,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(haya) => [ - q(2730), + q(2729), q(0), ], q(hazaragi) => [ - q(2731), + q(2730), q(0), ], q(hdi) => [ - q(7328), + q(7327), q(0), ], q(hebrew) => [ @@ -34262,35 +34284,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hehe) => [ - q(2745), + q(2744), q(0), ], q(heiban) => [ - q(2734), + q(2733), q(0), ], q(heiltsuk) => [ - q(2746), + q(2745), q(0), ], q(helambu sherpa) => [ - q(5935), + q(5934), q(0), ], q(helong) => [ - q(2744), + q(2743), q(0), ], q(hema) => [ - q(4901), + q(4900), q(0), ], q(hemba) => [ - q(2747), + q(2746), q(0), ], q(herde) => [ - q(2743), + q(2742), q(0), ], q(herero) => [ @@ -34298,23 +34320,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hermit) => [ - q(3960), + q(3959), q(0), ], q(hernican) => [ - q(7353), + q(7352), q(0), ], q(hertevin) => [ - q(2838), + q(2837), q(0), ], q(heung kong sau yue) => [ - q(2770), + q(2769), q(1), ], q(hewa) => [ - q(2721), + q(2720), q(0), ], q(heyo) => [ @@ -34326,23 +34348,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hibito) => [ - q(2754), + q(2753), q(0), ], q(hidatsa) => [ - q(2755), + q(2754), q(0), ], q(hieroglyphic luwian) => [ - q(2776), + q(2775), q(0), ], q(higaonon) => [ - q(4127), + q(4126), q(0), ], q(highland konjo) => [ - q(3387), + q(3386), q(0), ], q(highland oaxaca chontal) => [ @@ -34350,7 +34372,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(highland popoluca) => [ - q(5559), + q(5558), q(0), ], q(highland puebla nahuatl) => [ @@ -34358,7 +34380,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(highland totonac) => [ - q(6648), + q(6647), q(0), ], q(hijazi arabic) => [ @@ -34366,7 +34388,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hijuk) => [ - q(2760), + q(2759), q(0), ], q(hiligaynon) => [ @@ -34378,7 +34400,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(himarima) => [ - q(2763), + q(2762), q(0), ], q(hindi) => [ @@ -34386,7 +34408,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hinduri) => [ - q(2759), + q(2758), q(0), ], q(hinukh) => [ @@ -34402,31 +34424,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hitu) => [ - q(2850), + q(2849), q(0), ], q(hiw) => [ - q(2764), + q(2763), q(0), ], q(hixkaryana) => [ - q(2765), + q(2764), q(0), ], q(hlai) => [ - q(3911), + q(3910), q(0), ], q(hlepho phowa) => [ - q(7643), + q(7642), q(0), ], q(hlersu) => [ - q(2774), + q(2773), q(0), ], q(hmar) => [ - q(2792), + q(2791), q(0), ], q(hmong) => [ @@ -34434,23 +34456,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hmong daw) => [ - q(4642), + q(4641), q(0), ], q(hmong do) => [ - q(2796), + q(2795), q(0), ], q(hmong don) => [ - q(2782), + q(2781), q(0), ], q(hmong njua) => [ - q(2805), + q(2804), q(0), ], q(hmong shua) => [ - q(2799), + q(2798), q(0), ], q(hmong-mien languages) => [ @@ -34458,31 +34480,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hmwaveke) => [ - q(4514), + q(4513), q(0), ], q(ho) => [ - q(2812), + q(2811), q(0), ], q(ho chi minh city sign language) => [ - q(2823), + q(2822), q(0), ], q(ho-chunk) => [ - q(7137), + q(7136), q(0), ], q(hoava) => [ - q(2810), + q(2809), q(0), ], q(hobyot) => [ - q(2815), + q(2814), q(0), ], q(hoia hoia) => [ - q(2750), + q(2749), q(0), ], q(hokan languages) => [ @@ -34490,59 +34512,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(holikachuk) => [ - q(2816), + q(2815), q(0), ], q(holiya) => [ - q(2827), + q(2826), q(0), ], q(holma) => [ - q(2813), + q(2812), q(0), ], q(holoholo) => [ - q(2820), + q(2819), q(0), ], q(holu) => [ - q(2818), + q(2817), q(0), ], q(homa) => [ - q(2819), + q(2818), q(0), ], q(honduras sign language) => [ - q(2740), + q(2739), q(0), ], q(hone) => [ - q(3150), + q(3149), q(0), ], q(hong kong sign language) => [ - q(2770), + q(2769), q(0), ], q(honi) => [ - q(2826), + q(2825), q(0), ], q(hopi) => [ - q(2821), + q(2820), q(0), ], q(horned miao) => [ - q(2835), + q(2834), q(0), ], q(horo) => [ - q(2822), + q(2821), q(0), ], q(horom) => [ - q(2814), + q(2813), q(0), ], q(horpa) => [ @@ -34550,107 +34572,111 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hote) => [ - q(2824), + q(2823), q(0), ], q(hoti) => [ - q(2847), + q(2846), q(0), ], q(hovongan) => [ - q(2825), + q(2824), q(0), ], q(hoyahoya) => [ - q(2752), + q(2751), q(0), ], q(hozo) => [ - q(2828), + q(2827), q(0), ], q(hpon) => [ - q(2829), + q(2828), q(0), ], q(hrangkhol) => [ - q(2831), + q(2830), q(0), ], q(hre) => [ - q(2833), + q(2832), q(0), ], q(hruso) => [ - q(2839), + q(2838), q(0), ], q(hu) => [ - q(2864), + q(2863), q(0), ], + q(hua) => [ + q(2852), + q(1), + ], q(huachipaeri) => [ - q(2857), + q(2856), q(0), ], q(huallaga huanuco quechua) => [ - q(5679), + q(5678), q(0), ], q(huamalies-dos de mayo huanuco quechua) => [ - q(5702), + q(5701), q(0), ], q(huambisa) => [ - q(2852), + q(2851), q(0), ], q(huarijio) => [ - q(6980), + q(6979), q(0), ], q(huastec) => [ - q(2867), + q(2866), q(0), ], q(huaulu) => [ - q(2854), + q(2853), q(0), ], q(huautla mazatec) => [ - q(4122), + q(4121), q(0), ], q(huaxcaleca nahuatl) => [ - q(4873), + q(4872), q(0), ], q(huaylas ancash quechua) => [ - q(5716), + q(5715), q(0), ], q(huaylla wanca quechua) => [ - q(5711), + q(5710), q(0), ], q(huba) => [ - q(2733), + q(2732), q(0), ], q(huehuetla tepehua) => [ - q(6453), + q(6452), q(0), ], q(huichol) => [ - q(2738), + q(2737), q(0), ], q(huilliche) => [ - q(2858), + q(2857), q(0), ], q(huitepec mixtec) => [ - q(4664), + q(4663), q(0), ], q(huizhou chinese) => [ @@ -34658,35 +34684,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hukumina) => [ - q(2871), + q(2870), q(0), ], q(hula) => [ - q(2862), + q(2861), q(0), ], q(hulaula) => [ - q(2873), + q(2872), q(0), ], q(huli) => [ - q(2859), + q(2858), q(0), ], q(hulung) => [ - q(2861), + q(2860), q(0), ], q(humburi senni songhay) => [ - q(2778), + q(2777), q(0), ], q(humene) => [ - q(2856), + q(2855), q(0), ], q(humla) => [ - q(2868), + q(2867), q(0), ], q(hun-saare) => [ @@ -34694,15 +34720,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hunde) => [ - q(2768), + q(2767), q(0), ], q(hung) => [ - q(2809), + q(2808), q(0), ], q(hungana) => [ - q(2863), + q(2862), q(0), ], q(hungarian) => [ @@ -34710,27 +34736,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hungarian sign language) => [ - q(2843), + q(2842), q(0), ], q(hungworo) => [ - q(4734), + q(4733), q(1), ], q(hunjara-kaina ke) => [ - q(2769), + q(2768), q(0), ], q(hunnic) => [ - q(7350), + q(7349), q(0), ], q(hunsrik) => [ - q(2841), + q(2840), q(0), ], q(hunzib) => [ - q(2874), + q(2873), q(0), ], q(hupa) => [ @@ -34738,15 +34764,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hupde) => [ - q(3157), + q(3156), q(0), ], q(hupla) => [ - q(2724), + q(2723), q(0), ], q(hurrian) => [ - q(7355), + q(7354), q(0), ], q(hutterisch) => [ @@ -34758,27 +34784,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(hwana) => [ - q(2882), + q(2881), q(0), ], q(hya) => [ - q(2883), + q(2882), q(0), ], q(hyam) => [ - q(3041), + q(3040), q(0), ], q(i'saka) => [ - q(3601), + q(3600), q(1), ], q(i-wak) => [ - q(3028), + q(3027), q(0), ], q(iaai) => [ - q(2884), + q(2883), q(0), ], q(iamalele) => [ @@ -34786,23 +34812,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(iapama) => [ - q(2886), + q(2885), q(0), ], q(iatmul) => [ - q(2885), + q(2884), q(0), ], q(iau) => [ - q(6605), + q(6604), q(0), ], q(ibali teke) => [ - q(6458), + q(6457), q(0), ], q(ibaloi) => [ - q(2892), + q(2891), q(0), ], q(iban) => [ @@ -34810,35 +34836,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ibanag) => [ - q(2891), + q(2890), q(0), ], q(ibani) => [ - q(2897), + q(2896), q(0), ], q(ibatan) => [ - q(3026), + q(3025), q(0), ], q(iberian) => [ - q(7357), + q(7356), q(0), ], q(ibibio) => [ - q(2888), + q(2887), q(0), ], q(ibino) => [ - q(2894), + q(2893), q(0), ], q(ibu) => [ - q(2896), + q(2895), q(0), ], q(ibuoro) => [ - q(2895), + q(2894), q(0), ], q(icelandic) => [ @@ -34846,7 +34872,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(icelandic sign language) => [ - q(2900), + q(2899), q(0), ], q(iceve-maci) => [ @@ -34858,23 +34884,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(idakho-isukha-tiriki) => [ - q(2902), + q(2901), q(0), ], q(idate) => [ - q(2910), + q(2909), q(0), ], q(idere) => [ - q(2906), + q(2905), q(0), ], q(idesa) => [ - q(2909), + q(2908), q(0), ], q(idi) => [ - q(2907), + q(2906), q(0), ], q(ido) => [ @@ -34882,11 +34908,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(idoma) => [ - q(2911), + q(2910), q(0), ], q(idon) => [ - q(2904), + q(2903), q(0), ], q(idu-mishmi) => [ @@ -34894,23 +34920,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(iduna) => [ - q(7004), + q(7003), q(0), ], q(ife) => [ - q(2914), + q(2913), q(0), ], q(ifo) => [ - q(2915), + q(2914), q(0), ], q(igala) => [ - q(2923), + q(2922), q(0), ], q(igana) => [ - q(2922), + q(2921), q(0), ], q(igbo) => [ @@ -34918,11 +34944,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(igede) => [ - q(2921), + q(2920), q(0), ], q(ignaciano) => [ - q(2925), + q(2924), q(0), ], q(igo) => [ @@ -34930,27 +34956,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(iguta) => [ - q(4732), + q(4731), q(0), ], q(igwe) => [ - q(2928), + q(2927), q(0), ], q(iha) => [ - q(2931), + q(2930), q(0), ], q(iha based pidgin) => [ - q(2929), + q(2928), q(0), ], q(ihievbe) => [ - q(2930), + q(2929), q(0), ], q(ija-zuba) => [ - q(7006), + q(7005), q(0), ], q(ijo languages) => [ @@ -34958,83 +34984,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ik) => [ - q(2950), + q(2949), q(0), ], q(ika) => [ - q(2941), + q(2940), q(0), ], q(ikaranggal) => [ - q(2945), + q(2944), q(0), ], q(ikizu) => [ - q(2951), + q(2950), q(0), ], q(iko) => [ - q(2940), + q(2939), q(0), ], q(ikobi) => [ - q(4202), + q(4201), q(0), ], q(ikoma-nata-isenye) => [ - q(5092), + q(5091), q(0), ], q(ikpeng) => [ - q(6817), + q(6816), q(0), ], q(ikpeshi) => [ - q(2944), + q(2943), q(0), ], q(ikposo) => [ - q(3536), + q(3535), q(0), ], q(iku-gora-ankwa) => [ - q(2948), + q(2947), q(0), ], q(ikulu) => [ - q(2942), + q(2941), q(0), ], q(ikwere) => [ - q(2949), + q(2948), q(0), ], q(ikwo) => [ - q(2986), + q(2985), q(0), ], q(ila) => [ - q(2953), + q(2952), q(0), ], q(ile ape) => [ - q(2952), + q(2951), q(0), ], q(ili turki) => [ - q(2955), + q(2954), q(0), ], q(ili'uun) => [ - q(2959), + q(2958), q(0), ], q(ilianen manobo) => [ - q(4134), + q(4133), q(0), ], q(illyrian) => [ - q(7359), + q(7358), q(0), ], q(iloko) => [ @@ -35042,27 +35068,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ilongot) => [ - q(2956), + q(2955), q(0), ], q(ilue) => [ - q(2960), + q(2959), q(0), ], q(ilwana) => [ - q(4375), + q(4374), q(0), ], q(imbabura highland quichua) => [ - q(5703), + q(5702), q(0), ], q(imbongu) => [ - q(2965), + q(2964), q(0), ], q(imonda) => [ - q(2964), + q(2963), q(0), ], q(imperial aramaic (700-300 bce)) => [ @@ -35070,7 +35096,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(imroing) => [ - q(2966), + q(2965), q(0), ], q(inabaknon) => [ @@ -35078,11 +35104,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(inapang) => [ - q(4712), + q(4711), q(0), ], q(inapari) => [ - q(2976), + q(2975), q(0), ], q(inari sami) => [ @@ -35090,7 +35116,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(indian sign language) => [ - q(2977), + q(2976), q(0), ], q(indic languages) => [ @@ -35106,7 +35132,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(indo-portuguese) => [ - q(2903), + q(2902), q(0), ], q(indonesian) => [ @@ -35118,35 +35144,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(indonesian sign language) => [ - q(2972), + q(2971), q(0), ], q(indri) => [ - q(2908), + q(2907), q(0), ], q(indus kohistani) => [ - q(4622), + q(4621), q(0), ], q(indus valley language) => [ - q(7364), + q(7363), q(0), ], q(inebu one) => [ - q(5216), + q(5215), q(0), ], q(ineseno) => [ - q(2979), + q(2978), q(0), ], q(inga) => [ - q(2969), + q(2968), q(0), ], q(ingrian) => [ - q(3037), + q(3036), q(0), ], q(ingush) => [ @@ -35154,27 +35180,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(inlaod itneg) => [ - q(3012), + q(3011), q(0), ], q(inoke-yate) => [ - q(2975), + q(2974), q(0), ], q(inonhan) => [ - q(4015), + q(4014), q(0), ], q(inor) => [ - q(2980), + q(2979), q(0), ], q(inpui naga) => [ - q(4926), + q(4925), q(0), ], q(interglossa) => [ - q(2927), + q(2926), q(0), ], q(interlingua (international auxiliary language association)) => [ @@ -35186,19 +35212,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(international sign) => [ - q(2958), + q(2957), q(0), ], q(intha) => [ - q(2978), + q(2977), q(0), ], q(inuinnaqtun) => [ - q(2947), + q(2946), q(0), ], q(inuit sign language) => [ - q(2946), + q(2945), q(0), ], q(inuktitut) => [ @@ -35210,7 +35236,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(iowa-oto) => [ - q(2982), + q(2981), q(0), ], q(ipalapa amuzgo) => [ @@ -35218,11 +35244,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ipiko) => [ - q(2984), + q(2983), q(0), ], q(ipili) => [ - q(2983), + q(2982), q(0), ], q(ipulo) => [ @@ -35230,11 +35256,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(iquito) => [ - q(2985), + q(2984), q(0), ], q(ir) => [ - q(2992), + q(2991), q(0), ], q(iranian languages) => [ @@ -35242,35 +35268,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(iranian persian) => [ - q(5417), + q(5416), q(0), ], q(irantxe) => [ - q(2991), + q(2990), q(0), ], q(iranun) => [ - q(2957), + q(2956), q(0), ], q(iraqw) => [ - q(2990), + q(2989), q(0), ], q(irarutu) => [ - q(2988), + q(2987), q(0), ], q(iraya) => [ - q(2995), + q(2994), q(0), ], q(iresim) => [ - q(2987), + q(2986), q(0), ], q(irigwe) => [ - q(2989), + q(2988), q(0), ], q(irish) => [ @@ -35278,7 +35304,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(irish sign language) => [ - q(3000), + q(2999), q(0), ], q(irish, middle (900-1200)) => [ @@ -35294,15 +35320,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(irula) => [ - q(2993), + q(2992), q(0), ], q(isabi) => [ - q(2996), + q(2995), q(0), ], q(isanzu) => [ - q(3005), + q(3004), q(0), ], q(isarog agta) => [ @@ -35310,27 +35336,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(isconahua) => [ - q(2997), + q(2996), q(0), ], q(isebe) => [ - q(2926), + q(2925), q(0), ], q(isekiri) => [ - q(3018), + q(3017), q(0), ], q(ishkashimi) => [ - q(3003), + q(3002), q(0), ], q(isinai) => [ - q(2974), + q(2973), q(0), ], q(isirawa) => [ - q(6217), + q(6216), q(0), ], q(island carib) => [ @@ -35338,23 +35364,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(islander creole english) => [ - q(2901), + q(2900), q(0), ], q(isnag) => [ - q(2998), + q(2997), q(0), ], q(isoko) => [ - q(3006), + q(3005), q(0), ], q(israeli sign language) => [ - q(3007), + q(3006), q(0), ], q(isthmus mixe) => [ - q(4313), + q(4312), q(0), ], q(isthmus zapotec) => [ @@ -35362,31 +35388,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(isthmus-cosoleacaque nahuatl) => [ - q(4868), + q(4867), q(0), ], q(isthmus-mecayapan nahuatl) => [ - q(4879), + q(4878), q(0), ], q(isthmus-pajapan nahuatl) => [ - q(4872), + q(4871), q(0), ], q(istriot) => [ - q(3008), + q(3007), q(0), ], q(istro romanian) => [ - q(5869), + q(5868), q(0), ], q(isu (fako division)) => [ - q(6355), + q(6354), q(0), ], q(isu (menchum division)) => [ - q(3009), + q(3008), q(0), ], q(italian) => [ @@ -35394,7 +35420,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(italian sign language) => [ - q(2999), + q(2998), q(0), ], q(italic languages) => [ @@ -35402,51 +35428,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(itawit) => [ - q(3020), + q(3019), q(0), ], q(itelmen) => [ - q(3014), + q(3013), q(0), ], q(itene) => [ - q(3011), + q(3010), q(0), ], q(iteri) => [ - q(3017), + q(3016), q(0), ], q(itik) => [ - q(3022), + q(3021), q(0), ], q(ito) => [ - q(3021), + q(3020), q(0), ], q(itonama) => [ - q(3016), + q(3015), q(0), ], q(itu mbon uzo) => [ - q(3015), + q(3014), q(0), ], q(itundujia mixtec) => [ - q(4156), + q(4155), q(0), ], q(itza) => [ - q(3024), + q(3023), q(0), ], q(iu mien) => [ - q(3025), + q(3024), q(0), ], q(ivatan) => [ - q(3027), + q(3026), q(0), ], q(ivbie north-okpela-arhe) => [ @@ -35454,51 +35480,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(iwaidja) => [ - q(2889), + q(2888), q(0), ], q(iwal) => [ - q(3194), + q(3193), q(0), ], q(iwam) => [ - q(3029), + q(3028), q(0), ], q(iwur) => [ - q(3030), + q(3029), q(0), ], q(ixcatec) => [ - q(3032), + q(3031), q(0), ], q(ixcatlan mazatec) => [ - q(4700), + q(4699), q(0), ], q(ixil) => [ - q(3033), + q(3032), q(0), ], q(ixtayutla mixtec) => [ - q(7026), + q(7025), q(0), ], q(ixtenco otomi) => [ - q(5332), + q(5331), q(0), ], q(iyayu) => [ - q(3034), + q(3033), q(0), ], q(iyive) => [ - q(6877), + q(6876), q(0), ], q(iyo) => [ - q(4761), + q(4760), q(0), ], q(iyo'wujwa chorote) => [ @@ -35510,15 +35536,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(izere) => [ - q(3038), + q(3037), q(0), ], q(izii) => [ - q(3039), + q(3038), q(0), ], q(izon) => [ - q(2934), + q(2933), q(0), ], q(izora) => [ @@ -35526,23 +35552,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(jabuti) => [ - q(3066), + q(3065), q(0), ], q(jad) => [ - q(3071), + q(3070), q(0), ], q(jadgali) => [ - q(3072), + q(3071), q(0), ], q(jah hut) => [ - q(3046), + q(3045), q(0), ], q(jahanka) => [ - q(3043), + q(3042), q(0), ], q(jair awyu) => [ @@ -35550,23 +35576,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(jaitmatang) => [ - q(7367), + q(7366), q(0), ], q(jakalteko) => [ - q(3042), + q(3041), q(1), ], q(jakati) => [ - q(3055), + q(3054), q(0), ], q(jakun) => [ - q(3048), + q(3047), q(0), ], q(jalapa de diaz mazatec) => [ - q(4118), + q(4117), q(0), ], q(jalkunan) => [ @@ -35574,27 +35600,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(jamaican country sign language) => [ - q(3069), + q(3068), q(0), ], q(jamaican creole english) => [ - q(3050), + q(3049), q(0), ], q(jamaican sign language) => [ - q(3115), + q(3114), q(0), ], q(jamamadi) => [ - q(3040), + q(3039), q(0), ], q(jambi malay) => [ - q(3057), + q(3056), q(0), ], q(jamiltepec mixtec) => [ - q(4665), + q(4664), q(0), ], q(jamsay dogon) => [ @@ -35602,11 +35628,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(jandai) => [ - q(3051), + q(3050), q(0), ], q(jandavra) => [ - q(3128), + q(3127), q(0), ], q(jangkang) => [ @@ -35614,11 +35640,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(jangshung) => [ - q(3127), + q(3126), q(0), ], q(janji) => [ - q(3130), + q(3129), q(0), ], q(japanese) => [ @@ -35630,23 +35656,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(japanese sign language) => [ - q(3145), + q(3144), q(0), ], q(japreria) => [ - q(3144), + q(3143), q(0), ], q(jaqaru) => [ - q(3140), + q(3139), q(0), ], q(jara) => [ - q(3045), + q(3044), q(0), ], q(jarai) => [ - q(3141), + q(3140), q(0), ], q(jarawa (india)) => [ @@ -35658,11 +35684,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(jauja wanca quechua) => [ - q(5732), + q(5731), q(0), ], q(jaunsari) => [ - q(3133), + q(3132), q(0), ], q(javanese) => [ @@ -35670,35 +35696,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(javindo) => [ - q(3164), + q(3163), q(0), ], q(jawe) => [ - q(3059), + q(3058), q(0), ], q(jaya) => [ - q(3169), + q(3168), q(0), ], q(jebero) => [ - q(3074), + q(3073), q(0), ], q(jeh) => [ - q(3077), + q(3076), q(0), ], q(jehai) => [ - q(3089), + q(3088), q(0), ], q(jejueo) => [ - q(3107), + q(3106), q(0), ], q(jemez) => [ - q(6651), + q(6650), q(0), ], q(jenaama bozo) => [ @@ -35706,55 +35732,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(jeng) => [ - q(3076), + q(3075), q(0), ], q(jennu kurumba) => [ - q(7533), + q(7532), q(0), ], q(jere) => [ - q(3082), + q(3081), q(0), ], q(jeri kuo) => [ - q(3079), + q(3078), q(0), ], q(jerriais) => [ - q(5052), + q(5051), q(0), ], q(jerung) => [ - q(3075), + q(3074), q(0), ], q(jewish babylonian aramaic (ca. 200-1200 ce)) => [ - q(6602), + q(6601), q(0), ], q(jewish palestinian aramaic) => [ - q(3139), + q(3138), q(0), ], q(jhankot sign language) => [ - q(3090), + q(3089), q(0), ], q(jiamao) => [ - q(3101), + q(3100), q(0), ], q(jiarong) => [ - q(3167), + q(3166), q(0), ], q(jiba) => [ - q(3156), + q(3155), q(0), ], q(jibu) => [ - q(3092), + q(3091), q(0), ], q(jicarilla apache) => [ @@ -35762,27 +35788,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(jiiddu) => [ - q(3098), + q(3097), q(0), ], q(jilbe) => [ - q(3095), + q(3094), q(0), ], q(jilim) => [ - q(3099), + q(3098), q(0), ], q(jimi (cameroon)) => [ - q(3100), + q(3099), q(0), ], q(jimi (nigeria)) => [ - q(3120), + q(3119), q(0), ], q(jina) => [ - q(3091), + q(3090), q(0), ], q(jingpho) => [ @@ -35794,31 +35820,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(jiongnai bunu) => [ - q(5547), + q(5546), q(0), ], q(jirel) => [ - q(3153), + q(3152), q(0), ], q(jiru) => [ - q(3142), + q(3141), q(0), ], q(jita) => [ - q(3103), + q(3102), q(0), ], q(jju) => [ - q(3176), + q(3175), q(0), ], q(joba) => [ - q(3134), + q(3133), q(0), ], q(jofotek-bromnya) => [ - q(3065), + q(3064), q(0), ], q(jola-fonyi) => [ @@ -35830,35 +35856,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(jonkor bourmataguil) => [ - q(3084), + q(3083), q(0), ], q(jora) => [ - q(3136), + q(3135), q(0), ], q(jordanian sign language) => [ - q(3137), + q(3136), q(0), ], q(jorto) => [ - q(3143), + q(3142), q(0), ], q(jowulu) => [ - q(3138), + q(3137), q(0), ], q(ju) => [ - q(3161), + q(3160), q(0), ], q(ju/'hoan) => [ - q(3644), + q(3643), q(0), ], q(juang) => [ - q(3155), + q(3154), q(0), ], q(judeo-arabic) => [ @@ -35866,19 +35892,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(judeo-berber) => [ - q(3060), + q(3059), q(0), ], q(judeo-georgian) => [ - q(3086), + q(3085), q(0), ], q(judeo-iraqi arabic) => [ - q(7642), + q(7641), q(0), ], q(judeo-italian) => [ - q(3013), + q(3012), q(0), ], q(judeo-moroccan arabic) => [ @@ -35890,7 +35916,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(judeo-tat) => [ - q(3073), + q(3072), q(0), ], q(judeo-tripolitanian arabic) => [ @@ -35902,35 +35928,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(judeo-yemeni arabic) => [ - q(3168), + q(3167), q(0), ], + q(juhoan) => [ + q(3643), + q(1), + ], q(jukun takum) => [ - q(3067), + q(3066), q(0), ], q(juma) => [ - q(3146), + q(3145), q(0), ], q(jumjum) => [ - q(3154), + q(3153), q(0), ], q(jumla sign language) => [ - q(3159), + q(3158), q(0), ], q(jumli) => [ - q(3121), + q(3120), q(0), ], q(jungle inga) => [ - q(2971), + q(2970), q(0), ], q(juquila mixe) => [ - q(4662), + q(4661), q(0), ], q(jur modo) => [ @@ -35938,43 +35968,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(juray) => [ - q(3163), + q(3162), q(0), ], q(jurchen) => [ - q(3148), + q(3147), q(0), ], q(juruna) => [ - q(3158), + q(3157), q(0), ], q(jutish) => [ - q(3160), + q(3159), q(0), ], q(juwal) => [ - q(4625), + q(4624), q(0), ], q(juxtlahuaca mixtec) => [ - q(7019), + q(7018), q(0), ], q(jwira-pepesa) => [ - q(3166), + q(3165), q(0), ], q(k'iche') => [ - q(5680), + q(5679), q(0), ], q(kaamba) => [ - q(7387), + q(7386), q(0), ], q(kaan) => [ - q(3853), + q(3852), q(0), ], q(kaang chin) => [ @@ -35986,19 +36016,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kaapor) => [ - q(6926), + q(6925), q(1), ], q(kaapor sign language) => [ - q(6885), + q(6884), q(1), ], q(kaba) => [ - q(3608), + q(3607), q(0), ], q(kabalai) => [ - q(3671), + q(3670), q(0), ], q(kabardian) => [ @@ -36006,39 +36036,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kabatei) => [ - q(7382), + q(7381), q(0), ], q(kabixi) => [ - q(7305), + q(7304), q(0), ], q(kabiye) => [ - q(3197), + q(3196), q(0), ], q(kabola) => [ - q(3453), + q(3452), q(0), ], q(kabore one) => [ - q(5272), + q(5271), q(0), ], q(kabras) => [ - q(3939), + q(3938), q(0), ], q(kaburi) => [ - q(6879), + q(6878), q(0), ], q(kabutra) => [ - q(3202), + q(3201), q(0), ], q(kabuverdianu) => [ - q(3256), + q(3255), q(0), ], q(kabwa) => [ @@ -36046,7 +36076,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kabwari) => [ - q(3230), + q(3229), q(0), ], q(kabyle) => [ @@ -36054,15 +36084,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kachama-ganjule) => [ - q(3231), + q(3230), q(0), ], q(kachari) => [ - q(7273), + q(7272), q(0), ], q(kachchi) => [ - q(3299), + q(3298), q(0), ], q(kachi koli) => [ @@ -36074,27 +36104,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kacipo-balesi) => [ - q(3507), + q(3506), q(0), ], q(kaco') => [ - q(7378), + q(7377), q(0), ], q(kadai) => [ - q(3770), + q(3769), q(0), ], q(kadar) => [ - q(3265), + q(3264), q(0), ], q(kadaru) => [ - q(3251), + q(3250), q(0), ], q(kadiweu) => [ - q(3186), + q(3185), q(0), ], q(kadu) => [ @@ -36102,23 +36132,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kaduo) => [ - q(3634), + q(3633), q(0), ], q(kafa) => [ - q(3199), + q(3198), q(0), ], q(kafoa) => [ - q(3541), + q(3540), q(0), ], q(kagan kalagan) => [ - q(3439), + q(3438), q(0), ], q(kagate) => [ - q(6343), + q(6342), q(0), ], q(kagayanen) => [ @@ -36126,19 +36156,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kagoma) => [ - q(3245), + q(3244), q(0), ], q(kagoro) => [ - q(7374), + q(7373), q(0), ], q(kagulu) => [ - q(3410), + q(3409), q(0), ], q(kahe) => [ - q(2767), + q(2766), q(0), ], q(kahua) => [ @@ -36146,39 +36176,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kaian) => [ - q(3227), + q(3226), q(0), ], q(kaibobo) => [ - q(3768), + q(3767), q(0), ], q(kaidipang) => [ - q(3781), + q(3780), q(0), ], q(kaiep) => [ - q(3204), + q(3203), q(0), ], q(kaikadi) => [ - q(3271), + q(3270), q(0), ], q(kaikavian literary language) => [ - q(3398), + q(3397), q(0), ], q(kaike) => [ - q(3782), + q(3781), q(0), ], q(kaiku) => [ - q(3418), + q(3417), q(0), ], q(kaimbe) => [ - q(7277), + q(7276), q(0), ], q(kaimbulawa) => [ @@ -36186,7 +36216,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kaingang) => [ - q(3322), + q(3321), q(0), ], q(kairak) => [ @@ -36194,27 +36224,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kairiru) => [ - q(3717), + q(3716), q(0), ], q(kairui-midiki) => [ - q(3575), + q(3574), q(0), ], q(kais) => [ - q(3778), + q(3777), q(0), ], q(kaivi) => [ - q(3212), + q(3211), q(0), ], q(kaiwa) => [ - q(3317), + q(3316), q(0), ], q(kaiy) => [ - q(6419), + q(6418), q(0), ], q(kajakse) => [ @@ -36222,43 +36252,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kajali) => [ - q(7377), + q(7376), q(0), ], q(kajaman) => [ - q(3173), + q(3172), q(0), ], q(kakabai) => [ - q(3552), + q(3551), q(0), ], q(kakabe) => [ - q(3406), + q(3405), q(0), ], q(kakanda) => [ - q(3402), + q(3401), q(0), ], q(kaki ae) => [ - q(6382), + q(6381), q(0), ], q(kako) => [ - q(3411), + q(3410), q(0), ], q(kakwa) => [ - q(3270), + q(3269), q(0), ], q(kala) => [ - q(3219), + q(3218), q(1), ], q(kala lagaw ya) => [ - q(4636), + q(4635), q(0), ], q(kalaallisut) => [ @@ -36266,67 +36296,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kalaamaya) => [ - q(3947), + q(3946), q(0), ], q(kalabakan) => [ - q(3670), + q(3669), q(0), ], q(kalabari) => [ - q(2937), + q(2936), q(0), ], q(kalabra) => [ - q(3791), + q(3790), q(0), ], q(kalagan) => [ - q(3551), + q(3550), q(0), ], q(kalaktang monpa) => [ - q(3407), + q(3406), q(0), ], q(kalam) => [ - q(3460), + q(3459), q(0), ], q(kalami) => [ - q(2681), + q(2680), q(0), ], q(kalamse) => [ - q(3503), + q(3502), q(0), ], q(kalanadi) => [ - q(7147), + q(7146), q(0), ], q(kalanga) => [ - q(3218), + q(3217), q(0), ], q(kalao) => [ - q(3452), + q(3451), q(0), ], q(kalapuya) => [ - q(3752), + q(3751), q(0), ], q(kalarko) => [ - q(3184), + q(3183), q(0), ], q(kalasha) => [ - q(3446), + q(3445), q(0), ], q(kalenjin) => [ - q(3441), + q(3440), q(0), ], q(kalispel-pend d'oreille) => [ @@ -36334,11 +36364,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kalkoti) => [ - q(7368), + q(7367), q(0), ], q(kalkutung) => [ - q(3625), + q(3624), q(0), ], q(kalmyk) => [ @@ -36346,7 +36376,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kalo finnish romani) => [ - q(5809), + q(5808), q(0), ], q(kalou) => [ @@ -36358,63 +36388,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kalumpang) => [ - q(3436), + q(3435), q(0), ], q(kam) => [ - q(3253), + q(3252), q(0), ], q(kamakan) => [ - q(7010), + q(7009), q(0), ], q(kamang) => [ - q(7202), + q(7201), q(0), ], q(kamano) => [ - q(3198), + q(3197), q(0), ], q(kamantan) => [ - q(3216), + q(3215), q(0), ], q(kamar) => [ - q(3272), + q(3271), q(0), ], q(kamara) => [ - q(3123), + q(3122), q(0), ], q(kamarian) => [ - q(3789), + q(3788), q(0), ], q(kamaru) => [ - q(3330), + q(3329), q(0), ], q(kamas) => [ - q(7285), + q(7284), q(0), ], q(kamasa) => [ - q(3443), + q(3442), q(0), ], q(kamasau) => [ - q(3471), + q(3470), q(0), ], q(kamayo) => [ - q(3751), + q(3750), q(0), ], q(kamayura) => [ - q(3183), + q(3182), q(0), ], q(kamba) => [ @@ -36422,7 +36452,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kamba (brazil)) => [ - q(7291), + q(7290), q(0), ], q(kamba (kenya)) => [ @@ -36430,67 +36460,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(kambaata) => [ - q(3620), + q(3619), q(0), ], q(kambaira) => [ - q(3765), + q(3764), q(0), ], q(kambera) => [ - q(7303), + q(7302), q(0), ], q(kamberau) => [ - q(2994), + q(2993), q(0), ], q(kambiwa) => [ - q(7304), + q(7303), q(0), ], q(kami (nigeria)) => [ - q(3461), + q(3460), q(0), ], q(kami (tanzania)) => [ - q(3228), + q(3227), q(0), ], q(kamo) => [ - q(3224), + q(3223), q(0), ], q(kamoro) => [ - q(3323), + q(3322), q(0), ], q(kamta) => [ - q(5802), + q(5801), q(1), ], q(kamu) => [ - q(7425), + q(7424), q(0), ], q(kamula) => [ - q(7393), + q(7392), q(0), ], q(kamviri) => [ - q(7543), + q(7542), q(0), ], q(kamwe) => [ - q(2757), + q(2756), q(0), ], q(kanakanabu) => [ - q(7432), + q(7431), q(0), ], q(kanamari) => [ - q(3490), + q(3489), q(0), ], q(kanan) => [ @@ -36498,11 +36528,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kanashi) => [ - q(7440), + q(7439), q(0), ], q(kanasi) => [ - q(6168), + q(6167), q(0), ], q(kanauji) => [ @@ -36510,7 +36540,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kandas) => [ - q(3569), + q(3568), q(0), ], q(kandawo) => [ @@ -36518,87 +36548,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kande) => [ - q(3200), + q(3199), q(0), ], q(kanembu) => [ - q(3193), + q(3192), q(0), ], q(kang) => [ - q(3756), + q(3755), q(0), ], q(kanga) => [ - q(3223), + q(3222), q(0), ], q(kangean) => [ - q(3423), + q(3422), q(0), ], q(kanggape) => [ - q(2924), + q(2923), q(0), ], q(kangjia) => [ - q(3733), + q(3732), q(0), ], q(kango (bas-uele district)) => [ - q(3643), + q(3642), q(0), ], q(kango (tshopo district)) => [ - q(3790), + q(3789), q(0), ], q(kangri) => [ - q(7439), + q(7438), q(0), ], q(kaniet) => [ - q(3629), + q(3628), q(0), ], q(kanikkaran) => [ - q(3277), + q(3276), q(0), ], q(kaningdon-nindem) => [ - q(3247), + q(3246), q(0), ], q(kaningi) => [ - q(3780), + q(3779), q(0), ], q(kaningra) => [ - q(3495), + q(3494), q(0), ], q(kaninuwa) => [ - q(7070), + q(7069), q(0), ], q(kanite) => [ - q(3473), + q(3472), q(0), ], q(kanjari) => [ - q(3301), + q(3300), q(0), ], q(kanjobal) => [ - q(3378), + q(3377), q(1), ], q(kanju) => [ - q(3187), + q(3186), q(0), ], q(kankanaey) => [ - q(3483), + q(3482), q(0), ], q(kannada) => [ @@ -36606,31 +36636,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kannada kurumba) => [ - q(3290), + q(3289), q(0), ], q(kanoe) => [ - q(3729), + q(3728), q(0), ], q(kanowit-tanjong melanau) => [ - q(3728), + q(3727), q(0), ], q(kansa) => [ - q(3603), + q(3602), q(0), ], q(kantosi) => [ - q(7386), + q(7385), q(0), ], q(kanu) => [ - q(3351), + q(3350), q(0), ], q(kanufi) => [ - q(3486), + q(3485), q(0), ], q(kanuri) => [ @@ -36638,15 +36668,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kanyok) => [ - q(3502), + q(3501), q(0), ], q(kao) => [ - q(3182), + q(3181), q(0), ], q(kaonde) => [ - q(3560), + q(3559), q(0), ], q(kap) => [ @@ -36658,23 +36688,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(kapauri) => [ - q(3343), + q(3342), q(1), ], q(kapin) => [ - q(6401), + q(6400), q(0), ], q(kapinawa) => [ - q(7464), + q(7463), q(0), ], q(kapingamarangi) => [ - q(3528), + q(3527), q(0), ], q(kapori) => [ - q(3343), + q(3342), q(0), ], q(kapriman) => [ @@ -36682,11 +36712,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kaptiau) => [ - q(3190), + q(3189), q(0), ], q(kapya) => [ - q(3442), + q(3441), q(0), ], q(kaqchikel) => [ @@ -36694,7 +36724,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kara (central african republic)) => [ - q(3174), + q(3173), q(0), ], q(kara (korea)) => [ @@ -36702,11 +36732,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kara (papua new guinea)) => [ - q(3878), + q(3877), q(0), ], q(kara (tanzania)) => [ - q(5766), + q(5765), q(0), ], q(kara-kalpak) => [ @@ -36722,39 +36752,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(karagas) => [ - q(3365), + q(3364), q(0), ], q(karahawyana) => [ - q(7375), + q(7374), q(0), ], q(karaim) => [ - q(3249), + q(3248), q(0), ], q(karaja) => [ - q(3531), + q(3530), q(0), ], q(karakhanid) => [ - q(7473), + q(7472), q(0), ], q(karami) => [ - q(7284), + q(7283), q(0), ], q(karamojong) => [ - q(3242), + q(3241), q(0), ], q(karang) => [ - q(3783), + q(3782), q(0), ], q(karanga) => [ - q(3626), + q(3625), q(0), ], q(karankawa) => [ @@ -36762,35 +36792,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(karao) => [ - q(3750), + q(3749), q(0), ], q(karas) => [ - q(3328), + q(3327), q(0), ], q(karata) => [ - q(3540), + q(3539), q(0), ], q(karawa) => [ - q(7487), + q(7486), q(0), ], q(karbi) => [ - q(4339), + q(4338), q(0), ], q(kare (central african republic)) => [ - q(3195), + q(3194), q(0), ], q(kare (papua new guinea)) => [ - q(3458), + q(3457), q(0), ], q(karekare) => [ - q(3175), + q(3174), q(0), ], q(karelian) => [ @@ -36806,39 +36836,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(karey) => [ - q(3744), + q(3743), q(0), ], q(kari) => [ - q(3191), + q(3190), q(0), ], q(karingani) => [ - q(3320), + q(3319), q(0), ], q(karipuna) => [ - q(3319), + q(3318), q(0), ], q(karipuna creole french) => [ - q(3474), + q(3473), q(0), ], q(kariri-xoco) => [ - q(3788), + q(3787), q(0), ], q(karitiana) => [ - q(3632), + q(3631), q(0), ], q(kariya) => [ - q(3364), + q(3363), q(0), ], q(kariyarra) => [ - q(7005), + q(7004), q(0), ], q(karkar-yuri) => [ @@ -36846,11 +36876,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(karkin) => [ - q(3574), + q(3573), q(0), ], q(karko) => [ - q(3416), + q(3415), q(0), ], q(karnai) => [ @@ -36862,31 +36892,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(karo (ethiopia)) => [ - q(3722), + q(3721), q(0), ], q(karok) => [ - q(3748), + q(3747), q(0), ], q(karon) => [ - q(3590), + q(3589), q(0), ], q(karon dori) => [ - q(3329), + q(3328), q(0), ], q(karore) => [ - q(7390), + q(7389), q(0), ], q(karranga) => [ - q(7483), + q(7482), q(0), ], q(karuwali) => [ - q(5881), + q(5880), q(0), ], q(kasanga) => [ @@ -36894,11 +36924,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kasem) => [ - q(7496), + q(7495), q(0), ], q(kashaya) => [ - q(3397), + q(3396), q(0), ], q(kashmiri) => [ @@ -36910,11 +36940,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kasiguranin) => [ - q(3606), + q(3605), q(0), ], q(kaska) => [ - q(3427), + q(3426), q(0), ], q(kaskean) => [ @@ -36922,39 +36952,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kasseng) => [ - q(3310), + q(3309), q(0), ], q(kasua) => [ - q(3346), + q(3345), q(0), ], q(kataang) => [ - q(3311), + q(3310), q(0), ], q(katabaga) => [ - q(3635), + q(3634), q(0), ], q(katawixi) => [ - q(7286), + q(7285), q(0), ], q(katbol) => [ - q(6587), + q(6586), q(0), ], q(katcha-kadugli-miri) => [ - q(7508), + q(7507), q(0), ], q(kate) => [ - q(3459), + q(3458), q(0), ], q(kathoriya tharu) => [ - q(6559), + q(6558), q(0), ], q(kathu) => [ @@ -36966,35 +36996,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(katkari) => [ - q(3302), + q(3301), q(0), ], q(katla) => [ - q(3225), + q(3224), q(0), ], q(kato) => [ - q(3641), + q(3640), q(0), ], q(katso) => [ - q(3172), + q(3171), q(0), ], q(katua) => [ - q(3619), + q(3618), q(0), ], q(katukina) => [ - q(3181), + q(3180), q(0), ], q(kaulong) => [ - q(5622), + q(5621), q(0), ], q(kaur) => [ - q(7008), + q(7007), q(0), ], q(kaure) => [ @@ -37006,7 +37036,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kauwera) => [ - q(7287), + q(7286), q(0), ], q(kavalan) => [ @@ -37014,19 +37044,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kavet) => [ - q(3588), + q(3587), q(0), ], q(kawacha) => [ - q(3209), + q(3208), q(0), ], q(kawaiisu) => [ - q(7289), + q(7288), q(0), ], q(kawe) => [ - q(3309), + q(3308), q(0), ], q(kawi) => [ @@ -37034,59 +37064,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kaxarari) => [ - q(3642), + q(3641), q(0), ], q(kaxuiana) => [ - q(3185), + q(3184), q(0), ], q(kayabi) => [ - q(3766), + q(3765), q(0), ], q(kayagar) => [ - q(3760), + q(3759), q(0), ], q(kayan) => [ - q(5402), + q(5401), q(0), ], q(kayan mahakam) => [ - q(7290), + q(7289), q(0), ], q(kayan river kayan) => [ - q(7380), + q(7379), q(0), ], q(kayapa kallahan) => [ - q(3177), + q(3176), q(0), ], q(kayapo) => [ - q(6826), + q(6825), q(0), ], q(kayardild) => [ - q(2697), + q(2696), q(0), ], q(kayaw) => [ - q(3677), + q(3676), q(0), ], q(kayeli) => [ - q(3777), + q(3776), q(0), ], q(kayong) => [ - q(3739), + q(3738), q(0), ], q(kayort) => [ - q(3762), + q(3761), q(0), ], q(kaytetye) => [ @@ -37094,7 +37124,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kayupulau) => [ - q(3786), + q(3785), q(0), ], q(kazakh) => [ @@ -37102,47 +37132,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kazukuru) => [ - q(3776), + q(3775), q(0), ], q(ke'o) => [ - q(7560), + q(7559), q(0), ], q(keak) => [ - q(3263), + q(3262), q(0), ], q(keapara) => [ - q(3353), + q(3352), q(0), ], q(kedah malay) => [ - q(4213), + q(4212), q(0), ], q(kedang) => [ - q(3616), + q(3615), q(0), ], q(keder) => [ - q(3254), + q(3253), q(0), ], q(kehu) => [ - q(3338), + q(3337), q(0), ], q(kei) => [ - q(3264), + q(3263), q(0), ], q(keiga) => [ - q(3258), + q(3257), q(0), ], q(keijar) => [ - q(3254), + q(3253), q(1), ], q(kein) => [ @@ -37154,31 +37184,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kekchi) => [ - q(3266), + q(3265), q(0), ], q(kela (democratic republic of congo)) => [ - q(3267), + q(3266), q(0), ], q(kela (papua new guinea)) => [ - q(3219), + q(3218), q(0), ], q(kelabit) => [ - q(3774), + q(3773), q(0), ], q(kele) => [ - q(3257), + q(3256), q(0), ], q(kele (democratic republic of congo)) => [ - q(3352), + q(3351), q(0), ], q(kele (papua new guinea)) => [ - q(5903), + q(5902), q(0), ], q(kelengazxo bozo) => [ @@ -37186,27 +37216,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(keley-i kallahan) => [ - q(2919), + q(2918), q(0), ], q(keliko) => [ - q(3196), + q(3195), q(0), ], q(kelo) => [ - q(7330), + q(7329), q(0), ], q(kelon) => [ - q(3755), + q(3754), q(0), ], q(kemak) => [ - q(3268), + q(3267), q(0), ], q(kembayan) => [ - q(7331), + q(7330), q(0), ], q(kemberano) => [ @@ -37214,7 +37244,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kembra) => [ - q(7389), + q(7388), q(0), ], q(kemedzung) => [ @@ -37222,19 +37252,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kemi sami) => [ - q(6059), + q(6058), q(0), ], q(kemiehua) => [ - q(3291), + q(3290), q(0), ], q(kemtuik) => [ - q(3472), + q(3471), q(0), ], q(kenaboi) => [ - q(7300), + q(7299), q(0), ], q(kenati) => [ @@ -37242,183 +37272,183 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kendayan) => [ - q(3501), + q(3500), q(0), ], q(kendeje) => [ - q(3433), + q(3432), q(0), ], q(kendem) => [ - q(3678), + q(3677), q(0), ], q(kenga) => [ - q(3757), + q(3756), q(0), ], q(keningau murut) => [ - q(3723), + q(3722), q(0), ], q(keninjal) => [ - q(3489), + q(3488), q(0), ], q(kensiu) => [ - q(3496), + q(3495), q(0), ], q(kenswei nsei) => [ - q(4784), + q(4783), q(0), ], q(kenyan sign language) => [ - q(7376), + q(7375), q(0), ], q(kenyang) => [ - q(3269), + q(3268), q(0), ], q(kenyi) => [ - q(3942), + q(3941), q(0), ], q(kenzi) => [ - q(7444), + q(7443), q(0), ], q(keoru-ahia) => [ - q(7336), + q(7335), q(0), ], q(kepkiriwat) => [ - q(3535), + q(3534), q(0), ], q(kepo') => [ - q(3654), + q(3653), q(0), ], q(kera) => [ - q(3273), + q(3272), q(0), ], q(kerak) => [ - q(2751), + q(2750), q(0), ], q(kereho) => [ - q(7372), + q(7371), q(0), ], q(kerek) => [ - q(3581), + q(3580), q(0), ], q(kerewe) => [ - q(3259), + q(3258), q(0), ], q(kerewo) => [ - q(3740), + q(3739), q(0), ], q(kerinci) => [ - q(3683), + q(3682), q(0), ], q(kesawai) => [ - q(7334), + q(7333), q(0), ], q(ket) => [ - q(3275), + q(3274), q(0), ], q(ketangalan) => [ - q(3171), + q(3170), q(0), ], q(kete) => [ - q(3229), + q(3228), q(0), ], q(ketengban) => [ - q(7510), + q(7509), q(0), ], q(ketum) => [ - q(3638), + q(3637), q(0), ], q(keyagana) => [ - q(3747), + q(3746), q(0), ], q(kgalagadi) => [ - q(7388), + q(7387), q(0), ], q(khakas) => [ - q(3384), + q(3383), q(0), ], q(khalaj) => [ - q(3382), + q(3381), q(0), ], q(khaling) => [ - q(3445), + q(3444), q(0), ], q(khamba) => [ - q(3188), + q(3187), q(0), ], q(khams tibetan) => [ - q(3337), + q(3336), q(0), ], q(khamti) => [ - q(3347), + q(3346), q(0), ], q(khamyang) => [ - q(3613), + q(3612), q(0), ], q(khana) => [ - q(5211), + q(5210), q(0), ], q(khandesi) => [ - q(3342), + q(3341), q(0), ], q(khang) => [ - q(3389), + q(3388), q(0), ], q(khanty) => [ - q(3208), + q(3207), q(0), ], q(khao) => [ - q(7281), + q(7280), q(0), ], q(kharam naga) => [ - q(3304), + q(3303), q(0), ], q(kharia) => [ - q(3345), + q(3344), q(0), ], q(kharia thar) => [ - q(3617), + q(3616), q(0), ], q(khasi) => [ @@ -37426,7 +37456,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(khayo) => [ - q(3949), + q(3948), q(0), ], q(khazar) => [ @@ -37434,43 +37464,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(khe) => [ - q(3553), + q(3552), q(0), ], q(khehek) => [ - q(6584), + q(6583), q(0), ], q(khengkha) => [ - q(7373), + q(7372), q(0), ], q(khetrani) => [ - q(7352), + q(7351), q(0), ], q(khezha naga) => [ - q(4928), + q(4927), q(0), ], q(khiamniungan naga) => [ - q(3374), + q(3373), q(0), ], q(khinalugh) => [ - q(3386), + q(3385), q(0), ], q(khirwar) => [ - q(3714), + q(3713), q(0), ], q(khisa) => [ - q(3559), + q(3558), q(0), ], q(khlor) => [ - q(3969), + q(3968), q(0), ], q(khlula) => [ @@ -37478,19 +37508,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(khmu) => [ - q(3383), + q(3382), q(0), ], q(kho'ini) => [ - q(7370), + q(7369), q(0), ], q(khoekhoe) => [ - q(4731), + q(4730), q(0), ], q(khoibu naga) => [ - q(4922), + q(4921), q(0), ], q(khoisan languages) => [ @@ -37498,15 +37528,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kholok) => [ - q(3621), + q(3620), q(0), ], q(khonso) => [ - q(3719), + q(3718), q(1), ], q(khorasani turkish) => [ - q(3478), + q(3477), q(0), ], q(khorezmian) => [ @@ -37518,15 +37548,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(khowar) => [ - q(3350), + q(3349), q(0), ], q(khua) => [ - q(7356), + q(7355), q(0), ], q(khuen) => [ - q(3336), + q(3335), q(0), ], q(khumi chin) => [ @@ -37534,27 +37564,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(khun) => [ - q(3409), + q(3408), q(0), ], q(khunsari) => [ - q(3294), + q(3293), q(0), ], q(khvarshi) => [ - q(3349), + q(3348), q(0), ], q(kibet) => [ - q(3358), + q(3357), q(0), ], q(kibiri) => [ - q(5596), + q(5595), q(0), ], q(kickapoo) => [ - q(3356), + q(3355), q(0), ], q(kiembu) => [ @@ -37562,11 +37592,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(kigiryama) => [ - q(5159), + q(5158), q(1), ], q(kikai) => [ - q(3773), + q(3772), q(0), ], q(kikuyu) => [ @@ -37574,43 +37604,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kildin sami) => [ - q(6056), + q(6055), q(0), ], q(kilivila) => [ - q(3363), + q(3362), q(0), ], q(kiliwa) => [ - q(3429), + q(3428), q(0), ], q(kilmeri) => [ - q(3361), + q(3360), q(0), ], q(kim) => [ - q(3354), + q(3353), q(0), ], q(kim mun) => [ - q(4325), + q(4324), q(0), ], q(kimaama) => [ - q(3360), + q(3359), q(0), ], q(kimaghima) => [ - q(3360), + q(3359), q(1), ], q(kimaragang) => [ - q(3564), + q(3563), q(0), ], q(kimbu) => [ - q(3372), + q(3371), q(0), ], q(kimbundu) => [ @@ -37618,11 +37648,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kimki) => [ - q(5920), + q(5919), q(0), ], q(kimre) => [ - q(3562), + q(3561), q(0), ], q(kinabalian) => [ @@ -37630,15 +37660,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kinalakna) => [ - q(3222), + q(3221), q(0), ], q(kinamiging manobo) => [ - q(4364), + q(4363), q(0), ], q(kinaray-a) => [ - q(3580), + q(3579), q(0), ], q(kinga) => [ @@ -37646,15 +37676,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kinnauri) => [ - q(3292), + q(3291), q(0), ], q(kintaq) => [ - q(3494), + q(3493), q(0), ], q(kinuku) => [ - q(3405), + q(3404), q(0), ], q(kinyarwanda) => [ @@ -37662,19 +37692,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kioko) => [ - q(6867), + q(6866), q(0), ], q(kiong) => [ - q(3414), + q(3413), q(0), ], q(kiorr) => [ - q(7381), + q(7380), q(0), ], q(kiowa) => [ - q(3366), + q(3365), q(0), ], q(kiowa apache) => [ @@ -37682,19 +37712,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kipfokomo) => [ - q(5474), + q(5473), q(1), ], q(kipsigis) => [ - q(5991), + q(5990), q(0), ], q(kiput) => [ - q(3749), + q(3748), q(0), ], q(kir-balar) => [ - q(3419), + q(3418), q(0), ], q(kirdki) => [ @@ -37710,11 +37740,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kirike) => [ - q(5237), + q(5236), q(0), ], q(kirikiri) => [ - q(3375), + q(3374), q(0), ], q(kirmanjki) => [ @@ -37722,7 +37752,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(4), ], q(kirmanjki (individual language)) => [ - q(3371), + q(3370), q(0), ], q(kirmanjki (macrolanguage)) => [ @@ -37734,39 +37764,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kis) => [ - q(3369), + q(3368), q(0), ], q(kisa) => [ - q(3951), + q(3950), q(0), ], q(kisan) => [ - q(7363), + q(7362), q(0), ], q(kisankasa) => [ - q(3554), + q(3553), q(0), ], q(kisar) => [ - q(3381), + q(3380), q(0), ], q(kisi) => [ - q(3376), + q(3375), q(0), ], q(kistane) => [ - q(2626), + q(2625), q(0), ], q(kiswahili) => [ - q(6303), + q(6302), q(1), ], q(kita maninkakan) => [ - q(4632), + q(4631), q(0), ], q(kitan) => [ @@ -37774,7 +37804,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kitharaka) => [ - q(6502), + q(6501), q(1), ], q(kitja) => [ @@ -37782,39 +37812,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kitsai) => [ - q(3362), + q(3361), q(0), ], q(kituba (congo)) => [ - q(4363), + q(4362), q(0), ], q(kituba (democratic republic of congo)) => [ - q(3639), + q(3638), q(0), ], q(kiunum) => [ - q(7105), + q(7104), q(0), ], q(kiwilwana) => [ - q(4375), + q(4374), q(1), ], q(kla-dan) => [ - q(3845), + q(3844), q(0), ], q(klamath-modoc) => [ - q(3428), + q(3427), q(0), ], q(klao) => [ - q(3448), + q(3447), q(0), ], q(klias river kadazan) => [ - q(3566), + q(3565), q(0), ], q(klingon) => [ @@ -37830,7 +37860,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(koalib) => [ - q(3355), + q(3354), q(0), ], q(koasati) => [ @@ -37838,27 +37868,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(koba) => [ - q(3526), + q(3525), q(0), ], q(kobiana) => [ - q(3217), + q(3216), q(0), ], q(kobol) => [ - q(3327), + q(3326), q(0), ], q(kobon) => [ - q(3543), + q(3542), q(0), ], q(koch) => [ - q(3248), + q(3247), q(0), ], q(kochila tharu) => [ - q(6507), + q(6506), q(0), ], q(koda) => [ @@ -37866,43 +37896,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kodaku) => [ - q(3618), + q(3617), q(0), ], q(kodava) => [ - q(3282), + q(3281), q(0), ], q(kodeoha) => [ - q(7011), + q(7010), q(0), ], q(kodi) => [ - q(3506), + q(3505), q(0), ], q(kodia) => [ - q(3707), + q(3706), q(0), ], q(koenoem) => [ - q(3226), + q(3225), q(0), ], q(kofa) => [ - q(3607), + q(3606), q(0), ], q(kofei) => [ - q(3530), + q(3529), q(0), ], q(kofyar) => [ - q(3703), + q(3702), q(0), ], q(kogi) => [ - q(3509), + q(3508), q(1), ], q(koguryo) => [ @@ -37910,15 +37940,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kohin) => [ - q(3425), + q(3424), q(0), ], q(kohistani shina) => [ - q(5493), + q(5492), q(0), ], q(koho) => [ - q(3534), + q(3533), q(0), ], q(kohumono) => [ @@ -37926,7 +37956,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(koi) => [ - q(3421), + q(3420), q(0), ], q(koibal) => [ @@ -37934,19 +37964,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(koireng) => [ - q(4924), + q(4923), q(0), ], q(koitabu) => [ - q(3555), + q(3554), q(0), ], q(koiwat) => [ - q(3734), + q(3733), q(0), ], q(kok borok) => [ - q(6701), + q(6700), q(0), ], q(kok-nar) => [ @@ -37954,31 +37984,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kokata) => [ - q(3622), + q(3621), q(0), ], q(koke) => [ - q(3517), + q(3516), q(0), ], q(koki naga) => [ - q(5146), + q(5145), q(0), ], q(koko babangk) => [ - q(5228), + q(5227), q(0), ], q(kokoda) => [ - q(7446), + q(7445), q(0), ], q(kokola) => [ - q(3779), + q(3778), q(0), ], q(kokota) => [ - q(3412), + q(3411), q(0), ], q(kol) => [ @@ -37994,27 +38024,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kol (papua new guinea)) => [ - q(3512), + q(3511), q(0), ], q(kola) => [ - q(3687), + q(3686), q(0), ], q(kolbila) => [ - q(3430), + q(3429), q(0), ], q(kolibugan subanon) => [ - q(6082), + q(6081), q(0), ], q(kolsch) => [ - q(3600), + q(3599), q(0), ], q(koluwawa) => [ - q(3451), + q(3450), q(0), ], q(kom (cameroon)) => [ @@ -38022,27 +38052,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kom (india)) => [ - q(3465), + q(3464), q(0), ], q(koma) => [ - q(3477), + q(3476), q(0), ], q(komba) => [ - q(3527), + q(3526), q(0), ], q(kombai) => [ - q(6835), + q(6834), q(0), ], q(kombio) => [ - q(7297), + q(7296), q(0), ], q(komering) => [ - q(3312), + q(3311), q(0), ], q(komi) => [ @@ -38050,39 +38080,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(komi-permyak) => [ - q(3511), + q(3510), q(0), ], q(komi-zyrian) => [ - q(3542), + q(3541), q(0), ], q(kominimung) => [ - q(7448), + q(7447), q(0), ], q(komo (democratic republic of congo)) => [ - q(3475), + q(3474), q(0), ], q(komo (sudan)) => [ - q(7450), + q(7449), q(0), ], q(komodo) => [ - q(3673), + q(3672), q(0), ], q(kompane) => [ - q(3681), + q(3680), q(0), ], q(komyandaret) => [ - q(3787), + q(3786), q(0), ], q(kon keu) => [ - q(3415), + q(3414), q(0), ], q(konabere) => [ @@ -38090,19 +38120,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(konai) => [ - q(3737), + q(3736), q(0), ], q(konda) => [ - q(3482), + q(3481), q(0), ], q(konda-dora) => [ - q(3284), + q(3283), q(0), ], q(koneraw) => [ - q(3252), + q(3251), q(0), ], q(kongo) => [ @@ -38114,7 +38144,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(konkani (individual language)) => [ - q(3491), + q(3490), q(0), ], q(konkani (macrolanguage)) => [ @@ -38122,83 +38152,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(konkomba) => [ - q(7451), + q(7450), q(0), ], q(konni) => [ - q(3454), + q(3453), q(0), ], q(kono (guinea)) => [ - q(3498), + q(3497), q(0), ], q(kono (nigeria)) => [ - q(3438), + q(3437), q(0), ], q(kono (sierra leone)) => [ - q(3492), + q(3491), q(0), ], q(konomala) => [ - q(3504), + q(3503), q(0), ], q(konongo) => [ - q(3233), + q(3232), q(0), ], q(konso) => [ - q(3719), + q(3718), q(0), ], q(konyak naga) => [ - q(4743), + q(4742), q(0), ], q(konyanka maninka) => [ - q(4361), + q(4360), q(0), ], q(konzo) => [ - q(3513), + q(3512), q(0), ], q(koongo) => [ - q(3485), + q(3484), q(0), ], q(koonzime) => [ - q(5344), + q(5343), q(0), ], q(koorete) => [ - q(3571), + q(3570), q(0), ], q(kopar) => [ - q(7453), + q(7452), q(0), ], q(kopkaka) => [ - q(5288), + q(5287), q(0), ], q(korafe-yegha) => [ - q(3538), + q(3537), q(0), ], q(korak) => [ - q(3522), + q(3521), q(0), ], q(korana) => [ - q(3572), + q(3571), q(0), ], q(korandje) => [ - q(3232), + q(3231), q(0), ], q(kordofanian languages) => [ @@ -38210,7 +38240,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(korean sign language) => [ - q(3676), + q(3675), q(0), ], q(koreguaje) => [ @@ -38218,31 +38248,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(koresh-e rostam) => [ - q(5229), + q(5228), q(0), ], q(korku) => [ - q(3298), + q(3297), q(0), ], q(korlai creole portuguese) => [ - q(7012), + q(7011), q(0), ], q(koro (cote d'ivoire)) => [ - q(3296), + q(3295), q(0), ], q(koro (india)) => [ - q(3112), + q(3111), q(0), ], q(koro (papua new guinea)) => [ - q(3732), + q(3731), q(0), ], q(koro (vanuatu)) => [ - q(3577), + q(3576), q(0), ], q(koro wachi) => [ @@ -38250,11 +38280,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(koromfe) => [ - q(3307), + q(3306), q(0), ], q(koromira) => [ - q(3556), + q(3555), q(0), ], q(koronadal blaan) => [ @@ -38262,35 +38292,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(koroni) => [ - q(7383), + q(7382), q(0), ], q(korop) => [ - q(3584), + q(3583), q(0), ], q(koropo) => [ - q(7562), + q(7561), q(0), ], q(koroshi) => [ - q(3630), + q(3629), q(0), ], q(korowai) => [ - q(3335), + q(3334), q(0), ], q(korra koraga) => [ - q(3285), + q(3284), q(0), ], q(korubo) => [ - q(7454), + q(7453), q(0), ], q(korupun-sela) => [ - q(3537), + q(3536), q(0), ], q(korur) => [ @@ -38298,35 +38328,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(korwa) => [ - q(3297), + q(3296), q(0), ], q(koryak) => [ - q(3545), + q(3544), q(0), ], q(kosadle) => [ - q(3368), + q(3367), q(0), ], q(kosare) => [ - q(3368), + q(3367), q(1), ], q(kosarek yale) => [ - q(3413), + q(3412), q(0), ], q(kosena) => [ - q(3771), + q(3770), q(0), ], q(koshin) => [ - q(3357), + q(3356), q(0), ], q(kosli) => [ - q(6194), + q(6193), q(1), ], q(kosraean) => [ @@ -38334,27 +38364,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kota (gabon)) => [ - q(3515), + q(3514), q(0), ], q(kota (india)) => [ - q(3286), + q(3285), q(0), ], q(kota bangun kutai malay) => [ - q(4485), + q(4484), q(0), ], q(kota marudu talantang) => [ - q(2620), + q(2619), q(0), ], q(kota marudu tinagas) => [ - q(3636), + q(3635), q(0), ], q(kotafon gbe) => [ - q(3557), + q(3556), q(0), ], q(kotava) => [ @@ -38370,75 +38400,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kouya) => [ - q(3746), + q(3745), q(0), ], q(kovai) => [ - q(3548), + q(3547), q(0), ], q(kove) => [ - q(3668), + q(3667), q(0), ], q(kowaki) => [ - q(7455), + q(7454), q(0), ], q(kowiai) => [ - q(3699), + q(3698), q(0), ], q(koy sanjaq surat) => [ - q(3550), + q(3549), q(0), ], q(koya) => [ - q(3287), + q(3286), q(0), ], q(koyaga) => [ - q(3308), + q(3307), q(0), ], q(koyo) => [ - q(3510), + q(3509), q(0), ], q(koyra chiini songhay) => [ - q(3344), + q(3343), q(0), ], q(koyraboro senni songhai) => [ - q(5978), + q(5977), q(0), ], q(koyukon) => [ - q(3521), + q(3520), q(0), ], q(kpagua) => [ - q(3662), + q(3661), q(0), ], q(kpala) => [ - q(3533), + q(3532), q(0), ], q(kpan) => [ - q(3532), + q(3531), q(0), ], q(kpasam) => [ - q(5371), + q(5370), q(0), ], q(kpati) => [ - q(3505), + q(3504), q(0), ], q(kpatili) => [ - q(3753), + q(3752), q(0), ], q(kpeego) => [ @@ -38450,27 +38480,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kpessi) => [ - q(3261), + q(3260), q(0), ], q(kplang) => [ - q(3529), + q(3528), q(0), ], q(krache) => [ - q(3745), + q(3744), q(0), ], q(kraho) => [ - q(7475), + q(7474), q(0), ], q(kraol) => [ - q(5797), + q(5796), q(0), ], q(krenak) => [ - q(3563), + q(3562), q(0), ], q(krevinian) => [ @@ -38478,35 +38508,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kreye) => [ - q(7478), + q(7477), q(0), ], q(krikati-timbira) => [ - q(7480), + q(7479), q(0), ], q(krim) => [ - q(3582), + q(3581), q(0), ], q(krio) => [ - q(3579), + q(3578), q(0), ], q(kriol) => [ - q(5844), + q(5843), q(0), ], q(krisa) => [ - q(3601), + q(3600), q(0), ], q(krobu) => [ - q(3718), + q(3717), q(0), ], q(krongo) => [ - q(3321), + q(3320), q(0), ], q(kru languages) => [ @@ -38514,19 +38544,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kru'ng 2) => [ - q(3585), + q(3584), q(0), ], q(krymchak) => [ - q(3070), + q(3069), q(0), ], q(kryts) => [ - q(3591), + q(3590), q(0), ], q(kua) => [ - q(6840), + q(6839), q(0), ], q(kua-nsi) => [ @@ -38538,15 +38568,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kuan) => [ - q(6852), + q(6851), q(0), ], q(kuanhua) => [ - q(7434), + q(7433), q(0), ], q(kuanua) => [ - q(3596), + q(3595), q(0), ], q(kuanyama) => [ @@ -38554,51 +38584,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kube) => [ - q(3313), + q(3312), q(0), ], q(kubi) => [ - q(3508), + q(3507), q(0), ], q(kubo) => [ - q(3110), + q(3109), q(0), ], q(kubu) => [ - q(3667), + q(3666), q(0), ], q(kucong) => [ - q(3940), + q(3939), q(0), ], q(kudiya) => [ - q(3288), + q(3287), q(0), ], q(kudmali) => [ - q(3763), + q(3762), q(0), ], q(kudu-camo) => [ - q(3518), + q(3517), q(0), ], q(kugama) => [ - q(3519), + q(3518), q(0), ], q(kugbo) => [ - q(3274), + q(3273), q(0), ], q(kui (india)) => [ - q(3735), + q(3734), q(0), ], q(kui (indonesia)) => [ - q(3669), + q(3668), q(0), ], q(kuijau) => [ @@ -38606,19 +38636,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kuikuro-kalapalo) => [ - q(3652), + q(3651), q(0), ], q(kujarge) => [ - q(7007), + q(7006), q(0), ], q(kuk) => [ - q(3295), + q(3294), q(0), ], q(kukatja) => [ - q(3663), + q(3662), q(0), ], q(kuke) => [ @@ -38626,47 +38656,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kukele) => [ - q(3281), + q(3280), q(0), ], q(kukna) => [ - q(3279), + q(3278), q(0), ], q(kuku-mangk) => [ - q(7421), + q(7420), q(0), ], q(kuku-mu'inh) => [ - q(7420), + q(7419), q(0), ], q(kuku-muminh) => [ - q(7413), + q(7412), q(0), ], q(kuku-ugbanh) => [ - q(6869), + q(6868), q(0), ], q(kuku-uwanh) => [ - q(6965), + q(6964), q(0), ], q(kuku-yalanji) => [ - q(2673), + q(2672), q(0), ], q(kula) => [ - q(6659), + q(6658), q(0), ], q(kulere) => [ - q(3655), + q(3654), q(0), ], q(kulfa) => [ - q(3724), + q(3723), q(0), ], q(kulina) => [ @@ -38674,23 +38704,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(kulina pano) => [ - q(7462), + q(7461), q(0), ], q(kulisusu) => [ - q(7009), + q(7008), q(0), ], q(kullu pahari) => [ - q(3305), + q(3304), q(0), ], q(kulon-pazeh) => [ - q(6959), + q(6958), q(0), ], q(kulung (nepal)) => [ - q(3432), + q(3431), q(0), ], q(kulung (nigeria)) => [ @@ -38698,47 +38728,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kumalu) => [ - q(3604), + q(3603), q(0), ], q(kumam) => [ - q(3241), + q(3240), q(0), ], q(kuman (papua new guinea)) => [ - q(3648), + q(3647), q(0), ], q(kuman (russia)) => [ - q(5717), + q(5716), q(0), ], q(kumaoni) => [ - q(3306), + q(3305), q(0), ], q(kumarbhag paharia) => [ - q(3462), + q(3461), q(0), ], q(kumba) => [ - q(3605), + q(3604), q(0), ], q(kumbainggar) => [ - q(3325), + q(3324), q(0), ], q(kumbaran) => [ - q(7145), + q(7144), q(0), ], q(kumbewaha) => [ - q(7385), + q(7384), q(0), ], q(kumhali) => [ - q(3573), + q(3572), q(0), ], q(kumiai) => [ @@ -38746,7 +38776,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kumukio) => [ - q(3657), + q(3656), q(0), ], q(kumyk) => [ @@ -38758,31 +38788,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kunama) => [ - q(3656), + q(3655), q(0), ], q(kunbarlang) => [ - q(7154), + q(7153), q(0), ], q(kunda) => [ - q(3246), + q(3245), q(0), ], q(kundal shahi) => [ - q(6012), + q(6011), q(0), ], q(kunduvadi) => [ - q(7148), + q(7147), q(0), ], q(kung) => [ - q(3293), + q(3292), q(0), ], q(kung-ekoka) => [ - q(3500), + q(3499), q(0), ], q(kungarakany) => [ @@ -38794,87 +38824,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kunggara) => [ - q(3684), + q(3683), q(0), ], q(kunggari) => [ - q(3318), + q(3317), q(0), ], q(kungkari) => [ - q(3953), + q(3952), q(0), ], q(kuni) => [ - q(3597), + q(3596), q(0), ], q(kuni-boazi) => [ - q(3672), + q(3671), q(0), ], q(kunigami) => [ - q(7532), + q(7531), q(0), ], q(kunimaipa) => [ - q(3658), + q(3657), q(0), ], q(kunja) => [ - q(5415), + q(5414), q(0), ], q(kunjen) => [ - q(3390), + q(3389), q(0), ], q(kunyi) => [ - q(4918), + q(4917), q(0), ], q(kunza) => [ - q(3665), + q(3664), q(0), ], q(kuo) => [ - q(7537), + q(7536), q(0), ], q(kuot) => [ - q(3633), + q(3632), q(0), ], q(kupa) => [ - q(3650), + q(3649), q(0), ], q(kupang malay) => [ - q(4354), + q(4353), q(0), ], q(kupia) => [ - q(3280), + q(3279), q(0), ], q(kupsabiny) => [ - q(3546), + q(3545), q(0), ], q(kur) => [ - q(3661), + q(3660), q(0), ], q(kura ede nago) => [ - q(5043), + q(5042), q(0), ], q(kurama) => [ - q(3578), + q(3577), q(0), ], q(kuranko) => [ - q(3488), + q(3487), q(0), ], q(kurdish) => [ @@ -38882,43 +38912,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kuri) => [ - q(4750), + q(4749), q(0), ], q(kuria) => [ - q(3653), + q(3652), q(0), ], q(kurichiya) => [ - q(3289), + q(3288), q(0), ], q(kurmukar) => [ - q(3303), + q(3302), q(0), ], q(kurnai) => [ - q(6918), + q(6917), q(0), ], q(kurrama) => [ - q(7014), + q(7013), q(0), ], q(kurti) => [ - q(3631), + q(3630), q(0), ], q(kurtokha) => [ - q(7392), + q(7391), q(0), ], q(kuruaya) => [ - q(3758), + q(3757), q(0), ], q(kurudu) => [ - q(3394), + q(3393), q(0), ], q(kurukh) => [ @@ -38926,23 +38956,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kusaal) => [ - q(3659), + q(3658), q(0), ], q(kusaghe) => [ - q(3599), + q(3598), q(0), ], q(kushi) => [ - q(3651), + q(3650), q(0), ], q(kusu) => [ - q(3614), + q(3613), q(0), ], q(kusunda) => [ - q(3314), + q(3313), q(0), ], q(kutang ghale) => [ @@ -38954,39 +38984,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kutep) => [ - q(3645), + q(3644), q(0), ], q(kuthant) => [ - q(7540), + q(7539), q(0), ], q(kutong) => [ - q(6081), + q(6080), q(0), ], q(kutto) => [ - q(3523), + q(3522), q(0), ], q(kutu) => [ - q(3235), + q(3234), q(0), ], q(kuturmi) => [ - q(3339), + q(3338), q(0), ], q(kuuk-yak) => [ - q(6888), + q(6887), q(0), ], q(kuuku-ya'u) => [ - q(3664), + q(3663), q(0), ], q(kuvi) => [ - q(3736), + q(3735), q(0), ], q(kuwaa) => [ @@ -38998,7 +39028,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kuy) => [ - q(3250), + q(3249), q(0), ], q(kven finnish) => [ @@ -39006,11 +39036,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kw'adza) => [ - q(7144), + q(7143), q(0), ], q(kwa) => [ - q(3693), + q(3692), q(0), ], q(kwa') => [ @@ -39018,67 +39048,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kwaami) => [ - q(3609), + q(3608), q(0), ], q(kwadi) => [ - q(3716), + q(3715), q(0), ], q(kwaio) => [ - q(3695), + q(3694), q(0), ], q(kwaja) => [ - q(3255), + q(3254), q(0), ], q(kwakiutl) => [ - q(3702), + q(3701), q(0), ], q(kwakum) => [ - q(3711), + q(3710), q(0), ], q(kwalhioqua-tlatskanai) => [ - q(5719), + q(5718), q(0), ], q(kwama) => [ - q(3469), + q(3468), q(0), ], q(kwambi) => [ - q(3704), + q(3703), q(0), ], q(kwamera) => [ - q(6618), + q(6617), q(0), ], q(kwami) => [ - q(3624), + q(3623), q(0), ], q(kwamtim one) => [ - q(5232), + q(5231), q(0), ], q(kwang) => [ - q(3674), + q(3673), q(0), ], q(kwanga) => [ - q(3701), + q(3700), q(0), ], q(kwangali) => [ - q(3705), + q(3704), q(0), ], q(kwanja) => [ - q(3493), + q(3492), q(0), ], q(kwanyama) => [ @@ -39086,39 +39116,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(kwara'ae) => [ - q(3697), + q(3696), q(0), ], q(kwasio) => [ - q(4967), + q(4966), q(0), ], q(kwaya) => [ - q(3741), + q(3740), q(0), ], q(kwaza) => [ - q(7547), + q(7546), q(0), ], q(kwegu) => [ - q(7551), + q(7550), q(0), ], q(kwenyi) => [ - q(3243), + q(3242), q(1), ], q(kwer) => [ - q(3708), + q(3707), q(0), ], q(kwerba) => [ - q(3696), + q(3695), q(0), ], q(kwerba mamberamo) => [ - q(7556), + q(7555), q(0), ], q(kwere) => [ @@ -39126,39 +39156,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kwerisa) => [ - q(3403), + q(3402), q(0), ], q(kwese) => [ - q(3709), + q(3708), q(0), ], q(kwesten) => [ - q(3710), + q(3709), q(0), ], q(kwini) => [ - q(2692), + q(2691), q(0), ], q(kwinsu) => [ - q(3646), + q(3645), q(0), ], q(kwinti) => [ - q(3713), + q(3712), q(0), ], q(kwoma) => [ - q(3467), + q(3466), q(0), ], q(kwomtari) => [ - q(3706), + q(3705), q(0), ], q(kxoe) => [ - q(7541), + q(7540), q(0), ], q(kyak) => [ @@ -39166,23 +39196,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(kyaka) => [ - q(3743), + q(3742), q(0), ], q(kyan-karyaw naga) => [ - q(5046), + q(5045), q(0), ], q(kyanga) => [ - q(6830), + q(6829), q(0), ], q(kyenele) => [ - q(3558), + q(3557), q(0), ], q(kyerung) => [ - q(3331), + q(3330), q(0), ], q(kyrgyz) => [ @@ -39190,7 +39220,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(la'bi) => [ - q(3818), + q(3817), q(0), ], q(laa laa bwamu) => [ @@ -39198,7 +39228,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(laadan) => [ - q(3855), + q(3854), q(0), ], q(laal) => [ @@ -39210,23 +39240,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(laari) => [ - q(3850), + q(3849), q(0), ], q(laba) => [ - q(3807), + q(3806), q(0), ], q(label) => [ - q(3813), + q(3812), q(0), ], q(labir) => [ - q(3113), + q(3112), q(0), ], q(labo) => [ - q(4631), + q(4630), q(0), ], q(labo phowa) => [ @@ -39234,7 +39264,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(labu) => [ - q(3829), + q(3828), q(0), ], q(labuk-kinabatangan kadazan) => [ @@ -39242,11 +39272,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lacandon) => [ - q(3794), + q(3793), q(0), ], q(lachi) => [ - q(3828), + q(3827), q(0), ], q(lachiguiri zapotec) => [ @@ -39258,11 +39288,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ladakhi) => [ - q(3819), + q(3818), q(0), ], q(ladin) => [ - q(3958), + q(3957), q(0), ], q(ladino) => [ @@ -39270,39 +39300,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ladji ladji) => [ - q(3964), + q(3963), q(0), ], q(laeko-libuat) => [ - q(3946), + q(3945), q(0), ], q(lafofa) => [ - q(3796), + q(3795), q(0), ], q(laghu) => [ - q(3886), + q(3885), q(0), ], q(laghuu) => [ - q(3888), + q(3887), q(0), ], q(lagwan) => [ - q(3516), + q(3515), q(0), ], q(laha (indonesia)) => [ - q(3900), + q(3899), q(0), ], q(laha (viet nam)) => [ - q(3899), + q(3898), q(0), ], q(lahanan) => [ - q(3904), + q(3903), q(0), ], q(lahnda) => [ @@ -39310,27 +39340,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lahta) => [ - q(3685), + q(3684), q(1), ], q(lahta karen) => [ - q(3685), + q(3684), q(0), ], q(lahu) => [ - q(3908), + q(3907), q(0), ], q(lahu shi) => [ - q(3901), + q(3900), q(0), ], q(lahul lohar) => [ - q(3902), + q(3901), q(0), ], q(laimbue) => [ - q(3995), + q(3994), q(0), ], q(laitu chin) => [ @@ -39338,51 +39368,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(laiyolo) => [ - q(3933), + q(3932), q(0), ], q(lak) => [ - q(3815), + q(3814), q(0), ], q(laka (chad)) => [ - q(3803), + q(3802), q(0), ], q(laka (nigeria)) => [ - q(3800), + q(3799), q(0), ], q(lakalei) => [ - q(3938), + q(3937), q(0), ], q(lake miwok) => [ - q(3994), + q(3993), q(0), ], q(lakha) => [ - q(3943), + q(3942), q(0), ], q(laki) => [ - q(3944), + q(3943), q(0), ], q(lakkia) => [ - q(3814), + q(3813), q(0), ], q(lakon) => [ - q(3948), + q(3947), q(0), ], q(lakonde) => [ - q(3941), + q(3940), q(0), ], q(lakota) => [ - q(3952), + q(3951), q(0), ], q(lakota dida) => [ @@ -39390,15 +39420,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lala) => [ - q(5064), + q(5063), q(0), ], q(lala-bisa) => [ - q(3860), + q(3859), q(0), ], q(lala-roba) => [ - q(3955), + q(3954), q(0), ], q(lalana chinantec) => [ @@ -39406,31 +39436,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lalia) => [ - q(3801), + q(3800), q(0), ], q(lama (togo)) => [ - q(3806), + q(3805), q(0), ], q(lama bai) => [ - q(3810), + q(3809), q(0), ], q(lamaholot) => [ - q(6105), + q(6104), q(0), ], q(lamalera) => [ - q(3991), + q(3990), q(0), ], q(lamang) => [ - q(2753), + q(2752), q(0), ], q(lamatuka) => [ - q(3990), + q(3989), q(0), ], q(lamba) => [ @@ -39438,23 +39468,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lambadi) => [ - q(3987), + q(3986), q(0), ], q(lambayeque quechua) => [ - q(5682), + q(5681), q(0), ], q(lambichhong) => [ - q(3982), + q(3981), q(0), ], q(lamboya) => [ - q(3996), + q(3995), q(0), ], q(lambya) => [ - q(3798), + q(3797), q(0), ], q(lame) => [ @@ -39462,35 +39492,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lamenu) => [ - q(3992), + q(3991), q(0), ], q(lamet) => [ - q(3823), + q(3822), q(0), ], q(lamja-dengsa-tola) => [ - q(3849), + q(3848), q(0), ], q(lamkang) => [ - q(3985), + q(3984), q(0), ], q(lamma) => [ - q(3879), + q(3878), q(0), ], q(lamnso') => [ - q(4009), + q(4008), q(0), ], q(lamogai) => [ - q(3981), + q(3980), q(0), ], q(lampung api) => [ - q(3935), + q(3934), q(0), ], q(lampung nyo) => [ @@ -39498,15 +39528,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lamu) => [ - q(3962), + q(3961), q(0), ], q(lamu-lamu) => [ - q(3833), + q(3832), q(0), ], q(lanas lobu) => [ - q(5872), + q(5871), q(0), ], q(land dayak languages) => [ @@ -39514,7 +39544,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(landoma) => [ - q(3854), + q(3853), q(0), ], q(lang'e) => [ @@ -39522,15 +39552,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(langam) => [ - q(4006), + q(4005), q(0), ], q(langbashe) => [ - q(3998), + q(3997), q(0), ], q(langi) => [ - q(3797), + q(3796), q(0), ], q(langnian buyang) => [ @@ -39538,27 +39568,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lango (sudan)) => [ - q(4008), + q(4007), q(0), ], q(lango (uganda)) => [ - q(3799), + q(3798), q(0), ], q(langobardic) => [ - q(4001), + q(4000), q(0), ], q(langue des signes de belgique francophone) => [ - q(5985), + q(5984), q(0), ], q(lanima) => [ - q(4011), + q(4010), q(0), ], q(lanoh) => [ - q(4002), + q(4001), q(0), ], q(lao) => [ @@ -39566,19 +39596,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lao naga) => [ - q(4954), + q(4953), q(0), ], q(laomian) => [ - q(4102), + q(4101), q(0), ], q(laopang) => [ - q(3817), + q(3816), q(0), ], q(laos sign language) => [ - q(4063), + q(4062), q(0), ], q(lapaguia-guivini zapotec) => [ @@ -39586,27 +39616,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(laragia) => [ - q(4044), + q(4043), q(0), ], q(larantuka malay) => [ - q(4052), + q(4051), q(0), ], q(lardil) => [ - q(3834), + q(3833), q(0), ], q(larevat) => [ - q(4053), + q(4052), q(0), ], q(large flowery miao) => [ - q(2780), + q(2779), q(0), ], q(lari) => [ - q(4047), + q(4046), q(0), ], q(larike-wakasihu) => [ @@ -39614,39 +39644,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(laro) => [ - q(4050), + q(4049), q(0), ], q(larteh) => [ - q(3805), + q(3804), q(0), ], q(laru) => [ - q(3802), + q(3801), q(0), ], q(lasalimu) => [ - q(3967), + q(3966), q(0), ], q(lasgerdi) => [ - q(4055), + q(4054), q(0), ], q(lashi) => [ - q(4060), + q(4059), q(0), ], q(lasi) => [ - q(4066), + q(4065), q(0), ], q(late middle chinese) => [ - q(4069), + q(4068), q(0), ], q(latgalian) => [ - q(4070), + q(4069), q(0), ], q(latin) => [ @@ -39654,11 +39684,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(latu) => [ - q(4075), + q(4074), q(0), ], q(latunde) => [ - q(4072), + q(4071), q(0), ], q(latvian) => [ @@ -39666,31 +39696,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(latvian sign language) => [ - q(4061), + q(4060), q(0), ], q(lau) => [ - q(3973), + q(3972), q(0), ], q(laua) => [ - q(4079), + q(4078), q(0), ], q(lauan) => [ - q(3974), + q(3973), q(0), ], q(lauje) => [ - q(3808), + q(3807), q(0), ], q(laura) => [ - q(4086), + q(4085), q(0), ], q(laurentian) => [ - q(4043), + q(4042), q(0), ], q(lautu chin) => [ @@ -39698,7 +39728,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lavatbura-lamusong) => [ - q(3830), + q(3829), q(0), ], q(lave) => [ @@ -39706,35 +39736,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(laven) => [ - q(3824), + q(3823), q(0), ], q(lavrung) => [ - q(3102), + q(3101), q(1), ], q(lavukaleve) => [ - q(4094), + q(4093), q(0), ], q(lawangan) => [ - q(3832), + q(3831), q(0), ], q(lawu) => [ - q(4105), + q(4104), q(0), ], q(lawunuia) => [ - q(6481), + q(6480), q(0), ], q(layakha) => [ - q(4107), + q(4106), q(0), ], q(laz) => [ - q(4113), + q(4112), q(0), ], q(lealao chinantec) => [ @@ -39742,27 +39772,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(leco) => [ - q(3861), + q(3860), q(0), ], q(ledo kaili) => [ - q(3880), + q(3879), q(0), ], q(leelau) => [ - q(3852), + q(3851), q(0), ], q(lefa) => [ - q(3883), + q(3882), q(0), ], q(lega-mwenga) => [ - q(3892), + q(3891), q(0), ], q(lega-shabunda) => [ - q(3859), + q(3858), q(0), ], q(legbo) => [ @@ -39770,15 +39800,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(legenyem) => [ - q(3835), + q(3834), q(0), ], q(lehali) => [ - q(6677), + q(6676), q(0), ], q(lehalurup) => [ - q(6939), + q(6938), q(0), ], q(lehar) => [ @@ -39786,87 +39816,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(leinong naga) => [ - q(4112), + q(4111), q(0), ], q(leipon) => [ - q(3868), + q(3867), q(0), ], q(lelak) => [ - q(3965), + q(3964), q(0), ], q(lele (chad)) => [ - q(3968), + q(3967), q(0), ], q(lele (democratic republic of congo)) => [ - q(3869), + q(3868), q(0), ], q(lele (guinea)) => [ - q(3957), + q(3956), q(0), ], q(lele (papua new guinea)) => [ - q(3959), + q(3958), q(0), ], q(lelemi) => [ - q(3864), + q(3863), q(0), ], q(lelepa) => [ - q(4036), + q(4035), q(0), ], q(lembena) => [ - q(3874), + q(3873), q(0), ], q(lemerig) => [ - q(4054), + q(4053), q(0), ], q(lemio) => [ - q(3866), + q(3865), q(0), ], q(lemnian) => [ - q(7397), + q(7396), q(0), ], q(lemolang) => [ - q(3882), + q(3881), q(0), ], q(lemoro) => [ - q(3851), + q(3850), q(0), ], q(lenakel) => [ - q(6619), + q(6618), q(0), ], q(lenca) => [ - q(3871), + q(3870), q(0), ], q(lendu) => [ - q(3862), + q(3861), q(0), ], q(lengilu) => [ - q(3889), + q(3888), q(0), ], q(lengo) => [ - q(3895), + q(3894), q(0), ], q(lengola) => [ - q(3867), + q(3866), q(0), ], q(lengua de senas catalana) => [ @@ -39874,27 +39904,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(lengua de senas del paraguay) => [ - q(5673), + q(5672), q(1), ], q(lengua de senas panamenas) => [ - q(4064), + q(4063), q(1), ], q(leningitij) => [ - q(4004), + q(4003), q(0), ], q(lenje) => [ - q(3865), + q(3864), q(0), ], q(lenkau) => [ - q(3875), + q(3874), q(0), ], q(lenyima) => [ - q(3848), + q(3847), q(0), ], q(leonese) => [ @@ -39902,15 +39932,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(2), ], q(lepcha) => [ - q(3873), + q(3872), q(0), ], q(lepki) => [ - q(4037), + q(4036), q(0), ], q(lepontic) => [ - q(7402), + q(7401), q(0), ], q(lere) => [ @@ -39918,23 +39948,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lese) => [ - q(3876), + q(3875), q(0), ], q(lesing-gelimi) => [ - q(3877), + q(3876), q(0), ], q(letemboi) => [ - q(4979), + q(4978), q(0), ], q(leti (cameroon)) => [ - q(3872), + q(3871), q(0), ], q(leti (indonesia)) => [ - q(4071), + q(4070), q(0), ], q(letzeburgesch) => [ @@ -39942,19 +39972,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(levuka) => [ - q(4096), + q(4095), q(0), ], q(lewo) => [ - q(4106), + q(4105), q(0), ], q(lewo eleng) => [ - q(4098), + q(4097), q(0), ], q(lewotobi) => [ - q(4104), + q(4103), q(0), ], q(leyigha) => [ @@ -39966,31 +39996,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lhaovo) => [ - q(4295), + q(4294), q(1), ], q(lhokpu) => [ - q(3905), + q(3904), q(0), ], q(lhomi) => [ - q(3903), + q(3902), q(0), ], q(li'o) => [ - q(3934), + q(3933), q(0), ], q(liabuku) => [ - q(3928), + q(3927), q(0), ], q(liana-seti) => [ - q(6256), + q(6255), q(0), ], q(liangmai naga) => [ - q(4912), + q(4911), q(0), ], q(lianshan zhuang) => [ @@ -39998,27 +40028,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(liberia kpelle) => [ - q(7458), + q(7457), q(0), ], q(liberian english) => [ - q(3923), + q(3922), q(0), ], q(libido) => [ - q(3922), + q(3921), q(0), ], q(libinza) => [ - q(3930), + q(3929), q(0), ], q(libon bikol) => [ - q(3821), + q(3820), q(0), ], q(liburnian) => [ - q(7399), + q(7398), q(0), ], q(libyan arabic) => [ @@ -40026,63 +40056,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(libyan sign language) => [ - q(3827), + q(3826), q(0), ], q(ligbi) => [ - q(3915), + q(3914), q(0), ], q(ligenza) => [ - q(3898), + q(3897), q(0), ], q(ligurian) => [ - q(3917), + q(3916), q(0), ], q(ligurian (ancient)) => [ - q(7398), + q(7397), q(0), ], q(lihir) => [ - q(3916), + q(3915), q(0), ], q(lijili) => [ - q(4257), + q(4256), q(0), ], q(lika) => [ - q(3918), + q(3917), q(0), ], q(liki) => [ - q(3920), + q(3919), q(0), ], q(likila) => [ - q(3913), + q(3912), q(0), ], q(likuba) => [ - q(3738), + q(3737), q(0), ], q(likum) => [ - q(3910), + q(3909), q(0), ], q(likwala) => [ - q(3694), + q(3693), q(0), ], q(lilau) => [ - q(3966), + q(3965), q(0), ], q(lillooet) => [ - q(3919), + q(3918), q(0), ], q(limassa) => [ @@ -40090,11 +40120,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(limbu) => [ - q(3914), + q(3913), q(0), ], q(limbum) => [ - q(3989), + q(3988), q(0), ], q(limburgan) => [ @@ -40114,19 +40144,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(limilngan) => [ - q(3977), + q(3976), q(0), ], q(limos kalinga) => [ - q(3463), + q(3462), q(0), ], q(lindu) => [ - q(3450), + q(3449), q(0), ], q(linear a) => [ - q(3793), + q(3792), q(0), ], q(lingala) => [ @@ -40134,19 +40164,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lingao) => [ - q(5267), + q(5266), q(0), ], q(lingarak) => [ - q(3890), + q(3889), q(0), ], q(lingua franca) => [ - q(5517), + q(5516), q(0), ], q(lingua franca nova) => [ - q(3884), + q(3883), q(0), ], q(lipan apache) => [ @@ -40154,27 +40184,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lipo) => [ - q(4039), + q(4038), q(0), ], q(lisabata-nuniali) => [ - q(3844), + q(3843), q(0), ], q(lisela) => [ - q(3840), + q(3839), q(0), ], q(lish) => [ - q(4059), + q(4058), q(0), ], q(lishan didan) => [ - q(6693), + q(6692), q(0), ], q(lishana deni) => [ - q(4056), + q(4055), q(0), ], q(lishanid noshan) => [ @@ -40182,11 +40212,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lisu) => [ - q(3924), + q(3923), q(0), ], q(literary chinese) => [ - q(4110), + q(4109), q(0), ], q(lithuanian) => [ @@ -40194,11 +40224,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lithuanian sign language) => [ - q(3972), + q(3971), q(0), ], q(litzlitz) => [ - q(4111), + q(4110), q(0), ], q(liujiang zhuang) => [ @@ -40210,11 +40240,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(liv) => [ - q(3926), + q(3925), q(0), ], q(livvi) => [ - q(5247), + q(5246), q(0), ], q(llengua de signes catalana) => [ @@ -40222,59 +40252,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(2), ], q(llengua de signes valenciana) => [ - q(7049), + q(7048), q(1), ], q(lo-toga) => [ - q(3907), + q(3906), q(0), ], q(loarki) => [ - q(4046), + q(4045), q(0), ], q(lobala) => [ - q(4027), + q(4026), q(0), ], q(lobi) => [ - q(4014), + q(4013), q(0), ], q(lodhi) => [ - q(3822), + q(3821), q(0), ], q(logba) => [ - q(3894), + q(3893), q(0), ], q(logo) => [ - q(4018), + q(4017), q(0), ], q(logol) => [ - q(4017), + q(4016), q(0), ], q(logooli) => [ - q(5740), + q(5739), q(0), ], q(logorik) => [ - q(3925), + q(3924), q(0), ], q(logudorese sardinian) => [ - q(6210), + q(6209), q(0), ], q(lohorung) => [ - q(3826), + q(3825), q(0), ], q(loja highland quichua) => [ - q(5704), + q(5703), q(0), ], q(lojban) => [ @@ -40282,103 +40312,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lokaa) => [ - q(7597), + q(7596), q(0), ], q(loke) => [ - q(4035), + q(4034), q(0), ], q(loko) => [ - q(4022), + q(4021), q(0), ], q(lokoya) => [ - q(3954), + q(3953), q(0), ], q(lola) => [ - q(3836), + q(3835), q(0), ], q(lolak) => [ - q(3971), + q(3970), q(0), ], q(lole) => [ - q(3961), + q(3960), q(0), ], q(lolo) => [ - q(3956), + q(3955), q(0), ], q(loloda) => [ - q(4013), + q(4012), q(0), ], q(lolopo) => [ - q(7612), + q(7611), q(0), ], q(loma (cote d'ivoire)) => [ - q(4020), + q(4019), q(0), ], q(loma (liberia)) => [ - q(4023), + q(4022), q(0), ], q(lomaiviti) => [ - q(3993), + q(3992), q(0), ], q(lomavren) => [ - q(5812), + q(5811), q(0), ], q(lombard) => [ - q(3988), + q(3987), q(0), ], q(lombi) => [ - q(3983), + q(3982), q(0), ], q(lombo) => [ - q(4025), + q(4024), q(0), ], q(lomwe) => [ - q(4844), + q(4843), q(0), ], q(loncong) => [ - q(3837), + q(3836), q(0), ], q(long phuri naga) => [ - q(4038), + q(4037), q(0), ], q(long wat) => [ - q(6756), + q(6755), q(0), ], q(longgu) => [ - q(3897), + q(3896), q(0), ], q(longto) => [ - q(7203), + q(7202), q(0), ], q(longuda) => [ - q(4010), + q(4009), q(0), ], q(loniu) => [ - q(4029), + q(4028), q(0), ], q(lonwolwol) => [ @@ -40386,43 +40416,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lonzo) => [ - q(4012), + q(4011), q(0), ], q(loo) => [ - q(3856), + q(3855), q(0), ], q(lopa) => [ - q(4026), + q(4025), q(0), ], q(lopi) => [ - q(4032), + q(4031), q(0), ], q(lopit) => [ - q(4040), + q(4039), q(0), ], q(lorang) => [ - q(4049), + q(4048), q(0), ], q(lorediakarkar) => [ - q(4007), + q(4006), q(0), ], q(loreto-ucayali spanish) => [ - q(6189), + q(6188), q(0), ], q(lote) => [ - q(6964), + q(6963), q(0), ], q(lotha naga) => [ - q(4907), + q(4906), q(0), ], q(lotud) => [ @@ -40430,27 +40460,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lou) => [ - q(4021), + q(4020), q(0), ], q(louisiana creole french) => [ - q(4031), + q(4030), q(0), ], q(loun) => [ - q(4034), + q(4033), q(0), ], q(loup a) => [ - q(7401), + q(7400), q(0), ], q(loup b) => [ - q(7394), + q(7393), q(0), ], q(lovono) => [ - q(7040), + q(7039), q(1), ], q(low german) => [ @@ -40462,7 +40492,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(lower burdekin) => [ - q(7292), + q(7291), q(0), ], q(lower chehalis) => [ @@ -40474,7 +40504,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lower silesian) => [ - q(6100), + q(6099), q(0), ], q(lower sorbian) => [ @@ -40486,11 +40516,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lower ta'oih) => [ - q(6748), + q(6747), q(0), ], q(lower tanana) => [ - q(6357), + q(6356), q(0), ], q(lowland oaxaca chontal) => [ @@ -40498,7 +40528,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lowland tarahumara) => [ - q(6359), + q(6358), q(0), ], q(loxicha zapotec) => [ @@ -40506,7 +40536,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(loyop) => [ - q(6939), + q(6938), q(1), ], q(lozi) => [ @@ -40514,15 +40544,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lu) => [ - q(3332), + q(3331), q(0), ], q(lua') => [ - q(5586), + q(5585), q(0), ], q(luang) => [ - q(3881), + q(3880), q(0), ], q(luba-katanga) => [ @@ -40534,15 +40564,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lubila) => [ - q(3210), + q(3209), q(0), ], q(lubu) => [ - q(3838), + q(3837), q(0), ], q(lubuagan kalinga) => [ - q(3480), + q(3479), q(0), ], q(lubukusu) => [ @@ -40550,43 +40580,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(luchazi) => [ - q(3839), + q(3838), q(0), ], q(lucumi) => [ - q(4085), + q(4084), q(0), ], q(ludian) => [ - q(4077), + q(4076), q(0), ], q(lufu) => [ - q(3858), + q(3857), q(0), ], q(lugbara) => [ - q(3887), + q(3886), q(0), ], q(luguru) => [ - q(5864), + q(5863), q(0), ], q(luhu) => [ - q(3843), + q(3842), q(0), ], q(lui) => [ - q(3812), + q(3811), q(0), ], q(luidakho-luisukha-lutirichi) => [ - q(2902), + q(2901), q(1), ], q(luimbi) => [ - q(4083), + q(4082), q(0), ], q(luiseno) => [ @@ -40594,7 +40624,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lukabaras) => [ - q(3939), + q(3938), q(1), ], q(lukpa) => [ @@ -40602,7 +40632,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lule) => [ - q(6892), + q(6891), q(0), ], q(lule sami) => [ @@ -40610,35 +40640,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lulogooli) => [ - q(5740), + q(5739), q(1), ], q(lumba-yakkha) => [ - q(4088), + q(4087), q(0), ], q(lumbee) => [ - q(3997), + q(3996), q(0), ], q(lumbu) => [ - q(4084), + q(4083), q(0), ], q(lumun) => [ - q(3978), + q(3977), q(0), ], q(lun bawang) => [ - q(4000), + q(3999), q(1), ], q(luna) => [ - q(4080), + q(4079), q(0), ], q(lunanakha) => [ - q(4081), + q(4080), q(0), ], q(lunda) => [ @@ -40646,19 +40676,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lundayeh) => [ - q(4000), + q(3999), q(0), ], q(lungalunga) => [ - q(7023), + q(7022), q(0), ], q(lungga) => [ - q(3885), + q(3884), q(0), ], q(luo (cameroon)) => [ - q(4090), + q(4089), q(0), ], q(luo (kenya and tanzania)) => [ @@ -40666,19 +40696,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(luopohe hmong) => [ - q(2788), + q(2787), q(0), ], q(luopohe miao) => [ - q(2788), + q(2787), q(1), ], q(luri) => [ - q(3847), + q(3846), q(0), ], q(lusengo) => [ - q(4057), + q(4056), q(0), ], q(lushai) => [ @@ -40686,35 +40716,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(lushootseed) => [ - q(4087), + q(4086), q(0), ], q(lusi) => [ - q(3341), + q(3340), q(0), ], q(lusitanian) => [ - q(7403), + q(7402), q(0), ], q(lutachoni) => [ - q(4074), + q(4073), q(1), ], q(lutos) => [ - q(4804), + q(4803), q(0), ], q(luvale) => [ - q(4078), + q(4077), q(0), ], q(luwati) => [ - q(4089), + q(4088), q(0), ], q(luwo) => [ - q(4103), + q(4102), q(0), ], q(luxembourgish) => [ @@ -40722,59 +40752,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(luyana) => [ - q(4109), + q(4108), q(0), ], q(luyia) => [ - q(4091), + q(4090), q(0), ], q(lwalu) => [ - q(4097), + q(4096), q(0), ], q(lycian) => [ - q(7395), + q(7394), q(0), ], q(lydian) => [ - q(7396), + q(7395), q(0), ], q(lyele) => [ - q(3863), + q(3862), q(0), ], q(lyngngam) => [ - q(4108), + q(4107), q(0), ], q(lyons sign language) => [ - q(4058), + q(4057), q(0), ], q(ma (democratic republic of congo)) => [ - q(4538), + q(4537), q(0), ], q(ma (papua new guinea)) => [ - q(4330), + q(4329), q(0), ], q(ma manda) => [ - q(6072), + q(6071), q(0), ], q(ma'anyan) => [ - q(4296), + q(4295), q(0), ], q(ma'di) => [ - q(4281), + q(4280), q(0), ], q(ma'ya) => [ - q(6114), + q(6113), q(0), ], q(maa) => [ @@ -40782,7 +40812,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(maaka) => [ - q(4221), + q(4220), q(0), ], q(maasina fulfulde) => [ @@ -40794,43 +40824,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(maba (chad)) => [ - q(4182), + q(4181), q(0), ], q(maba (indonesia)) => [ - q(4480), + q(4479), q(0), ], q(mabaale) => [ - q(4413), + q(4412), q(0), ], q(mabaan) => [ - q(4249), + q(4248), q(0), ], q(mabaka valley kalinga) => [ - q(3408), + q(3407), q(0), ], q(mabire) => [ - q(4587), + q(4586), q(0), ], q(maca) => [ - q(4152), + q(4151), q(0), ], q(macaguaje) => [ - q(4163), + q(4162), q(0), ], q(macaguan) => [ - q(4139), + q(4138), q(0), ], q(macanese) => [ - q(4710), + q(4709), q(0), ], q(macedo-romanian) => [ @@ -40842,51 +40872,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(machame) => [ - q(3118), + q(3117), q(0), ], q(machiguenga) => [ - q(4153), + q(4152), q(0), ], q(machinere) => [ - q(4458), + q(4457), q(0), ], q(machinga) => [ - q(4620), + q(4619), q(0), ], q(maco) => [ - q(7211), + q(7210), q(0), ], q(macuna) => [ - q(4691), + q(4690), q(0), ], q(macushi) => [ - q(4129), + q(4128), q(0), ], q(mada (cameroon)) => [ - q(4666), + q(4665), q(0), ], q(mada (nigeria)) => [ - q(4178), + q(4177), q(0), ], q(madagascar sign language) => [ - q(4695), + q(4694), q(0), ], q(madak) => [ - q(4411), + q(4410), q(0), ], q(maden) => [ - q(7428), + q(7427), q(0), ], q(madhi madhi) => [ @@ -40894,7 +40924,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(madi) => [ - q(2616), + q(2615), q(0), ], q(madngele) => [ @@ -40906,27 +40936,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mae) => [ - q(4393), + q(4392), q(0), ], q(maek) => [ - q(2787), + q(2786), q(0), ], q(maeng itneg) => [ - q(3019), + q(3018), q(0), ], q(mafa) => [ - q(4117), + q(4116), q(0), ], q(mafea) => [ - q(4362), + q(4361), q(0), ], q(mag-antsi ayta) => [ - q(5990), + q(5989), q(0), ], q(mag-indi ayta) => [ @@ -40942,7 +40972,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(magdalena penasco mixtec) => [ - q(7516), + q(7515), q(0), ], q(maghdi) => [ @@ -40958,7 +40988,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(maguindanaon) => [ - q(4184), + q(4183), q(0), ], q(magyi) => [ @@ -40966,15 +40996,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mah meri) => [ - q(4278), + q(4277), q(1), ], q(mahali) => [ - q(4340), + q(4339), q(0), ], q(maharastri prakrit) => [ - q(5513), + q(5512), q(0), ], q(mahasu pahari) => [ @@ -40982,15 +41012,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mahican) => [ - q(4341), + q(4340), q(0), ], q(mahongwe) => [ - q(4275), + q(4274), q(0), ], q(mahou) => [ - q(4669), + q(4668), q(0), ], q(mai brat) => [ @@ -40998,23 +41028,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(maia) => [ - q(6087), + q(6086), q(0), ], q(maiadomu) => [ - q(4717), + q(4716), q(0), ], q(maiani) => [ - q(6616), + q(6615), q(0), ], q(maii) => [ - q(4401), + q(4400), q(0), ], q(mailu) => [ - q(4269), + q(4268), q(0), ], q(maindo) => [ @@ -41022,11 +41052,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mainfrankisch) => [ - q(7022), + q(7021), q(0), ], q(mainstream kenyah) => [ - q(7379), + q(7378), q(0), ], q(mairasi) => [ @@ -41034,7 +41064,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(maisin) => [ - q(4142), + q(4141), q(0), ], q(maithili) => [ @@ -41042,55 +41072,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(maiwa (indonesia)) => [ - q(7174), + q(7173), q(0), ], q(maiwa (papua new guinea)) => [ - q(4562), + q(4561), q(0), ], q(maiwala) => [ - q(4589), + q(4588), q(0), ], q(majang) => [ - q(4459), + q(4458), q(0), ], q(majera) => [ - q(7414), + q(7413), q(0), ], q(majhi) => [ - q(4342), + q(4341), q(0), ], q(majhwar) => [ - q(4398), + q(4397), q(0), ], q(majukayang kalinga) => [ - q(3456), + q(3455), q(0), ], q(mak (china)) => [ - q(4348), + q(4347), q(0), ], q(mak (nigeria)) => [ - q(5370), + q(5369), q(0), ], q(makaa) => [ - q(4167), + q(4166), q(0), ], q(makah) => [ - q(4678), + q(4677), q(0), ], q(makasae) => [ - q(4366), + q(4365), q(0), ], q(makasar) => [ @@ -41098,7 +41128,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(makassar malay) => [ - q(4239), + q(4238), q(0), ], q(makayam) => [ @@ -41106,31 +41136,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(makhuwa) => [ - q(7036), + q(7035), q(0), ], q(makhuwa-marrevone) => [ - q(7408), + q(7407), q(0), ], q(makhuwa-meetto) => [ - q(4256), + q(4255), q(0), ], q(makhuwa-moniga) => [ - q(4285), + q(4284), q(0), ], q(makhuwa-saka) => [ - q(7500), + q(7499), q(0), ], q(makhuwa-shirima) => [ - q(7027), + q(7026), q(0), ], q(maklew) => [ - q(4254), + q(4253), q(0), ], q(makolkol) => [ @@ -41138,19 +41168,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(makonde) => [ - q(3237), + q(3236), q(0), ], q(maku'a) => [ - q(4093), + q(4092), q(0), ], q(makurap) => [ - q(4474), + q(4473), q(0), ], q(makuri naga) => [ - q(3122), + q(3121), q(0), ], q(makwe) => [ @@ -41158,27 +41188,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(makyan naga) => [ - q(6907), + q(6906), q(0), ], q(mal) => [ - q(4371), + q(4370), q(0), ], q(mal paharia) => [ - q(4344), + q(4343), q(0), ], q(mala (nigeria)) => [ - q(5873), + q(5872), q(0), ], q(mala (papua new guinea)) => [ - q(5405), + q(5404), q(0), ], q(mala malasar) => [ - q(2961), + q(2960), q(0), ], q(malaccan creole malay) => [ @@ -41186,7 +41216,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(malaccan creole portuguese) => [ - q(4164), + q(4163), q(0), ], q(malagasy) => [ @@ -41194,27 +41224,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(malalamai) => [ - q(4407), + q(4406), q(0), ], q(malango) => [ - q(4378), + q(4377), q(0), ], q(malankuravan) => [ - q(4331), + q(4330), q(0), ], q(malapandaram) => [ - q(4332), + q(4331), q(0), ], q(malaryan) => [ - q(4333), + q(4332), q(0), ], q(malas) => [ - q(4358), + q(4357), q(0), ], q(malasar) => [ @@ -41222,15 +41252,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(malavedan) => [ - q(4334), + q(4333), q(0), ], q(malawi lomwe) => [ - q(4024), + q(4023), q(0), ], q(malawi sena) => [ - q(6306), + q(6305), q(0), ], q(malay) => [ @@ -41250,15 +41280,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(malayic dayak) => [ - q(7326), + q(7325), q(0), ], q(malaynon) => [ - q(4388), + q(4387), q(0), ], q(malayo) => [ - q(4141), + q(4140), q(0), ], q(malayo-polynesian languages) => [ @@ -41266,7 +41296,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(malaysian sign language) => [ - q(7416), + q(7415), q(0), ], q(malba birifor) => [ @@ -41278,43 +41308,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(2), ], q(male) => [ - q(2824), + q(2823), q(1), ], q(male (ethiopia)) => [ - q(4199), + q(4198), q(0), ], q(male (papua new guinea)) => [ - q(4180), + q(4179), q(0), ], q(malecite-passamaquoddy) => [ - q(5585), + q(5584), q(0), ], q(maleku jaika) => [ - q(2660), + q(2659), q(0), ], q(maleng) => [ - q(5483), + q(5482), q(0), ], q(maleu-kilenge) => [ - q(4260), + q(4259), q(0), ], q(malfaxal) => [ - q(4387), + q(4386), q(0), ], q(malgana) => [ - q(7028), + q(7027), q(0), ], q(malgbe) => [ - q(4651), + q(4650), q(0), ], q(mali) => [ @@ -41322,31 +41352,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(malila) => [ - q(4265), + q(4264), q(0), ], q(malimba) => [ - q(4696), + q(4695), q(0), ], q(malimpung) => [ - q(4373), + q(4372), q(0), ], q(malinaltepec me'phaa) => [ - q(6409), + q(6408), q(0), ], q(malinaltepec tlapanec) => [ - q(6409), + q(6408), q(1), ], q(malo) => [ - q(4367), + q(4366), q(0), ], q(malol) => [ - q(4136), + q(4135), q(0), ], q(maltese) => [ @@ -41354,71 +41384,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(maltese sign language) => [ - q(4188), + q(4187), q(0), ], q(malua bay) => [ - q(4376), + q(4375), q(0), ], q(malvi) => [ - q(4591), + q(4590), q(0), ], q(malyangapa) => [ - q(7632), + q(7631), q(0), ], q(mam) => [ - q(4119), + q(4118), q(0), ], q(mama) => [ - q(4389), + q(4388), q(0), ], q(mamaa) => [ - q(4279), + q(4278), q(0), ], q(mamainde) => [ - q(7170), + q(7169), q(0), ], q(mamanwa) => [ - q(4402), + q(4401), q(0), ], q(mamara senoufo) => [ - q(4681), + q(4680), q(0), ], q(mamasa) => [ - q(4488), + q(4487), q(0), ], q(mambae) => [ - q(4261), + q(4260), q(0), ], q(mambai) => [ - q(4170), + q(4169), q(0), ], q(mamboru) => [ - q(4602), + q(4601), q(0), ], q(mambwe-lungu) => [ - q(4266), + q(4265), q(0), ], q(mampruli) => [ - q(4124), + q(4123), q(0), ], q(mamuju) => [ - q(4502), + q(4501), q(0), ], q(mamulique) => [ @@ -41426,31 +41456,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mamusi) => [ - q(3238), + q(3237), q(0), ], q(mamvu) => [ - q(4185), + q(4184), q(0), ], q(man met) => [ - q(4400), + q(4399), q(0), ], q(manado malay) => [ - q(7417), + q(7416), q(0), ], q(manam) => [ - q(4600), + q(4599), q(0), ], q(manambu) => [ - q(4370), + q(4369), q(0), ], q(manangba) => [ - q(4973), + q(4972), q(0), ], q(manangkari) => [ @@ -41466,23 +41496,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(manda (india)) => [ - q(4274), + q(4273), q(0), ], q(manda (tanzania)) => [ - q(4267), + q(4266), q(0), ], q(mandahuaca) => [ - q(4292), + q(4291), q(0), ], q(mandaic) => [ - q(4300), + q(4299), q(0), ], q(mandan) => [ - q(4289), + q(4288), q(0), ], q(mandandanyi) => [ @@ -41494,11 +41524,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mandara) => [ - q(6384), + q(6383), q(0), ], q(mandari) => [ - q(4499), + q(4498), q(0), ], q(mandarin chinese) => [ @@ -41506,7 +41536,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mandaya) => [ - q(4528), + q(4527), q(0), ], q(mande languages) => [ @@ -41514,11 +41544,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mandeali) => [ - q(4328), + q(4327), q(0), ], q(mander) => [ - q(4496), + q(4495), q(0), ], q(manding) => [ @@ -41530,11 +41560,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mandinka) => [ - q(4422), + q(4421), q(0), ], q(mandjak) => [ - q(4245), + q(4244), q(0), ], q(mandobo atas) => [ @@ -41546,7 +41576,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(manem) => [ - q(3083), + q(3082), q(0), ], q(mang) => [ @@ -41554,19 +41584,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(manga kanuri) => [ - q(3206), + q(3205), q(0), ], q(mangala) => [ - q(4212), + q(4211), q(0), ], q(mangarayi) => [ - q(4457), + q(4456), q(0), ], q(mangareva) => [ - q(4525), + q(4524), q(0), ], q(mangas) => [ @@ -41574,15 +41604,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mangayat) => [ - q(4680), + q(4679), q(0), ], q(mangbetu) => [ - q(4186), + q(4185), q(0), ], q(mangbutu) => [ - q(4187), + q(4186), q(0), ], q(mangerr) => [ @@ -41590,31 +41620,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mangga buang) => [ - q(4403), + q(4402), q(0), ], q(manggarai) => [ - q(4503), + q(4502), q(0), ], q(mango) => [ - q(4253), + q(4252), q(0), ], q(mangole) => [ - q(4482), + q(4481), q(0), ], q(mangseng) => [ - q(4133), + q(4132), q(0), ], q(mangue) => [ - q(4444), + q(4443), q(0), ], q(manichaean middle persian) => [ - q(7418), + q(7417), q(0), ], q(manide) => [ @@ -41622,11 +41652,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(manikion) => [ - q(4433), + q(4432), q(0), ], q(manipa) => [ - q(4494), + q(4493), q(0), ], q(manipuri) => [ @@ -41634,19 +41664,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mankanya) => [ - q(3484), + q(3483), q(0), ], q(manna-dora) => [ - q(4337), + q(4336), q(0), ], q(mannan) => [ - q(4338), + q(4337), q(0), ], q(mano) => [ - q(4220), + q(4219), q(0), ], q(manobo languages) => [ @@ -41654,39 +41684,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(manombai) => [ - q(7206), + q(7205), q(0), ], q(mansaka) => [ - q(4539), + q(4538), q(0), ], q(mansi) => [ - q(4429), + q(4428), q(0), ], q(mansoanka) => [ - q(4550), + q(4549), q(0), ], q(manta) => [ - q(4677), + q(4676), q(0), ], q(mantsi) => [ - q(5101), + q(5100), q(0), ], q(manumanaw) => [ - q(3721), + q(3720), q(1), ], q(manumanaw karen) => [ - q(3721), + q(3720), q(0), ], q(manusela) => [ - q(7122), + q(7121), q(0), ], q(manx) => [ @@ -41694,31 +41724,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(manya) => [ - q(4701), + q(4700), q(0), ], q(manyawa) => [ - q(4434), + q(4433), q(0), ], q(manyika) => [ - q(4648), + q(4647), q(0), ], q(manza) => [ - q(4713), + q(4712), q(0), ], q(mao naga) => [ - q(4746), + q(4745), q(0), ], q(maonan) => [ - q(4392), + q(4391), q(0), ], q(maore comorian) => [ - q(6299), + q(6298), q(0), ], q(maori) => [ @@ -41726,19 +41756,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mape) => [ - q(4372), + q(4371), q(0), ], q(mapena) => [ - q(4424), + q(4423), q(0), ], q(mapia) => [ - q(4478), + q(4477), q(0), ], q(mapidian) => [ - q(4476), + q(4475), q(0), ], q(mapos buang) => [ @@ -41746,7 +41776,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mapoyo) => [ - q(4158), + q(4157), q(0), ], q(mapuche) => [ @@ -41758,51 +41788,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mapun) => [ - q(6061), + q(6060), q(0), ], q(maquiritari) => [ - q(4159), + q(4158), q(0), ], q(mara) => [ - q(4203), + q(4202), q(0), ], q(mara chin) => [ - q(4512), + q(4511), q(0), ], q(marachi) => [ - q(4045), + q(4044), q(0), ], q(maraghei) => [ - q(7024), + q(7023), q(0), ], q(maragus) => [ - q(4522), + q(4521), q(0), ], q(maram naga) => [ - q(4961), + q(4960), q(0), ], q(marama) => [ - q(4048), + q(4047), q(0), ], q(maramba) => [ - q(4674), + q(4673), q(0), ], q(maranao) => [ - q(4526), + q(4525), q(0), ], q(marangis) => [ - q(7074), + q(7073), q(1), ], q(maranunggu) => [ @@ -41810,7 +41840,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mararit) => [ - q(4250), + q(4249), q(0), ], q(marathi) => [ @@ -41818,23 +41848,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(marau) => [ - q(4615), + q(4614), q(0), ], q(marba) => [ - q(4460), + q(4459), q(0), ], q(maremgi) => [ - q(4527), + q(4526), q(0), ], q(marenje) => [ - q(7032), + q(7031), q(0), ], q(marfa) => [ - q(4618), + q(4617), q(0), ], q(margany) => [ @@ -41842,19 +41872,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(marghi central) => [ - q(4523), + q(4522), q(0), ], q(marghi south) => [ - q(4236), + q(4235), q(0), ], q(margos-yarowilca-lauricocha quechua) => [ - q(5706), + q(5705), q(0), ], q(margu) => [ - q(4280), + q(4279), q(0), ], q(mari) => [ @@ -41862,11 +41892,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mari (east sepik province)) => [ - q(4149), + q(4148), q(0), ], q(mari (madang province)) => [ - q(2811), + q(2810), q(0), ], q(mari (russia)) => [ @@ -41874,15 +41904,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(maria (india)) => [ - q(4521), + q(4520), q(0), ], q(maria (papua new guinea)) => [ - q(4193), + q(4192), q(0), ], q(maricopa) => [ - q(4507), + q(4506), q(0), ], q(maridan) => [ @@ -41902,15 +41932,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(marind) => [ - q(4529), + q(4528), q(0), ], q(maring) => [ - q(4148), + q(4147), q(0), ], q(maring naga) => [ - q(4993), + q(4992), q(0), ], q(maringarr) => [ @@ -41918,23 +41948,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(marino) => [ - q(4506), + q(4505), q(0), ], q(mariri) => [ - q(4487), + q(4486), q(0), ], q(marithiel) => [ - q(4241), + q(4240), q(0), ], q(maritime sign language) => [ - q(5079), + q(5078), q(0), ], q(maritsaua) => [ - q(4544), + q(4543), q(0), ], q(mariyedi) => [ @@ -41942,7 +41972,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(marka) => [ - q(5801), + q(5800), q(0), ], q(markweeta) => [ @@ -41950,19 +41980,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(marma) => [ - q(5827), + q(5826), q(0), ], q(marovo) => [ - q(4612), + q(4611), q(0), ], q(marriammu) => [ - q(7486), + q(7485), q(0), ], q(marrucinian) => [ - q(6902), + q(6901), q(0), ], q(marshallese) => [ @@ -41970,11 +42000,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(marsian) => [ - q(2967), + q(2966), q(0), ], q(martha's vineyard sign language) => [ - q(4509), + q(4508), q(0), ], q(marti ke) => [ @@ -41982,19 +42012,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(martu wangka) => [ - q(4463), + q(4462), q(0), ], q(martuyhunira) => [ - q(7017), + q(7016), q(0), ], q(maru) => [ - q(4295), + q(4294), q(0), ], q(marubo) => [ - q(4709), + q(4708), q(0), ], q(marwari) => [ @@ -42002,19 +42032,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(marwari (india)) => [ - q(5879), + q(5878), q(0), ], q(marwari (pakistan)) => [ - q(4603), + q(4602), q(0), ], q(masaaba) => [ - q(4690), + q(4689), q(0), ], q(masadiit itneg) => [ - q(6530), + q(6529), q(0), ], q(masai) => [ @@ -42022,15 +42052,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(masalit) => [ - q(4383), + q(4382), q(0), ], q(masana) => [ - q(4165), + q(4164), q(0), ], q(masbatenyo) => [ - q(4530), + q(4529), q(0), ], q(mashco piro) => [ @@ -42038,19 +42068,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mashi (nigeria)) => [ - q(3124), + q(3123), q(0), ], q(mashi (zambia)) => [ - q(4287), + q(4286), q(0), ], q(masikoro malagasy) => [ - q(4536), + q(4535), q(0), ], q(masimasi) => [ - q(3004), + q(3003), q(0), ], q(masiwang) => [ @@ -42058,59 +42088,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(maskelynes) => [ - q(3449), + q(3448), q(0), ], q(maslam) => [ - q(4549), + q(4548), q(0), ], q(masmaje) => [ - q(4217), + q(4216), q(0), ], q(massalat) => [ - q(4183), + q(4182), q(0), ], q(massep) => [ - q(4616), + q(4615), q(0), ], q(matagalpa) => [ - q(4567), + q(4566), q(0), ], q(matal) => [ - q(4231), + q(4230), q(0), ], q(matbat) => [ - q(7424), + q(7423), q(0), ], q(matengo) => [ - q(4270), + q(4269), q(0), ], q(matepi) => [ - q(4483), + q(4482), q(0), ], q(matigsalug manobo) => [ - q(4145), + q(4144), q(0), ], q(matipuhy) => [ - q(4706), + q(4705), q(0), ], q(matis) => [ - q(4470), + q(4469), q(0), ], q(mato) => [ - q(4218), + q(4217), q(0), ], q(mato grosso arara) => [ @@ -42118,95 +42148,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mator) => [ - q(4566), + q(4565), q(0), ], q(matses) => [ - q(4157), + q(4156), q(0), ], q(mattoki) => [ - q(7444), + q(7443), q(1), ], q(mattole) => [ - q(4601), + q(4600), q(0), ], q(matu chin) => [ - q(2775), + q(2774), q(0), ], q(matukar) => [ - q(4327), + q(4326), q(0), ], q(matumbi) => [ - q(4271), + q(4270), q(0), ], q(matya samo) => [ - q(6261), + q(6260), q(0), ], q(maung) => [ - q(4461), + q(4460), q(0), ], q(mauritian sign language) => [ - q(4068), + q(4067), q(0), ], q(mauwake) => [ - q(4284), + q(4283), q(0), ], q(mawa (chad)) => [ - q(4174), + q(4173), q(0), ], q(mawa (nigeria)) => [ - q(7167), + q(7166), q(0), ], q(mawak) => [ - q(4326), + q(4325), q(0), ], q(mawan) => [ - q(4177), + q(4176), q(0), ], q(mawayana) => [ - q(4715), + q(4714), q(0), ], q(mawchi) => [ - q(4346), + q(4345), q(0), ], q(mawes) => [ - q(4259), + q(4258), q(0), ], q(mawukakan) => [ - q(4669), + q(4668), q(1), ], q(maxakali) => [ - q(4137), + q(4136), q(0), ], q(maxi gbe) => [ - q(4657), + q(4656), q(0), ], q(maya samo) => [ - q(6339), + q(6338), q(0), ], q(mayaguduna) => [ - q(7429), + q(7428), q(0), ], q(mayan languages) => [ @@ -42214,7 +42244,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mayangna) => [ - q(7587), + q(7586), q(0), ], q(mayawali) => [ @@ -42222,31 +42252,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mayeka) => [ - q(4673), + q(4672), q(0), ], q(mayi-kulan) => [ - q(7567), + q(7566), q(0), ], q(mayi-thakurti) => [ - q(7569), + q(7568), q(0), ], q(mayi-yapi) => [ - q(7566), + q(7565), q(0), ], q(mayo) => [ - q(4248), + q(4247), q(0), ], q(mayogo) => [ - q(4189), + q(4188), q(0), ], q(mayoyao ifugao) => [ - q(2918), + q(2917), q(0), ], q(mazagway) => [ @@ -42258,27 +42288,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mazanderani) => [ - q(4705), + q(4704), q(0), ], q(mazatlan mazatec) => [ - q(7039), + q(7038), q(0), ], q(mazatlan mixe) => [ - q(4703), + q(4702), q(0), ], q(mba) => [ - q(4226), + q(4225), q(0), ], q(mbala) => [ - q(4191), + q(4190), q(0), ], q(mbalanhu) => [ - q(3999), + q(3998), q(0), ], q(mbandja) => [ @@ -42286,11 +42316,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mbangala) => [ - q(4652), + q(4651), q(0), ], q(mbangi) => [ - q(4262), + q(4261), q(0), ], q(mbangwe) => [ @@ -42298,11 +42328,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mbara (australia)) => [ - q(4609), + q(4608), q(0), ], q(mbara (chad)) => [ - q(4464), + q(4463), q(0), ], q(mbariman-gudhinma) => [ @@ -42310,31 +42340,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mbati) => [ - q(4190), + q(4189), q(0), ], q(mbato) => [ - q(2679), + q(2678), q(0), ], q(mbay) => [ - q(4672), + q(4671), q(0), ], q(mbe) => [ - q(4238), + q(4237), q(0), ], q(mbe') => [ - q(4564), + q(4563), q(0), ], q(mbelime) => [ - q(4490), + q(4489), q(0), ], q(mbere) => [ - q(4194), + q(4193), q(0), ], q(mbesa) => [ @@ -42342,7 +42372,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mbo (cameroon)) => [ - q(4140), + q(4139), q(0), ], q(mbo (democratic republic of congo)) => [ @@ -42350,19 +42380,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mboi) => [ - q(4441), + q(4440), q(0), ], q(mboko) => [ - q(4195), + q(4194), q(0), ], q(mbole) => [ - q(4192), + q(4191), q(0), ], q(mbonga) => [ - q(7407), + q(7406), q(0), ], q(mbongno) => [ @@ -42370,63 +42400,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mbosi) => [ - q(4197), + q(4196), q(0), ], q(mbowe) => [ - q(4660), + q(4659), q(0), ], q(mbre) => [ - q(4343), + q(4342), q(0), ], q(mbudum) => [ - q(7409), + q(7408), q(0), ], q(mbugu) => [ - q(4277), + q(4276), q(0), ], q(mbugwe) => [ - q(4273), + q(4272), q(0), ], q(mbuko) => [ - q(4481), + q(4480), q(0), ], q(mbukushu) => [ - q(4294), + q(4293), q(0), ], q(mbula) => [ - q(4414), + q(4413), q(0), ], q(mbula-bwazza) => [ - q(4146), + q(4145), q(0), ], q(mbule) => [ - q(4368), + q(4367), q(0), ], q(mbulungish) => [ - q(4147), + q(4146), q(0), ], q(mbum) => [ - q(4181), + q(4180), q(0), ], q(mbunda) => [ - q(4162), + q(4161), q(0), ], q(mbunga) => [ - q(4272), + q(4271), q(0), ], q(mburku) => [ @@ -42434,15 +42464,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mbwela) => [ - q(4244), + q(4243), q(0), ], q(mbya guarani) => [ - q(2654), + q(2653), q(0), ], q(me'en) => [ - q(4683), + q(4682), q(0), ], q(mea) => [ @@ -42450,23 +42480,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(2), ], q(medebur) => [ - q(4329), + q(4328), q(0), ], q(media lengua) => [ - q(4583), + q(4582), q(0), ], q(mediak) => [ - q(4643), + q(4642), q(0), ], q(median) => [ - q(7410), + q(7409), q(0), ], q(mednyj aleut) => [ - q(4582), + q(4581), q(0), ], q(medumba) => [ @@ -42474,23 +42504,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mefele) => [ - q(4233), + q(4232), q(0), ], q(megam) => [ - q(4206), + q(4205), q(0), ], q(megleno romanian) => [ - q(5870), + q(5869), q(0), ], q(mehek) => [ - q(5125), + q(5124), q(0), ], q(mehinaku) => [ - q(4396), + q(4395), q(0), ], q(mehri) => [ @@ -42498,39 +42528,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mekeo) => [ - q(4210), + q(4209), q(0), ], q(mekmek) => [ - q(4608), + q(4607), q(0), ], q(mekwei) => [ - q(4534), + q(4533), q(0), ], q(mele-fila) => [ - q(4650), + q(4649), q(0), ], q(melo) => [ - q(4247), + q(4246), q(0), ], q(melpa) => [ - q(4204), + q(4203), q(0), ], q(memoni) => [ - q(4150), + q(4149), q(0), ], q(mendalam kayan) => [ - q(7371), + q(7370), q(0), ], q(mendankwe-nkwen) => [ - q(4227), + q(4226), q(0), ], q(mende) => [ @@ -42538,7 +42568,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mende (papua new guinea)) => [ - q(6043), + q(6042), q(0), ], q(mende (sierra leone)) => [ @@ -42546,79 +42576,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(mengaka) => [ - q(7412), + q(7411), q(0), ], q(mengen) => [ - q(4205), + q(4204), q(0), ], q(mengisa) => [ - q(4171), + q(4170), q(0), ], q(menik) => [ - q(6625), + q(6624), q(0), ], q(menka) => [ - q(4201), + q(4200), q(0), ], q(menominee) => [ - q(4223), + q(4222), q(0), ], q(mentawai) => [ - q(4641), + q(4640), q(0), ], q(menya) => [ - q(4169), + q(4168), q(0), ], q(meoswar) => [ - q(4621), + q(4620), q(0), ], q(mer) => [ - q(4430), + q(4429), q(0), ], q(meramera) => [ - q(4658), + q(4657), q(0), ], q(merei) => [ - q(3976), + q(3975), q(0), ], q(merey) => [ - q(4215), + q(4214), q(0), ], q(meriam) => [ - q(6895), + q(6894), q(0), ], q(merlav) => [ - q(4516), + q(4515), q(0), ], q(meroitic) => [ - q(7422), + q(7421), q(0), ], q(meru) => [ - q(4216), + q(4215), q(0), ], q(merwari) => [ - q(7230), + q(7229), q(0), ], q(mesaka) => [ - q(3035), + q(3034), q(0), ], q(mescalero-chiricahua apache) => [ @@ -42626,11 +42656,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mese) => [ - q(4160), + q(4159), q(0), ], q(meskwaki) => [ - q(5887), + q(5886), q(0), ], q(mesme) => [ @@ -42638,7 +42668,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mesmes) => [ - q(4687), + q(4686), q(0), ], q(mesopotamian arabic) => [ @@ -42646,7 +42676,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mesqan) => [ - q(4623), + q(4622), q(0), ], q(messapic) => [ @@ -42654,35 +42684,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(meta') => [ - q(4263), + q(4262), q(0), ], q(metlatonoc mixtec) => [ - q(4667), + q(4666), q(0), ], q(mewari) => [ - q(4571), + q(4570), q(0), ], q(mewati) => [ - q(7243), + q(7242), q(0), ], q(mexican sign language) => [ - q(4242), + q(4241), q(0), ], q(meyah) => [ - q(4209), + q(4208), q(0), ], q(mezontla popoloca) => [ - q(5365), + q(5364), q(0), ], q(mezquital otomi) => [ - q(5318), + q(5317), q(0), ], q(mfinu) => [ @@ -42690,7 +42720,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mfumte) => [ - q(4833), + q(4832), q(0), ], q(mgbolizhia) => [ @@ -42706,15 +42736,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(miami) => [ - q(4298), + q(4297), q(0), ], q(mian) => [ - q(4473), + q(4472), q(0), ], q(miani) => [ - q(5485), + q(5484), q(0), ], q(michif) => [ @@ -42726,11 +42756,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(michoacan mazahua) => [ - q(4391), + q(4390), q(0), ], q(michoacan nahuatl) => [ - q(4772), + q(4771), q(0), ], q(micmac) => [ @@ -42750,7 +42780,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(middle breton) => [ - q(7299), + q(7298), q(0), ], q(middle cornish) => [ @@ -42774,7 +42804,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(middle hittite) => [ - q(2851), + q(2850), q(0), ], q(middle irish (900-1200)) => [ @@ -42782,7 +42812,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(middle korean (10th-16th cent.)) => [ - q(5234), + q(5233), q(0), ], q(middle low german) => [ @@ -42790,47 +42820,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(middle mongolian) => [ - q(7433), + q(7432), q(0), ], q(middle newar) => [ - q(5139), + q(5138), q(0), ], q(middle watut) => [ - q(4465), + q(4464), q(0), ], q(middle welsh) => [ - q(7158), + q(7157), q(0), ], q(midob) => [ - q(4208), + q(4207), q(0), ], q(migaama) => [ - q(4412), + q(4411), q(0), ], q(migabac) => [ - q(4469), + q(4468), q(0), ], q(migum) => [ - q(3440), + q(3439), q(0), ], q(miji) => [ - q(6060), + q(6059), q(1), ], q(miju-mishmi) => [ - q(4655), + q(4654), q(0), ], q(mikasuki) => [ - q(4307), + q(4306), q(0), ], q(mili) => [ @@ -42838,19 +42868,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(miltu) => [ - q(4374), + q(4373), q(0), ], q(miluk) => [ - q(2963), + q(2962), q(0), ], q(milyan) => [ - q(2968), + q(2967), q(0), ], q(min bei chinese) => [ - q(4426), + q(4425), q(0), ], q(min dong chinese) => [ @@ -42858,7 +42888,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(min nan chinese) => [ - q(4729), + q(4728), q(0), ], q(min zhong chinese) => [ @@ -42866,19 +42896,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mina (cameroon)) => [ - q(2800), + q(2799), q(0), ], q(mina (india)) => [ - q(4679), + q(4678), q(0), ], q(minaean) => [ - q(2973), + q(2972), q(0), ], q(minang) => [ - q(7479), + q(7478), q(0), ], q(minangkabau) => [ @@ -42886,11 +42916,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(minanibai) => [ - q(4173), + q(4172), q(0), ], q(minaveha) => [ - q(4611), + q(4610), q(0), ], q(minderico) => [ @@ -42898,23 +42928,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mindiri) => [ - q(4467), + q(4466), q(0), ], q(mingang doso) => [ - q(4355), + q(4354), q(0), ], q(mingrelian) => [ - q(7411), + q(7410), q(0), ], q(minica huitoto) => [ - q(2848), + q(2847), q(0), ], q(minidien) => [ - q(7132), + q(7131), q(0), ], q(minigir) => [ @@ -42922,27 +42952,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(minjungbal) => [ - q(7366), + q(7365), q(0), ], q(minkin) => [ - q(7561), + q(7560), q(0), ], q(minoan) => [ - q(5258), + q(5257), q(0), ], q(minokok) => [ - q(4495), + q(4494), q(0), ], q(minriq) => [ - q(4427), + q(4426), q(0), ], q(mintil) => [ - q(4711), + q(4710), q(0), ], q(minz zhuang) => [ @@ -42958,7 +42988,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(miraya bikol) => [ - q(5759), + q(5758), q(0), ], q(mirgan) => [ @@ -42966,27 +42996,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(miriti) => [ - q(4409), + q(4408), q(0), ], q(miriwung) => [ - q(4214), + q(4213), q(0), ], q(miship) => [ - q(4335), + q(4334), q(0), ], q(misima-panaeati) => [ - q(4477), + q(4476), q(0), ], q(mising) => [ - q(4511), + q(4510), q(0), ], q(miskito) => [ - q(4312), + q(4311), q(0), ], q(mitla zapotec) => [ @@ -42994,11 +43024,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mitlatongo mixtec) => [ - q(7029), + q(7028), q(0), ], q(mittu) => [ - q(4640), + q(4639), q(0), ], q(mituku) => [ @@ -43006,11 +43036,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(miu) => [ - q(4468), + q(4467), q(0), ], q(miwa) => [ - q(7025), + q(7024), q(0), ], q(mixed great andamanese) => [ @@ -43018,7 +43048,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mixtepec mixtec) => [ - q(4317), + q(4316), q(0), ], q(mixtepec zapotec) => [ @@ -43026,35 +43056,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(miya) => [ - q(4347), + q(4346), q(0), ], q(miyako) => [ - q(4607), + q(4606), q(0), ], q(miyobe) => [ - q(6175), + q(6174), q(0), ], q(mlabri) => [ - q(4505), + q(4504), q(0), ], q(mlahso) => [ - q(3906), + q(3905), q(0), ], q(mlap) => [ - q(3377), + q(3376), q(0), ], q(mlomp) => [ - q(4379), + q(4378), q(0), ], q(mmaala) => [ - q(4408), + q(4407), q(0), ], q(mmen) => [ @@ -43062,7 +43092,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mo) => [ - q(7146), + q(7145), q(1), ], q(mo'da) => [ @@ -43070,15 +43100,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(moabite) => [ - q(5191), + q(5190), q(0), ], q(moba) => [ - q(4240), + q(4239), q(0), ], q(mobilian) => [ - q(4438), + q(4437), q(0), ], q(mobumrin aizi) => [ @@ -43086,31 +43116,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mobwa karen) => [ - q(3109), + q(3108), q(0), ], q(mocheno) => [ - q(4286), + q(4285), q(0), ], q(mochi) => [ - q(5243), + q(5242), q(0), ], q(mochica) => [ - q(5252), + q(5251), q(0), ], q(mocho) => [ - q(4276), + q(4275), q(0), ], q(mocovi) => [ - q(4437), + q(4436), q(0), ], q(modang) => [ - q(4649), + q(4648), q(0), ], q(modern greek (1453-)) => [ @@ -43118,31 +43148,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(2), ], q(modole) => [ - q(4493), + q(4492), q(0), ], q(moere) => [ - q(4614), + q(4613), q(0), ], q(mofu-gudur) => [ - q(4302), + q(4301), q(0), ], q(mogholi) => [ - q(4282), + q(4281), q(0), ], q(mogofin) => [ - q(4230), + q(4229), q(0), ], q(mogum) => [ - q(4449), + q(4448), q(0), ], q(mohave) => [ - q(4450), + q(4449), q(0), ], q(mohawk) => [ @@ -43150,23 +43180,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mohegan-pequot) => [ - q(7467), + q(7466), q(0), ], q(moi (congo)) => [ - q(4451), + q(4450), q(0), ], q(moi (indonesia)) => [ - q(4659), + q(4658), q(0), ], q(moikodi) => [ - q(4356), + q(4355), q(0), ], q(moingi) => [ - q(4645), + q(4644), q(0), ], q(moji) => [ @@ -43174,27 +43204,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mok) => [ - q(4498), + q(4497), q(0), ], q(moken) => [ - q(4639), + q(4638), q(0), ], q(mokerang) => [ - q(4243), + q(4242), q(0), ], q(mokilese) => [ - q(4350), + q(4349), q(0), ], q(moklen) => [ - q(4353), + q(4352), q(0), ], q(mokole) => [ - q(4352), + q(4351), q(0), ], q(mokpwe) => [ @@ -43202,7 +43232,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(moksela) => [ - q(7033), + q(7032), q(0), ], q(moksha) => [ @@ -43210,11 +43240,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(molale) => [ - q(4131), + q(4130), q(0), ], q(molbog) => [ - q(5664), + q(5663), q(0), ], q(moldavian) => [ @@ -43222,7 +43252,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(moldova sign language) => [ - q(7047), + q(7046), q(0), ], q(moldovan) => [ @@ -43234,7 +43264,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(molima) => [ - q(4452), + q(4451), q(0), ], q(molmo one) => [ @@ -43246,23 +43276,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(molof) => [ - q(4540), + q(4539), q(0), ], q(moloko) => [ - q(4386), + q(4385), q(0), ], q(mom jango) => [ - q(6993), + q(6992), q(0), ], q(moma) => [ - q(4682), + q(4681), q(0), ], q(momare) => [ - q(4553), + q(4552), q(0), ], q(mombo dogon) => [ @@ -43270,19 +43300,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mombum) => [ - q(4543), + q(4542), q(0), ], q(momina) => [ - q(4390), + q(4389), q(0), ], q(momuna) => [ - q(4484), + q(4483), q(0), ], q(mon) => [ - q(4432), + q(4431), q(0), ], q(mon-khmer languages) => [ @@ -43290,15 +43320,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(monastic sign language) => [ - q(4698), + q(4697), q(0), ], q(monde) => [ - q(4416), + q(4415), q(0), ], q(mondropolon) => [ - q(5037), + q(5036), q(0), ], q(mong) => [ @@ -43306,11 +43336,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(mong leng) => [ - q(2805), + q(2804), q(1), ], q(mong njua) => [ - q(2805), + q(2804), q(2), ], q(mongo) => [ @@ -43318,7 +43348,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mongol) => [ - q(4268), + q(4267), q(0), ], q(mongolia buriat) => [ @@ -43334,59 +43364,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mongolian sign language) => [ - q(4546), + q(4545), q(0), ], q(mongondow) => [ - q(4440), + q(4439), q(0), ], q(moni) => [ - q(4435), + q(4434), q(0), ], q(mono (cameroon)) => [ - q(4524), + q(4523), q(0), ], q(mono (democratic republic of congo)) => [ - q(4420), + q(4419), q(0), ], q(mono (solomon islands)) => [ - q(4558), + q(4557), q(0), ], q(mono (usa)) => [ - q(4428), + q(4427), q(0), ], q(monom) => [ - q(4445), + q(4444), q(0), ], q(monsang naga) => [ - q(4968), + q(4967), q(0), ], q(montagnais) => [ - q(4439), + q(4438), q(0), ], q(montol) => [ - q(4565), + q(4564), q(0), ], q(monumbo) => [ - q(4656), + q(4655), q(0), ], q(monzombo) => [ - q(4442), + q(4441), q(0), ], q(moo) => [ - q(2685), + q(2684), q(0), ], q(moose cree) => [ @@ -43394,55 +43424,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mopan maya) => [ - q(4446), + q(4445), q(0), ], q(mor (bomberai peninsula)) => [ - q(4447), + q(4446), q(0), ], q(mor (mor islands)) => [ - q(4297), + q(4296), q(0), ], q(moraid) => [ - q(4535), + q(4534), q(0), ], q(morawa) => [ - q(4697), + q(4696), q(0), ], q(morelos nahuatl) => [ - q(4869), + q(4868), q(0), ], q(morerebi) => [ - q(7419), + q(7418), q(0), ], q(moresada) => [ - q(4551), + q(4550), q(0), ], q(mori atas) => [ - q(4708), + q(4707), q(0), ], q(mori bawah) => [ - q(7430), + q(7429), q(0), ], q(morigi) => [ - q(4179), + q(4178), q(0), ], q(morisyen) => [ - q(4228), + q(4227), q(0), ], q(moro) => [ - q(4448), + q(4447), q(0), ], q(moroccan arabic) => [ @@ -43450,11 +43480,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(moroccan sign language) => [ - q(7423), + q(7422), q(0), ], q(morokodo) => [ - q(4251), + q(4250), q(0), ], q(morom) => [ @@ -43462,35 +43492,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(moronene) => [ - q(4492), + q(4491), q(0), ], q(morori) => [ - q(4443), + q(4442), q(0), ], q(morouas) => [ - q(4519), + q(4518), q(0), ], q(mortlockese) => [ - q(4515), + q(4514), q(0), ], q(moru) => [ - q(4252), + q(4251), q(0), ], q(mosimo) => [ - q(4500), + q(4499), q(0), ], q(mosiro) => [ - q(4644), + q(4643), q(0), ], q(moskona) => [ - q(4563), + q(4562), q(0), ], q(mossi) => [ @@ -43498,75 +43528,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mota) => [ - q(4573), + q(4572), q(0), ], q(motlav) => [ - q(4385), + q(4384), q(0), ], q(motu) => [ - q(4219), + q(4218), q(0), ], q(mouk-aria) => [ - q(4630), + q(4629), q(0), ], q(mountain koiali) => [ - q(3544), + q(3543), q(0), ], q(mouwase) => [ - q(3125), + q(3124), q(0), ], q(movima) => [ - q(4707), + q(4706), q(0), ], q(moyadan itneg) => [ - q(3023), + q(3022), q(0), ], q(moyon naga) => [ - q(4975), + q(4974), q(0), ], q(mozambican sign language) => [ - q(4716), + q(4715), q(0), ], q(mozarabic) => [ - q(4654), + q(4653), q(0), ], q(mpade) => [ - q(4462), + q(4461), q(0), ], q(mpalitjanh) => [ - q(7461), + q(7460), q(0), ], q(mpi) => [ - q(4479), + q(4478), q(0), ], q(mpiemo) => [ - q(4175), + q(4174), q(0), ], q(mpoto) => [ - q(4455), + q(4454), q(0), ], q(mpotovoro) => [ - q(4617), + q(4616), q(0), ], q(mpumpong) => [ - q(4255), + q(4254), q(0), ], q(mpuono) => [ @@ -43582,11 +43612,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mru) => [ - q(4518), + q(4517), q(0), ], q(mser) => [ - q(3570), + q(3569), q(0), ], q(mt. iraya agta) => [ @@ -43598,15 +43628,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mualang) => [ - q(4557), + q(4556), q(0), ], q(mubami) => [ - q(6731), + q(6730), q(0), ], q(mubi) => [ - q(4580), + q(4579), q(0), ], q(muda) => [ @@ -43622,11 +43652,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mudu koraga) => [ - q(7020), + q(7019), q(0), ], q(muduga) => [ - q(6862), + q(6861), q(0), ], q(mufian) => [ @@ -43634,7 +43664,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mugom) => [ - q(4588), + q(4587), q(0), ], q(muinane) => [ @@ -43642,19 +43672,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mukha-dora) => [ - q(4399), + q(4398), q(0), ], q(mukulu) => [ - q(4454), + q(4453), q(0), ], q(mulaha) => [ - q(4246), + q(4245), q(0), ], q(mulam) => [ - q(4377), + q(4376), q(0), ], q(mulao) => [ @@ -43662,15 +43692,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mulgi) => [ - q(4606), + q(4605), q(0), ], q(mullu kurumba) => [ - q(3524), + q(3523), q(0), ], q(mullukmulluk) => [ - q(4456), + q(4455), q(0), ], q(multiple languages) => [ @@ -43678,27 +43708,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(muluridyi) => [ - q(7034), + q(7033), q(0), ], q(mum) => [ - q(3547), + q(3546), q(0), ], q(mumuye) => [ - q(4704), + q(4703), q(0), ], q(mun chin) => [ - q(4637), + q(4636), q(0), ], q(muna) => [ - q(4415), + q(4414), q(0), ], q(munda) => [ - q(6921), + q(6920), q(0), ], q(munda languages) => [ @@ -43710,67 +43740,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mundang) => [ - q(4579), + q(4578), q(0), ], q(mundani) => [ - q(4418), + q(4417), q(0), ], q(mundari) => [ - q(6919), + q(6918), q(0), ], q(mundat) => [ - q(4394), + q(4393), q(0), ], q(mundu) => [ - q(4585), + q(4584), q(0), ], q(munduruku) => [ - q(4688), + q(4687), q(0), ], q(mungaka) => [ - q(4283), + q(4282), q(0), ], q(mungbam) => [ - q(4306), + q(4305), q(1), ], q(munggui) => [ - q(4561), + q(4560), q(0), ], q(mungkip) => [ - q(4475), + q(4474), q(0), ], q(muniche) => [ - q(4686), + q(4685), q(0), ], q(munit) => [ - q(4556), + q(4555), q(0), ], q(munji) => [ - q(4421), + q(4420), q(0), ], q(munsee) => [ - q(6912), + q(6911), q(0), ], q(muong) => [ - q(4570), + q(4569), q(0), ], q(mur pano) => [ - q(6561), + q(6560), q(0), ], q(muratayak) => [ @@ -43778,35 +43808,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(murik (malaysia)) => [ - q(4663), + q(4662), q(0), ], q(murik (papua new guinea)) => [ - q(4559), + q(4558), q(0), ], q(murkim) => [ - q(5811), + q(5810), q(0), ], q(murle) => [ - q(4593), + q(4592), q(0), ], q(murrinh-patha) => [ - q(4628), + q(4627), q(0), ], q(mursi) => [ - q(4599), + q(4598), q(0), ], q(murui huitoto) => [ - q(2869), + q(2868), q(0), ], q(murupi) => [ - q(4501), + q(4500), q(0), ], q(muruwari) => [ @@ -43814,43 +43844,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(musak) => [ - q(4405), + q(4404), q(0), ], q(musar) => [ - q(4397), + q(4396), q(0), ], q(musasa) => [ - q(6123), + q(6122), q(0), ], q(musey) => [ - q(4533), + q(4532), q(0), ], q(musgu) => [ - q(4584), + q(4583), q(0), ], q(mushungulu) => [ - q(7406), + q(7405), q(0), ], q(musi) => [ - q(4586), + q(4585), q(0), ], q(muskum) => [ - q(4322), + q(4321), q(0), ], q(muslim tat) => [ - q(6753), + q(6752), q(0), ], q(musom) => [ - q(4548), + q(4547), q(0), ], q(mussau-emira) => [ @@ -43858,23 +43888,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(muthuvan) => [ - q(4596), + q(4595), q(0), ], q(mutu) => [ - q(6761), + q(6760), q(0), ], q(muya) => [ - q(4610), + q(4609), q(0), ], q(muyang) => [ - q(4598), + q(4597), q(0), ], q(muyuw) => [ - q(4689), + q(4688), q(0), ], q(muzi) => [ @@ -43882,51 +43912,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mvanip) => [ - q(4161), + q(4160), q(0), ], q(mvuba) => [ - q(4653), + q(4652), q(0), ], q(mwaghavul) => [ - q(6284), + q(6283), q(0), ], q(mwali comorian) => [ - q(7152), + q(7151), q(0), ], q(mwan) => [ - q(4436), + q(4435), q(0), ], q(mwani) => [ - q(7179), + q(7178), q(0), ], q(mwatebu) => [ - q(4624), + q(4623), q(0), ], q(mwera (chimwera)) => [ - q(4627), + q(4626), q(0), ], q(mwera (nyasa)) => [ - q(4324), + q(4323), q(0), ], q(mwerlap) => [ - q(4516), + q(4515), q(1), ], q(mwimbi-muthambi) => [ - q(4638), + q(4637), q(0), ], q(mwotlap) => [ - q(4385), + q(4384), q(1), ], q(mycenaean greek) => [ @@ -43934,7 +43964,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(myene) => [ - q(4675), + q(4674), q(0), ], q(mysian) => [ @@ -43942,7 +43972,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(mzieme naga) => [ - q(4965), + q(4964), q(0), ], q(n'ko) => [ @@ -43950,11 +43980,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(n/u) => [ - q(4840), + q(4839), q(0), ], q(na) => [ - q(4756), + q(4755), q(0), ], q(na-dene languages) => [ @@ -43962,11 +43992,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(na-meo) => [ - q(4819), + q(4818), q(0), ], q(naaba) => [ - q(4730), + q(4729), q(0), ], q(naami) => [ @@ -43974,79 +44004,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(naasioi) => [ - q(4733), + q(4732), q(0), ], q(naba) => [ - q(4417), + q(4416), q(0), ], q(nabak) => [ - q(4723), + q(4722), q(0), ], q(nabi) => [ - q(4578), + q(4577), q(0), ], q(nachering) => [ - q(4764), + q(4763), q(0), ], q(nadeb) => [ - q(4135), + q(4134), q(0), ], q(nadruvian) => [ - q(4787), + q(4786), q(0), ], q(nafaanra) => [ - q(4832), + q(4831), q(0), ], q(nafi) => [ - q(6212), + q(6211), q(0), ], q(nafri) => [ - q(5154), + q(5153), q(0), ], q(nafusi) => [ - q(3064), + q(3063), q(0), ], q(naga pidgin) => [ - q(4724), + q(4723), q(0), ], q(nagarchal) => [ - q(4744), + q(4743), q(0), ], q(nage) => [ - q(5143), + q(5142), q(0), ], q(nagumi) => [ - q(4854), + q(4853), q(0), ], q(naha'ai) => [ - q(4387), + q(4386), q(1), ], q(nahali) => [ - q(4958), + q(4957), q(0), ], q(nahari) => [ - q(4866), + q(4865), q(0), ], q(nahavaq) => [ - q(6149), + q(6148), q(1), ], q(nahuatl languages) => [ @@ -44062,55 +44092,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(naka'ela) => [ - q(4722), + q(4721), q(0), ], q(nakai) => [ - q(4930), + q(4929), q(0), ], q(nakame) => [ - q(4882), + q(4881), q(0), ], q(nakanai) => [ - q(4726), + q(4725), q(0), ], q(nakara) => [ - q(4771), + q(4770), q(0), ], q(nake) => [ - q(4748), + q(4747), q(0), ], q(naki) => [ - q(4229), + q(4228), q(0), ], q(nakwi) => [ - q(4736), + q(4735), q(0), ], q(nalca) => [ - q(4946), + q(4945), q(0), ], q(nali) => [ - q(5080), + q(5079), q(0), ], q(nalik) => [ - q(4727), + q(4726), q(0), ], q(nalogo) => [ - q(4960), + q(4959), q(0), ], q(nalu) => [ - q(4725), + q(4724), q(0), ], q(naluo yi) => [ @@ -44118,51 +44148,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nama (namibia)) => [ - q(4731), + q(4730), q(1), ], q(nama (papua new guinea)) => [ - q(4984), + q(4983), q(0), ], q(namakura) => [ - q(4971), + q(4970), q(0), ], q(namat) => [ - q(4932), + q(4931), q(0), ], q(nambo) => [ - q(4773), + q(4772), q(0), ], q(nambya) => [ - q(4977), + q(4976), q(0), ], q(namia) => [ - q(4999), + q(4998), q(0), ], q(namiae) => [ - q(5129), + q(5128), q(0), ], q(namibian sign language) => [ - q(4755), + q(4754), q(0), ], q(namla) => [ - q(4718), + q(4717), q(0), ], q(namo) => [ - q(4668), + q(4667), q(0), ], q(namonuito) => [ - q(4980), + q(4979), q(0), ], q(namosi-naitasiri-serua) => [ @@ -44170,7 +44200,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(namuyi) => [ - q(4985), + q(4984), q(0), ], q(nanai) => [ @@ -44178,27 +44208,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nancere) => [ - q(4989), + q(4988), q(0), ], q(nande) => [ - q(4988), + q(4987), q(0), ], q(nandi) => [ - q(4895), + q(4894), q(0), ], q(nanerige senoufo) => [ - q(5973), + q(5972), q(0), ], q(nanga dama dogon) => [ - q(5183), + q(5182), q(0), ], q(nankina) => [ - q(4997), + q(4996), q(0), ], q(nanti) => [ @@ -44206,7 +44236,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nanticoke) => [ - q(5005), + q(5004), q(0), ], q(nanubae) => [ @@ -44214,83 +44244,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(napo lowland quechua) => [ - q(5708), + q(5707), q(0), ], q(napu) => [ - q(5041), + q(5040), q(0), ], q(nar phu) => [ - q(5031), + q(5030), q(0), ], q(nara) => [ - q(5049), + q(5048), q(0), ], q(narak) => [ - q(4720), + q(4719), q(0), ], q(narango) => [ - q(5053), + q(5052), q(0), ], q(narau) => [ - q(5153), + q(5152), q(0), ], q(nari nari) => [ - q(5834), + q(5833), q(0), ], q(narim) => [ - q(4019), + q(4018), q(0), ], q(naro) => [ - q(4874), + q(4873), q(0), ], q(narom) => [ - q(5057), + q(5056), q(0), ], q(narragansett) => [ - q(7441), + q(7440), q(0), ], q(narrinyeri) => [ - q(4737), + q(4736), q(0), ], q(narua) => [ - q(5062), + q(5061), q(0), ], q(narungga) => [ - q(5003), + q(5002), q(0), ], q(nasal) => [ - q(5086), + q(5085), q(0), ], q(nasarian) => [ - q(5128), + q(5127), q(0), ], q(naskapi) => [ - q(5073), + q(5072), q(0), ], q(natagaimas) => [ - q(5097), + q(5096), q(0), ], q(natanzi) => [ - q(5102), + q(5101), q(0), ], q(nataoran amis) => [ @@ -44298,27 +44328,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(natchez) => [ - q(4782), + q(4781), q(0), ], q(nateni) => [ - q(5093), + q(5092), q(0), ], q(nathembo) => [ - q(5088), + q(5087), q(0), ], q(natioro) => [ - q(5090), + q(5089), q(0), ], q(natugu) => [ - q(5098), + q(5097), q(0), ], q(nauete) => [ - q(5141), + q(5140), q(0), ], q(naukan yupik) => [ @@ -44326,11 +44356,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nauna) => [ - q(4774), + q(4773), q(0), ], q(nauo) => [ - q(5137), + q(5136), q(0), ], q(nauru) => [ @@ -44346,47 +44376,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(navut) => [ - q(5084), + q(5083), q(0), ], q(nawaru) => [ - q(5138), + q(5137), q(0), ], q(nawathinehena) => [ - q(5131), + q(5130), q(0), ], q(nawdm) => [ - q(4986), + q(4985), q(0), ], q(nawuri) => [ - q(4735), + q(4734), q(0), ], q(naxi) => [ - q(5151), + q(5150), q(0), ], q(nayi) => [ - q(5030), + q(5029), q(0), ], q(nayini) => [ - q(5167), + q(5166), q(0), ], q(ncane) => [ - q(4777), + q(4776), q(0), ], q(nchumbulu) => [ - q(4955), + q(4954), q(0), ], q(nda'nda') => [ - q(5010), + q(5009), q(0), ], q(ndai) => [ @@ -44394,43 +44424,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ndaka) => [ - q(4792), + q(4791), q(0), ], q(ndaktup) => [ - q(4776), + q(4775), q(0), ], q(ndali) => [ - q(4789), + q(4788), q(0), ], q(ndam) => [ - q(4794), + q(4793), q(0), ], q(ndamba) => [ - q(4791), + q(4790), q(0), ], q(ndambomo) => [ - q(5150), + q(5149), q(0), ], q(ndasa) => [ - q(4783), + q(4782), q(0), ], q(ndau) => [ - q(4785), + q(4784), q(0), ], q(nde-gbite) => [ - q(4809), + q(4808), q(0), ], q(nde-nsele-nta) => [ - q(4786), + q(4785), q(0), ], q(ndebele, north) => [ @@ -44442,7 +44472,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ndemli) => [ - q(4972), + q(4971), q(0), ], q(ndendeule) => [ @@ -44450,7 +44480,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ndengereko) => [ - q(4788), + q(4787), q(0), ], q(nding) => [ @@ -44458,35 +44488,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ndo) => [ - q(4796), + q(4795), q(0), ], q(ndobo) => [ - q(4802), + q(4801), q(0), ], q(ndoe) => [ - q(4740), + q(4739), q(0), ], q(ndogo) => [ - q(4805), + q(4804), q(0), ], q(ndolo) => [ - q(4793), + q(4792), q(0), ], q(ndom) => [ - q(5044), + q(5043), q(0), ], q(ndombe) => [ - q(4797), + q(4796), q(0), ], q(ndonde hamba) => [ - q(4906), + q(4905), q(0), ], q(ndonga) => [ @@ -44494,7 +44524,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ndoola) => [ - q(4798), + q(4797), q(0), ], q(ndra'ngith) => [ @@ -44502,31 +44532,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nduga) => [ - q(4803), + q(4802), q(0), ], q(ndumu) => [ - q(4964), + q(4963), q(0), ], q(ndunda) => [ - q(5109), + q(5108), q(0), ], q(ndunga) => [ - q(4799), + q(4798), q(0), ], q(ndut) => [ - q(4801), + q(4800), q(0), ], q(ndyuka-trio pidgin) => [ - q(4916), + q(4915), q(0), ], q(ndzwani comorian) => [ - q(7186), + q(7185), q(0), ], q(neapolitan) => [ @@ -44534,11 +44564,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nedebang) => [ - q(4808), + q(4807), q(0), ], q(nefamese) => [ - q(4811), + q(4810), q(0), ], q(negerhollands) => [ @@ -44550,43 +44580,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(negidal) => [ - q(4812), + q(4811), q(0), ], q(nehan) => [ - q(5076), + q(5075), q(0), ], q(nek) => [ - q(4885), + q(4884), q(0), ], q(nekgini) => [ - q(4927), + q(4926), q(0), ], q(neko) => [ - q(4815), + q(4814), q(0), ], q(neku) => [ - q(4816), + q(4815), q(0), ], q(nelemwa-nixumwak) => [ - q(4810), + q(4809), q(0), ], q(neme) => [ - q(4826), + q(4825), q(0), ], q(nemi) => [ - q(4817), + q(4816), q(0), ], q(nen) => [ - q(5045), + q(5044), q(0), ], q(nend) => [ @@ -44602,15 +44632,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(2), ], q(nengone) => [ - q(4818), + q(4817), q(0), ], q(neo) => [ - q(4824), + q(4823), q(0), ], q(neo-hittite) => [ - q(4814), + q(4813), q(0), ], q(nepal bhasa) => [ @@ -44618,7 +44648,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nepalese sign language) => [ - q(5077), + q(5076), q(0), ], q(nepali) => [ @@ -44626,7 +44656,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nepali (individual language)) => [ - q(5035), + q(5034), q(0), ], q(nepali (macrolanguage)) => [ @@ -44634,27 +44664,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(nepali kurux) => [ - q(3726), + q(3725), q(0), ], q(nete) => [ - q(4823), + q(4822), q(0), ], q(neve'ei) => [ - q(7041), + q(7040), q(1), ], q(neverver) => [ - q(3890), + q(3889), q(1), ], q(new caledonian javanese) => [ - q(3054), + q(3053), q(0), ], q(new zealand sign language) => [ - q(5180), + q(5179), q(0), ], q(newari) => [ @@ -44662,99 +44692,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(neyo) => [ - q(4827), + q(4826), q(0), ], q(nez perce) => [ - q(4828), + q(4827), q(0), ], q(ngaanyatjarra) => [ - q(5091), + q(5090), q(0), ], q(ngabere) => [ - q(2703), + q(2702), q(0), ], q(ngad'a) => [ - q(5144), + q(5143), q(0), ], q(ngadjunmaya) => [ - q(4917), + q(4916), q(0), ], q(ngadjuri) => [ - q(3151), + q(3150), q(0), ], q(ngaing) => [ - q(4992), + q(4991), q(0), ], q(ngaju) => [ - q(4889), + q(4888), q(0), ], q(ngala) => [ - q(5105), + q(5104), q(0), ], q(ngalakan) => [ - q(4886), + q(4885), q(0), ], q(ngalum) => [ - q(6347), + q(6346), q(0), ], q(ngam) => [ - q(4963), + q(4962), q(0), ], q(ngamambo) => [ - q(4758), + q(4757), q(0), ], q(ngambay) => [ - q(5901), + q(5900), q(0), ], q(ngamini) => [ - q(4982), + q(4981), q(0), ], q(ngamo) => [ - q(4745), + q(4744), q(0), ], q(ngan'gityemerri) => [ - q(4728), + q(4727), q(0), ], q(nganakarti) => [ - q(7436), + q(7435), q(0), ], q(nganasan) => [ - q(4894), + q(4893), q(0), ], q(ngandi) => [ - q(4883), + q(4882), q(0), ], q(ngando (central african republic)) => [ - q(4837), + q(4836), q(0), ], q(ngando (democratic republic of congo)) => [ - q(5142), + q(5141), q(0), ], q(ngandyera) => [ - q(4991), + q(4990), q(0), ], q(ngangam) => [ @@ -44762,35 +44792,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ngantangarra) => [ - q(5089), + q(5088), q(0), ], q(nganyaywana) => [ - q(5174), + q(5173), q(0), ], q(ngardi) => [ - q(5880), + q(5879), q(0), ], q(ngarigu) => [ - q(7435), + q(7434), q(0), ], q(ngarinman) => [ - q(4747), + q(4746), q(0), ], q(ngarinyin) => [ - q(6915), + q(6914), q(0), ], q(ngarla) => [ - q(5055), + q(5054), q(0), ], q(ngarluma) => [ - q(5056), + q(5055), q(0), ], q(ngas) => [ @@ -44798,11 +44828,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ngasa) => [ - q(5070), + q(5069), q(0), ], q(ngatik men's creole) => [ - q(4845), + q(4844), q(0), ], q(ngawn chin) => [ @@ -44810,11 +44840,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ngawun) => [ - q(5149), + q(5148), q(0), ], q(ngayawung) => [ - q(5134), + q(5133), q(0), ], q(ngazidja comorian) => [ @@ -44822,27 +44852,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ngbaka) => [ - q(4834), + q(4833), q(0), ], q(ngbaka ma'bo) => [ - q(4749), + q(4748), q(0), ], q(ngbaka manza) => [ - q(4839), + q(4838), q(0), ], q(ngbee) => [ - q(3085), + q(3084), q(0), ], q(ngbinda) => [ - q(4742), + q(4741), q(0), ], q(ngbundu) => [ - q(5122), + q(5121), q(0), ], q(ngelima) => [ @@ -44850,147 +44880,147 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ngemba) => [ - q(4838), + q(4837), q(0), ], q(ngeq) => [ - q(4852), + q(4851), q(0), ], q(ngete) => [ - q(5000), + q(4999), q(0), ], q(nggem) => [ - q(4753), + q(4752), q(0), ], q(nggwahyi) => [ - q(4856), + q(4855), q(0), ], q(ngie) => [ - q(4842), + q(4841), q(0), ], q(ngiemboon) => [ - q(4994), + q(4993), q(0), ], q(ngile) => [ - q(3114), + q(3113), q(0), ], q(ngindo) => [ - q(5002), + q(5001), q(0), ], q(ngiti) => [ - q(4902), + q(4901), q(0), ], q(ngizim) => [ - q(4841), + q(4840), q(0), ], q(ngkalmpw kanum) => [ - q(3211), + q(3210), q(0), ], q(ngom) => [ - q(5048), + q(5047), q(0), ], q(ngomba) => [ - q(3088), + q(3087), q(0), ], q(ngombale) => [ - q(4945), + q(4944), q(0), ], q(ngombe (central african republic)) => [ - q(4970), + q(4969), q(0), ], q(ngombe (democratic republic of congo)) => [ - q(4836), + q(4835), q(0), ], q(ngongo) => [ - q(5023), + q(5022), q(0), ], q(ngoni) => [ - q(4847), + q(4846), q(0), ], q(ngoreme) => [ - q(4849), + q(4848), q(1), ], q(ngoshie) => [ - q(5071), + q(5070), q(0), ], q(ngul) => [ - q(4953), + q(4952), q(0), ], q(ngulu) => [ - q(4848), + q(4847), q(0), ], q(nguluwan) => [ - q(5124), + q(5123), q(0), ], q(ngumbi) => [ - q(5110), + q(5109), q(0), ], q(ngunawal) => [ - q(7534), + q(7533), q(0), ], q(ngundi) => [ - q(4795), + q(4794), q(0), ], q(ngundu) => [ - q(5106), + q(5105), q(0), ], q(ngungwel) => [ - q(4858), + q(4857), q(0), ], q(nguon) => [ - q(5116), + q(5115), q(0), ], q(ngurimi) => [ - q(4849), + q(4848), q(0), ], q(ngurmbur) => [ - q(5063), + q(5062), q(0), ], q(ngwaba) => [ - q(4855), + q(4854), q(0), ], q(ngwe) => [ - q(5133), + q(5132), q(0), ], q(ngwo) => [ - q(4846), + q(4845), q(0), ], q(nhanda) => [ - q(4859), + q(4858), q(0), ], q(nhengatu) => [ @@ -44998,11 +45028,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nhirrpi) => [ - q(2837), + q(2836), q(0), ], q(nhuwala) => [ - q(4864), + q(4863), q(0), ], q(nias) => [ @@ -45014,15 +45044,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nicaraguan sign language) => [ - q(4778), + q(4777), q(0), ], q(nicarao) => [ - q(5575), + q(5574), q(1), ], q(niellim) => [ - q(4884), + q(4883), q(0), ], q(niger-kordofanian languages) => [ @@ -45030,7 +45060,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nigeria mambila) => [ - q(4702), + q(4701), q(0), ], q(nigerian fulfulde) => [ @@ -45038,23 +45068,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nigerian pidgin) => [ - q(5392), + q(5391), q(0), ], q(nigerian sign language) => [ - q(5072), + q(5071), q(0), ], q(nihali) => [ - q(4952), + q(4951), q(0), ], q(nii) => [ - q(4888), + q(4887), q(0), ], q(nijadali) => [ - q(4721), + q(4720), q(0), ], q(niksek) => [ @@ -45062,11 +45092,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nila) => [ - q(4891), + q(4890), q(0), ], q(nilamba) => [ - q(4892), + q(4891), q(0), ], q(nilo-saharan languages) => [ @@ -45074,83 +45104,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nimadi) => [ - q(5014), + q(5013), q(0), ], q(nimanbur) => [ - q(4976), + q(4975), q(0), ], q(nimbari) => [ - q(4978), + q(4977), q(0), ], q(nimboran) => [ - q(4896), + q(4895), q(0), ], q(nimi) => [ - q(4897), + q(4896), q(0), ], q(nimo) => [ - q(4900), + q(4899), q(0), ], q(nimoa) => [ - q(4983), + q(4982), q(0), ], q(ninam) => [ - q(6010), + q(6009), q(0), ], q(ninde) => [ - q(4631), + q(4630), q(1), ], q(nindi) => [ - q(5145), + q(5144), q(0), ], q(ningera) => [ - q(4760), + q(4759), q(0), ], q(ninggerum) => [ - q(5152), + q(5151), q(0), ], q(ningil) => [ - q(4903), + q(4902), q(0), ], q(ningye) => [ - q(5004), + q(5003), q(0), ], q(ninia yali) => [ - q(4951), + q(4950), q(0), ], q(ninzo) => [ - q(4893), + q(4892), q(0), ], q(nipsan) => [ - q(5039), + q(5038), q(0), ], q(nisa) => [ - q(4915), + q(4914), q(0), ], q(nisenan) => [ - q(5087), + q(5086), q(0), ], q(nisga'a) => [ - q(4767), + q(4766), q(0), ], q(nisi (china)) => [ @@ -45158,11 +45188,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(niuafo'ou) => [ - q(5114), + q(5113), q(0), ], q(niuatoputapu) => [ - q(4935), + q(4934), q(0), ], q(niuean) => [ @@ -45174,75 +45204,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(niwer mil) => [ - q(2832), + q(2831), q(0), ], q(njalgulgule) => [ - q(4910), + q(4909), q(0), ], q(njebi) => [ - q(5177), + q(5176), q(0), ], q(njen) => [ - q(4909), + q(4908), q(0), ], q(njerep) => [ - q(4914), + q(4913), q(0), ], q(njyem) => [ - q(4919), + q(4918), q(0), ], q(nkami) => [ - q(4936), + q(4935), q(0), ], q(nkangala) => [ - q(4933), + q(4932), q(0), ], q(nkari) => [ - q(4944), + q(4943), q(0), ], q(nkem-nkum) => [ - q(3002), + q(3001), q(0), ], q(nkhumbi) => [ - q(3348), + q(3347), q(0), ], q(nkongho) => [ - q(4923), + q(4922), q(0), ], q(nkonya) => [ - q(4934), + q(4933), q(0), ], q(nkoroo) => [ - q(4943), + q(4942), q(0), ], q(nkoya) => [ - q(4921), + q(4920), q(0), ], q(nkukoli) => [ - q(4751), + q(4750), q(0), ], q(nkutu) => [ - q(4942), + q(4941), q(0), ], q(nnam) => [ - q(4752), + q(4751), q(0), ], q(no linguistic content) => [ @@ -45258,11 +45288,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nocaman) => [ - q(5021), + q(5020), q(0), ], q(nocte naga) => [ - q(4905), + q(4904), q(0), ], q(nogai) => [ @@ -45270,31 +45300,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(noiri) => [ - q(5017), + q(5016), q(0), ], q(nokuku) => [ - q(4931), + q(4930), q(0), ], q(nomaande) => [ - q(3870), + q(3869), q(0), ], q(nomane) => [ - q(5015), + q(5014), q(0), ], q(nomatsiguenga) => [ - q(5025), + q(5024), q(0), ], q(nomlaki) => [ - q(5020), + q(5019), q(0), ], q(nomu) => [ - q(5016), + q(5015), q(0), ], q(nong zhuang) => [ @@ -45302,19 +45332,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nonuya) => [ - q(5018), + q(5017), q(0), ], q(nooksack) => [ - q(5019), + q(5018), q(0), ], q(noon) => [ - q(6137), + q(6136), q(0), ], q(noone) => [ - q(4876), + q(4875), q(0), ], q(nopala chatino) => [ @@ -45322,19 +45352,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nora) => [ - q(5060), + q(5059), q(1), ], q(noric) => [ - q(5050), + q(5049), q(0), ], q(norn) => [ - q(5058), + q(5057), q(0), ], q(norra) => [ - q(5060), + q(5059), q(0), ], q(norse, old) => [ @@ -45346,7 +45376,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(north ambrym) => [ - q(4395), + q(4394), q(0), ], q(north american indian languages) => [ @@ -45354,7 +45384,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(north asmat) => [ - q(4938), + q(4937), q(0), ], q(north awyu) => [ @@ -45370,7 +45400,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(north bolivian quechua) => [ - q(5687), + q(5686), q(0), ], q(north caucasian languages) => [ @@ -45378,11 +45408,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(north central mixe) => [ - q(4820), + q(4819), q(0), ], q(north efate) => [ - q(3970), + q(3969), q(0), ], q(north fali) => [ @@ -45398,7 +45428,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(north junin quechua) => [ - q(5707), + q(5706), q(0), ], q(north levantine arabic) => [ @@ -45406,7 +45436,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(north marquesan) => [ - q(4520), + q(4519), q(0), ], q(north mesopotamian arabic) => [ @@ -45414,15 +45444,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(north mofu) => [ - q(4234), + q(4233), q(0), ], q(north moluccan malay) => [ - q(4125), + q(4124), q(0), ], q(north muyu) => [ - q(3627), + q(3626), q(0), ], q(north ndebele) => [ @@ -45430,39 +45460,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(north nuaulu) => [ - q(4995), + q(4994), q(0), ], q(north picene) => [ - q(5059), + q(5058), q(0), ], q(north slavey) => [ - q(5937), + q(5936), q(0), ], q(north tairora) => [ - q(6385), + q(6384), q(0), ], q(north tanna) => [ - q(6621), + q(6620), q(0), ], q(north wahgi) => [ - q(7123), + q(7122), q(0), ], q(north watut) => [ - q(6913), + q(6912), q(0), ], q(northeast kiwai) => [ - q(3373), + q(3372), q(0), ], q(northeast maidu) => [ - q(4981), + q(4980), q(0), ], q(northeast pashai) => [ @@ -45478,11 +45508,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(northeastern pomo) => [ - q(5407), + q(5406), q(0), ], q(northeastern thai) => [ - q(6752), + q(6751), q(0), ], q(northern alta) => [ @@ -45494,7 +45524,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(northern amami-oshima) => [ - q(5882), + q(5881), q(0), ], q(northern bai) => [ @@ -45506,7 +45536,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(northern binukidnon) => [ - q(3754), + q(3753), q(0), ], q(northern bobo madare) => [ @@ -45514,7 +45544,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(northern bontok) => [ - q(5758), + q(5757), q(0), ], q(northern catanduanes bikol) => [ @@ -45522,7 +45552,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(northern conchucos ancash quechua) => [ - q(5724), + q(5723), q(0), ], q(northern dagara) => [ @@ -45558,59 +45588,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(northern guiyang hmong) => [ - q(2860), + q(2859), q(0), ], q(northern guiyang miao) => [ - q(2860), + q(2859), q(1), ], q(northern haida) => [ - q(2739), + q(2738), q(0), ], q(northern hindko) => [ - q(2807), + q(2806), q(0), ], q(northern huishui hmong) => [ - q(2785), + q(2784), q(0), ], q(northern huishui miao) => [ - q(2785), + q(2784), q(1), ], q(northern kalapuya) => [ - q(5061), + q(5060), q(0), ], q(northern kankanay) => [ - q(7437), + q(7436), q(0), ], q(northern khmer) => [ - q(3727), + q(3726), q(0), ], q(northern kissi) => [ - q(3565), + q(3564), q(0), ], q(northern kurdish) => [ - q(3470), + q(3469), q(0), ], q(northern luri) => [ - q(4042), + q(4041), q(0), ], q(northern mashan hmong) => [ - q(2790), + q(2789), q(0), ], q(northern mashan miao) => [ - q(2790), + q(2789), q(1), ], q(northern muji) => [ @@ -45618,11 +45648,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(northern nago) => [ - q(7369), + q(7368), q(0), ], q(northern ngbandi) => [ - q(4835), + q(4834), q(0), ], q(northern nisu) => [ @@ -45630,11 +45660,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(northern nuni) => [ - q(5123), + q(5122), q(0), ], q(northern oaxaca nahuatl) => [ - q(4880), + q(4879), q(0), ], q(northern ohlone) => [ @@ -45642,39 +45672,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(northern one) => [ - q(5276), + q(5275), q(0), ], q(northern paiute) => [ - q(5353), + q(5352), q(0), ], q(northern pame) => [ - q(5521), + q(5520), q(0), ], q(northern pashto) => [ - q(5377), + q(5376), q(0), ], q(northern pastaza quichua) => [ - q(5713), + q(5712), q(0), ], q(northern pomo) => [ - q(5411), + q(5410), q(0), ], q(northern puebla nahuatl) => [ - q(4770), + q(4769), q(0), ], q(northern pumi) => [ - q(5514), + q(5513), q(0), ], q(northern qiandong miao) => [ - q(2742), + q(2741), q(0), ], q(northern qiang) => [ @@ -45682,11 +45712,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(northern rengma naga) => [ - q(4998), + q(4997), q(0), ], q(northern roglai) => [ - q(5841), + q(5840), q(0), ], q(northern sami) => [ @@ -45694,7 +45724,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(northern sierra miwok) => [ - q(5078), + q(5077), q(0), ], q(northern sorsoganon) => [ @@ -45706,43 +45736,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(2), ], q(northern subanen) => [ - q(6254), + q(6253), q(0), ], q(northern tarahumara) => [ - q(6500), + q(6499), q(0), ], q(northern tepehuan) => [ - q(5095), + q(5094), q(0), ], q(northern thai) => [ - q(5013), + q(5012), q(0), ], q(northern tiwa) => [ - q(6796), + q(6795), q(0), ], q(northern tlaxiaco mixtec) => [ - q(7517), + q(7516), q(0), ], q(northern toussian) => [ - q(6723), + q(6722), q(0), ], q(northern tujia) => [ - q(6539), + q(6538), q(0), ], q(northern tutchone) => [ - q(6746), + q(6745), q(0), ], q(northern uzbek) => [ - q(6967), + q(6966), q(0), ], q(northern yukaghir) => [ @@ -45754,15 +45784,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(northwest gbaya) => [ - q(2695), + q(2694), q(0), ], q(northwest maidu) => [ - q(4321), + q(4320), q(0), ], q(northwest oaxaca mixtec) => [ - q(4646), + q(4645), q(0), ], q(northwest pashai) => [ @@ -45782,23 +45812,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(northwestern kolami) => [ - q(3283), + q(3282), q(0), ], q(northwestern kung) => [ - q(6974), + q(6973), q(2), ], q(northwestern nisu) => [ - q(5069), + q(5068), q(0), ], q(northwestern ojibwa) => [ - q(5217), + q(5216), q(0), ], q(northwestern tamang) => [ - q(6595), + q(6594), q(0), ], q(norwegian) => [ @@ -45814,7 +45844,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(norwegian sign language) => [ - q(5074), + q(5073), q(0), ], q(not applicable) => [ @@ -45826,35 +45856,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(notsi) => [ - q(4766), + q(4765), q(0), ], q(nottoway) => [ - q(5099), + q(5098), q(0), ], q(nottoway-meherrin) => [ - q(5140), + q(5139), q(0), ], q(novial) => [ - q(5027), + q(5026), q(0), ], q(noy) => [ - q(5029), + q(5028), q(0), ], q(nsenga) => [ - q(5068), + q(5067), q(0), ], q(nshi) => [ - q(5066), + q(5065), q(0), ], q(nsongo) => [ - q(5085), + q(5084), q(0), ], q(ntcham) => [ @@ -45862,15 +45892,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ntomba) => [ - q(5094), + q(5093), q(0), ], + q(nu) => [ + q(4839), + q(1), + ], q(nubaca) => [ q(1025), q(0), ], q(nubi) => [ - q(3221), + q(3220), q(0), ], q(nubian languages) => [ @@ -45878,91 +45912,91 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nubri) => [ - q(3623), + q(3622), q(0), ], q(nuer) => [ - q(5120), + q(5119), q(0), ], q(nugunu (australia)) => [ - q(5007), + q(5006), q(0), ], q(nugunu (cameroon)) => [ - q(7590), + q(7589), q(0), ], q(nuk) => [ - q(5012), + q(5011), q(0), ], q(nukak maku) => [ - q(4143), + q(4142), q(0), ], q(nukna) => [ - q(3447), + q(3446), q(0), ], q(nukuini) => [ - q(5104), + q(5103), q(0), ], q(nukumanu) => [ - q(5118), + q(5117), q(0), ], q(nukunul) => [ - q(7442), + q(7441), q(0), ], q(nukuoro) => [ - q(4937), + q(4936), q(0), ], q(nukuria) => [ - q(5119), + q(5118), q(0), ], q(numana-nunku-gbantu-numbu) => [ - q(4754), + q(4753), q(0), ], q(numanggang) => [ - q(5022), + q(5021), q(0), ], q(numbami) => [ - q(6040), + q(6039), q(0), ], q(nume) => [ - q(6488), + q(6487), q(0), ], q(numee) => [ - q(3243), + q(3242), q(0), ], q(numidian) => [ - q(5148), + q(5147), q(0), ], q(nung (viet nam)) => [ - q(5121), + q(5120), q(0), ], q(nungali) => [ - q(5108), + q(5107), q(0), ], q(nunggubuyu) => [ - q(5126), + q(5125), q(0), ], q(nungu) => [ - q(5790), + q(5789), q(0), ], q(nuosu) => [ @@ -45970,39 +46004,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(nupbikha) => [ - q(5032), + q(5031), q(0), ], q(nupe-nupe-tako) => [ - q(5117), + q(5116), q(0), ], q(nupode huitoto) => [ - q(2872), + q(2871), q(0), ], q(nusa laut) => [ - q(5113), + q(5112), q(0), ], q(nusu) => [ - q(5107), + q(5106), q(0), ], q(nuu-chah-nulth) => [ - q(5112), + q(5111), q(0), ], q(nuuchahnulth) => [ - q(5112), + q(5111), q(1), ], q(nyabwa) => [ - q(5132), + q(5131), q(0), ], q(nyaheun) => [ - q(4825), + q(4824), q(0), ], q(nyahkur) => [ @@ -46010,7 +46044,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nyakyusa-ngonde) => [ - q(5175), + q(5174), q(0), ], q(nyalayu) => [ @@ -46018,27 +46052,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nyali) => [ - q(4950), + q(4949), q(0), ], q(nyam) => [ - q(4969), + q(4968), q(0), ], q(nyamal) => [ - q(4959), + q(4958), q(0), ], q(nyambo) => [ - q(5028), + q(5027), q(0), ], q(nyamusa-molo) => [ - q(5136), + q(5135), q(0), ], q(nyamwanga) => [ - q(4634), + q(4633), q(0), ], q(nyamwezi) => [ @@ -46046,35 +46080,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nyaneka) => [ - q(5164), + q(5163), q(0), ], q(nyang'i) => [ - q(5166), + q(5165), q(0), ], q(nyanga) => [ - q(5163), + q(5162), q(0), ], q(nyanga-li) => [ - q(5156), + q(5155), q(0), ], q(nyangatom) => [ - q(4996), + q(4995), q(0), ], q(nyangbo) => [ - q(5155), + q(5154), q(0), ], q(nyangga) => [ - q(5009), + q(5008), q(0), ], q(nyangumarta) => [ - q(4987), + q(4986), q(0), ], q(nyanja) => [ @@ -46086,23 +46120,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nyankpa) => [ - q(7627), + q(7626), q(0), ], q(nyarafolo senoufo) => [ - q(5981), + q(5980), q(0), ], q(nyaturu) => [ - q(5789), + q(5788), q(0), ], q(nyaw) => [ - q(5173), + q(5172), q(0), ], q(nyawaygi) => [ - q(5170), + q(5169), q(0), ], q(nyelayu) => [ @@ -46110,55 +46144,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(nyemba) => [ - q(4739), + q(4738), q(0), ], q(nyengo) => [ - q(5158), + q(5157), q(0), ], q(nyenkha) => [ - q(4813), + q(4812), q(0), ], q(nyeu) => [ - q(5165), + q(5164), q(0), ], q(nyigina) => [ - q(5161), + q(5160), q(0), ], q(nyiha (malawi)) => [ - q(5168), + q(5167), q(0), ], q(nyiha (tanzania)) => [ - q(4887), + q(4886), q(0), ], q(nyika (malawi and zambia)) => [ - q(4941), + q(4940), q(0), ], q(nyika (tanzania)) => [ - q(4939), + q(4938), q(0), ], q(nyindrou) => [ - q(3912), + q(3911), q(0), ], q(nyindu) => [ - q(5160), + q(5159), q(0), ], q(nyishi) => [ - q(4920), + q(4919), q(0), ], q(nyiyaparli) => [ - q(7443), + q(7442), q(0), ], q(nynorsk, norwegian) => [ @@ -46166,19 +46200,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(nyokon) => [ - q(5130), + q(5129), q(0), ], q(nyole) => [ - q(5111), + q(5110), q(0), ], q(nyong) => [ - q(4590), + q(4589), q(0), ], q(nyore) => [ - q(5157), + q(5156), q(0), ], q(nyoro) => [ @@ -46186,27 +46220,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(nyulnyul) => [ - q(5172), + q(5171), q(0), ], q(nyunga) => [ - q(5169), + q(5168), q(0), ], q(nyungwe) => [ - q(5171), + q(5170), q(0), ], q(nzakambay) => [ - q(5182), + q(5181), q(0), ], q(nzakara) => [ - q(5178), + q(5177), q(0), ], q(nzanyi) => [ - q(4904), + q(4903), q(0), ], q(nzima) => [ @@ -46214,11 +46248,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(o'chi'chi') => [ - q(7445), + q(7444), q(0), ], q(o'du) => [ - q(6831), + q(6830), q(0), ], q(obanliku) => [ @@ -46226,15 +46260,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(obispeno) => [ - q(5188), + q(5187), q(0), ], q(oblo) => [ - q(5190), + q(5189), q(0), ], q(obo manobo) => [ - q(5192), + q(5191), q(0), ], q(obokuitai) => [ @@ -46246,11 +46280,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(obulom) => [ - q(5195), + q(5194), q(0), ], q(ocaina) => [ - q(5196), + q(5195), q(0), ], q(occidental) => [ @@ -46262,7 +46296,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ocotepec mixtec) => [ - q(4301), + q(4300), q(0), ], q(ocotlan zapotec) => [ @@ -46270,7 +46304,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(od) => [ - q(5201), + q(5200), q(0), ], q(odiai) => [ @@ -46278,19 +46312,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(odoodee) => [ - q(3404), + q(3403), q(0), ], q(odual) => [ - q(5203), + q(5202), q(0), ], q(odut) => [ - q(5200), + q(5199), q(0), ], q(ofaye) => [ - q(5292), + q(5291), q(0), ], q(official aramaic (700-300 bce)) => [ @@ -46298,23 +46332,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ofo) => [ - q(5204), + q(5203), q(0), ], q(ogbah) => [ - q(5208), + q(5207), q(0), ], q(ogbia) => [ - q(5207), + q(5206), q(0), ], q(ogbogolo) => [ - q(5210), + q(5209), q(0), ], q(ogbronuagum) => [ - q(5212), + q(5211), q(0), ], q(ogea) => [ @@ -46326,7 +46360,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(oirata) => [ - q(5215), + q(5214), q(0), ], q(ojibwa) => [ @@ -46338,67 +46372,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(okanagan) => [ - q(5224), + q(5223), q(0), ], q(oki-no-erabu) => [ - q(5235), + q(5234), q(0), ], q(okiek) => [ - q(5230), + q(5229), q(0), ], q(oko-eni-osayen) => [ - q(5238), + q(5237), q(0), ], q(oko-juwoi) => [ - q(5231), + q(5230), q(0), ], q(okobo) => [ - q(5225), + q(5224), q(0), ], q(okodia) => [ - q(5226), + q(5225), q(0), ], q(okolod) => [ - q(3568), + q(3567), q(0), ], q(okpamheri) => [ - q(5287), + q(5286), q(0), ], q(okpe (northwestern edo)) => [ - q(5241), + q(5240), q(0), ], q(okpe (southwestern edo)) => [ - q(5227), + q(5226), q(0), ], q(oksapmin) => [ - q(5289), + q(5288), q(0), ], q(oku) => [ - q(5239), + q(5238), q(0), ], q(old aramaic (up to 700 bce)) => [ - q(5186), + q(5185), q(0), ], q(old avar) => [ - q(5187), + q(5186), q(0), ], q(old breton) => [ - q(5194), + q(5193), q(0), ], q(old bulgarian) => [ @@ -46406,11 +46440,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(3), ], q(old burmese) => [ - q(5193), + q(5192), q(0), ], q(old chinese) => [ - q(5197), + q(5196), q(0), ], q(old church slavonic) => [ @@ -46418,11 +46452,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(4), ], q(old cornish) => [ - q(5198), + q(5197), q(0), ], q(old dutch) => [ - q(5202), + q(5201), q(0), ], q(old english (ca. 450-1100)) => [ @@ -46434,11 +46468,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(old frisian) => [ - q(5205), + q(5204), q(0), ], q(old georgian) => [ - q(5209), + q(5208), q(0), ], q(old high german (ca. 750-1050)) => [ @@ -46446,11 +46480,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(old hittite) => [ - q(5213), + q(5212), q(0), ], q(old hungarian) => [ - q(5214), + q(5213), q(0), ], q(old irish (to 900)) => [ @@ -46458,31 +46492,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(old japanese) => [ - q(5220), + q(5219), q(0), ], q(old kentish sign language) => [ - q(5233), + q(5232), q(0), ], q(old korean (3rd-9th cent.)) => [ - q(5236), + q(5235), q(0), ], q(old lithuanian) => [ - q(5249), + q(5248), q(0), ], q(old manipuri) => [ - q(5260), + q(5259), q(0), ], q(old marathi) => [ - q(5261), + q(5260), q(0), ], q(old mon) => [ - q(5265), + q(5264), q(0), ], q(old newari) => [ @@ -46494,7 +46528,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(old nubian) => [ - q(5280), + q(5279), q(0), ], q(old occitan (to 1500)) => [ @@ -46502,7 +46536,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(2), ], q(old ossetic) => [ - q(5286), + q(5285), q(0), ], q(old persian (ca. 600-400 b.c.)) => [ @@ -46514,11 +46548,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(old russian) => [ - q(5304), + q(5303), q(0), ], q(old saxon) => [ - q(5315), + q(5314), q(0), ], q(old slavonic) => [ @@ -46526,103 +46560,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(old spanish) => [ - q(5312), + q(5311), q(0), ], q(old tamil) => [ - q(5331), + q(5330), q(0), ], q(old tibetan) => [ - q(5316), + q(5315), q(0), ], q(old turkish) => [ - q(5320), + q(5319), q(0), ], q(old uighur) => [ - q(5336), + q(5335), q(0), ], q(old welsh) => [ - q(5339), + q(5338), q(0), ], q(olekha) => [ - q(5244), + q(5243), q(0), ], q(olkol) => [ - q(5245), + q(5244), q(0), ], q(olo) => [ - q(5269), + q(5268), q(0), ], q(oloma) => [ - q(5246), + q(5245), q(0), ], q(olrat) => [ - q(5248), + q(5247), q(0), ], q(olu'bo) => [ - q(4082), + q(4081), q(0), ], q(olukhayo) => [ - q(3949), + q(3948), q(1), ], q(olulumo-ikom) => [ - q(2943), + q(2942), q(0), ], q(oluluyia) => [ - q(4091), + q(4090), q(1), ], q(olumarachi) => [ - q(4045), + q(4044), q(1), ], q(olumarama) => [ - q(4048), + q(4047), q(1), ], q(olunyole) => [ - q(5157), + q(5156), q(1), ], q(olusamia) => [ - q(4062), + q(4061), q(1), ], q(olushisa) => [ - q(3951), + q(3950), q(1), ], q(oluta popoluca) => [ - q(5496), + q(5495), q(0), ], q(olutsotso) => [ - q(4073), + q(4072), q(1), ], q(oluwanga) => [ - q(4099), + q(4098), q(1), ], q(omagua) => [ - q(5254), + q(5253), q(0), ], q(omaha-ponca) => [ - q(5250), + q(5249), q(0), ], q(omani arabic) => [ @@ -46630,23 +46664,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ombamba) => [ - q(4138), + q(4137), q(0), ], q(ombo) => [ - q(5257), + q(5256), q(0), ], q(omejes) => [ - q(5253), + q(5252), q(0), ], q(ometepec nahuatl) => [ - q(4875), + q(4874), q(0), ], q(omi) => [ - q(5255), + q(5254), q(0), ], q(omie) => [ @@ -46654,7 +46688,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(omok) => [ - q(5256), + q(5255), q(0), ], q(omotic languages) => [ @@ -46662,35 +46696,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(omotik) => [ - q(5262), + q(5261), q(0), ], q(omurano) => [ - q(5263), + q(5262), q(0), ], q(ona) => [ - q(5266), + q(5265), q(0), ], q(oneida) => [ - q(5268), + q(5267), q(0), ], q(ong) => [ - q(5283), + q(5282), q(0), ], q(onge) => [ - q(5284), + q(5283), q(0), ], q(onin) => [ - q(5270), + q(5269), q(0), ], q(onin based pidgin) => [ - q(5281), + q(5280), q(0), ], q(oniyan) => [ @@ -46698,63 +46732,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(onjob) => [ - q(5271), + q(5270), q(0), ], q(ono) => [ - q(5277), + q(5276), q(0), ], q(onobasulu) => [ - q(5273), + q(5272), q(0), ], q(onondaga) => [ - q(5274), + q(5273), q(0), ], q(ontenu) => [ - q(5278), + q(5277), q(0), ], q(ontong java) => [ - q(5222), + q(5221), q(0), ], q(oorlams) => [ - q(5285), + q(5284), q(0), ], q(opao) => [ - q(5290), + q(5289), q(0), ], q(opata) => [ - q(5291), + q(5290), q(0), ], q(opuuo) => [ - q(3893), + q(3892), q(0), ], q(orang kanaq) => [ - q(5298), + q(5297), q(0), ], q(orang seletar) => [ - q(5301), + q(5300), q(0), ], q(oraon sadri) => [ - q(5956), + q(5955), q(0), ], q(orejon) => [ - q(5295), + q(5294), q(0), ], q(oring) => [ - q(5296), + q(5295), q(0), ], q(oriya) => [ @@ -46762,7 +46796,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(oriya (individual language)) => [ - q(5307), + q(5306), q(0), ], q(oriya (macrolanguage)) => [ @@ -46770,43 +46804,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(orizaba nahuatl) => [ - q(4956), + q(4955), q(0), ], q(orma) => [ - q(5294), + q(5293), q(0), ], q(ormu) => [ - q(5308), + q(5307), q(0), ], q(ormuri) => [ - q(5303), + q(5302), q(0), ], q(oro) => [ - q(5306), + q(5305), q(0), ], q(oro win) => [ - q(5305), + q(5304), q(0), ], q(oroch) => [ - q(5185), + q(5184), q(0), ], q(oroha) => [ - q(5293), + q(5292), q(0), ], q(orok) => [ - q(5184), + q(5183), q(0), ], q(orokaiva) => [ - q(5240), + q(5239), q(0), ], q(oroko) => [ @@ -46814,7 +46848,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(orokolo) => [ - q(5299), + q(5298), q(0), ], q(oromo) => [ @@ -46822,7 +46856,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(oroqen) => [ - q(5297), + q(5296), q(0), ], q(orowe) => [ @@ -46830,11 +46864,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(oruma) => [ - q(5300), + q(5299), q(0), ], q(orya) => [ - q(6945), + q(6944), q(0), ], q(osage) => [ @@ -46842,19 +46876,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(osatu) => [ - q(5313), + q(5312), q(0), ], q(oscan) => [ - q(5309), + q(5308), q(0), ], q(osing) => [ - q(5310), + q(5309), q(0), ], q(ososo) => [ - q(5311), + q(5310), q(0), ], q(ossetian) => [ @@ -46866,15 +46900,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(ot danum) => [ - q(5317), + q(5316), q(0), ], q(otank) => [ - q(6953), + q(6952), q(0), ], q(oti) => [ - q(5319), + q(5318), q(0), ], q(oto-manguean languages) => [ @@ -46886,11 +46920,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(otoro) => [ - q(5325), + q(5324), q(0), ], q(ottawa) => [ - q(5329), + q(5328), q(0), ], q(ottoman turkish (1500-1928)) => [ @@ -46898,43 +46932,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(otuho) => [ - q(4030), + q(4029), q(0), ], q(otuke) => [ - q(5328), + q(5327), q(0), ], q(ouma) => [ - q(5337), + q(5336), q(0), ], q(oune) => [ - q(5335), + q(5334), q(0), ], q(owa) => [ - q(6265), + q(6264), q(0), ], q(owenia) => [ - q(7235), + q(7234), q(0), ], q(owiniga) => [ - q(5338), + q(5337), q(0), ], q(oy) => [ - q(5340), + q(5339), q(0), ], q(oya'oya) => [ - q(5343), + q(5342), q(0), ], q(oyda) => [ - q(5341), + q(5340), q(0), ], q(ozolotepec zapotec) => [ @@ -46946,11 +46980,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(pa di) => [ - q(5398), + q(5397), q(0), ], q(pa'a) => [ - q(5584), + q(5583), q(0), ], q(pa'o) => [ @@ -46962,11 +46996,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(pa-hng) => [ - q(5434), + q(5433), q(0), ], q(paafang) => [ - q(5422), + q(5421), q(0), ], q(paakantyi) => [ @@ -46974,19 +47008,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(paama) => [ - q(5507), + q(5506), q(0), ], q(paasaal) => [ - q(6037), + q(6036), q(0), ], q(pacahuara) => [ - q(5394), + q(5393), q(0), ], q(pacaraos quechua) => [ - q(5709), + q(5708), q(0), ], q(pacific gulf yupik) => [ @@ -46994,35 +47028,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(pacoh) => [ - q(5346), + q(5345), q(0), ], q(padoe) => [ - q(5400), + q(5399), q(0), ], q(paekche) => [ - q(5475), + q(5474), q(0), ], q(paelignian) => [ - q(5431), + q(5430), q(0), ], q(paez) => [ - q(5363), + q(5362), q(0), ], q(pagi) => [ - q(5428), + q(5427), q(0), ], q(pagibete) => [ - q(5348), + q(5347), q(0), ], q(pagu) => [ - q(5433), + q(5432), q(0), ], q(pahanan agta) => [ @@ -47030,15 +47064,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(pahari-potwari) => [ - q(5443), + q(5442), q(0), ], q(pahi) => [ - q(3896), + q(3895), q(0), ], q(pahlavani) => [ - q(5446), + q(5445), q(0), ], q(pahlavi) => [ @@ -47046,47 +47080,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(pai tavytera) => [ - q(5627), + q(5626), q(0), ], q(paici) => [ - q(5593), + q(5592), q(0), ], q(paipai) => [ - q(5573), + q(5572), q(0), ], q(paite chin) => [ - q(5390), + q(5389), q(0), ], q(paiwan) => [ - q(5665), + q(5664), q(0), ], q(pak-tong) => [ - q(5476), + q(5475), q(0), ], q(pakaasnovos) => [ - q(5358), + q(5357), q(0), ], q(pakanha) => [ - q(5478), + q(5477), q(0), ], q(pakistan sign language) => [ - q(5482), + q(5481), q(0), ], q(paku) => [ - q(5484), + q(5483), q(0), ], q(paku karen) => [ - q(3111), + q(3110), q(0), ], q(pal) => [ @@ -47094,11 +47128,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(palaic) => [ - q(5498), + q(5497), q(0), ], q(palaka senoufo) => [ - q(5499), + q(5498), q(0), ], q(palantla chinantec) => [ @@ -47110,11 +47144,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(paleni) => [ - q(5538), + q(5537), q(0), ], q(palenquero) => [ - q(5495), + q(5494), q(0), ], q(pali) => [ @@ -47122,15 +47156,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(palikur) => [ - q(5502), + q(5501), q(0), ], q(paliyan) => [ - q(5385), + q(5384), q(0), ], q(pallanganmiddang) => [ - q(5510), + q(5509), q(0), ], q(palor) => [ @@ -47138,23 +47172,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(palpa) => [ - q(5497), + q(5496), q(0), ], q(palu'e) => [ - q(5489), + q(5488), q(0), ], q(paluan) => [ - q(5506), + q(5505), q(0), ], q(palula) => [ - q(5439), + q(5438), q(1), ], q(palumata) => [ - q(5509), + q(5508), q(0), ], q(palya bareli) => [ @@ -47162,23 +47196,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(pam) => [ - q(5519), + q(5518), q(0), ], q(pambia) => [ - q(5508), + q(5507), q(0), ], q(pamlico) => [ - q(5516), + q(5515), q(0), ], q(pamona) => [ - q(5512), + q(5511), q(0), ], q(pamosu) => [ - q(2758), + q(2757), q(0), ], q(pampanga) => [ @@ -47190,43 +47224,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(pana (burkina faso)) => [ - q(5543), + q(5542), q(0), ], q(pana (central african republic)) => [ - q(5552), + q(5551), q(0), ], q(panamanian sign language) => [ - q(4064), + q(4063), q(0), ], q(panamint) => [ - q(5355), + q(5354), q(0), ], q(panao huanuco quechua) => [ - q(5722), + q(5721), q(0), ], q(panara) => [ - q(3576), + q(3575), q(0), ], q(panasuan) => [ - q(5617), + q(5616), q(0), ], q(panawa) => [ - q(5661), + q(5660), q(0), ], q(pancana) => [ - q(5542), + q(5541), q(0), ], q(panchpargania) => [ - q(6428), + q(6427), q(0), ], q(pande) => [ @@ -47238,27 +47272,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(pangseng) => [ - q(5432), + q(5431), q(0), ], q(pangutaran sama) => [ - q(6103), + q(6102), q(0), ], q(pangwa) => [ - q(5374), + q(5373), q(0), ], q(pangwali) => [ - q(5427), + q(5426), q(0), ], q(panim) => [ - q(5544), + q(5543), q(0), ], q(paniya) => [ - q(5386), + q(5385), q(0), ], q(panjabi) => [ @@ -47266,31 +47300,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(pankarare) => [ - q(5360), + q(5359), q(0), ], q(pankararu) => [ - q(5362), + q(5361), q(0), ], q(pankhu) => [ - q(5477), + q(5476), q(0), ], q(pannei) => [ - q(5531), + q(5530), q(0), ], q(pano) => [ - q(4504), + q(4503), q(0), ], q(panoan katukina) => [ - q(3497), + q(3496), q(0), ], q(panobo) => [ - q(5541), + q(5540), q(0), ], q(panyi bai) => [ @@ -47298,19 +47332,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(panytyima) => [ - q(5549), + q(5548), q(0), ], q(pao) => [ - q(5571), + q(5570), q(0), ], q(papantla totonac) => [ - q(6645), + q(6644), q(0), ], q(papapana) => [ - q(5577), + q(5576), q(0), ], q(papar) => [ @@ -47318,15 +47352,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(papasena) => [ - q(5356), + q(5355), q(0), ], q(papel) => [ - q(5372), + q(5371), q(0), ], q(papi) => [ - q(5572), + q(5571), q(0), ], q(papiamento) => [ @@ -47334,11 +47368,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(papitalai) => [ - q(5357), + q(5356), q(0), ], q(papora) => [ - q(5583), + q(5582), q(0), ], q(papuan languages) => [ @@ -47346,11 +47380,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(papuan malay) => [ - q(5527), + q(5526), q(0), ], q(papuma) => [ - q(5576), + q(5575), q(0), ], q(para arara) => [ @@ -47358,95 +47392,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(para gaviao) => [ - q(2675), + q(2674), q(0), ], q(para naga) => [ - q(5677), + q(5676), q(0), ], q(parachi) => [ - q(5587), + q(5586), q(0), ], q(paraguayan guarani) => [ - q(2648), + q(2647), q(0), ], q(paraguayan sign language) => [ - q(5673), + q(5672), q(0), ], q(parakana) => [ - q(5352), + q(5351), q(0), ], q(paranan) => [ - q(5590), + q(5589), q(0), ], q(paranawat) => [ - q(5349), + q(5348), q(0), ], q(paraujano) => [ - q(5367), + q(5366), q(0), ], q(parauk) => [ - q(5594), + q(5593), q(0), ], q(parawen) => [ - q(5604), + q(5603), q(0), ], q(pardhan) => [ - q(5387), + q(5386), q(0), ], q(pardhi) => [ - q(5391), + q(5390), q(0), ], q(pare) => [ - q(5582), + q(5581), q(0), ], q(parecis) => [ - q(5345), + q(5344), q(0), ], q(parenga) => [ - q(5389), + q(5388), q(0), ], q(pari) => [ - q(3950), + q(3949), q(0), ], q(parkari koli) => [ - q(3689), + q(3688), q(0), ], q(parkwa) => [ - q(5369), + q(5368), q(0), ], q(parsi) => [ - q(5598), + q(5597), q(0), ], q(parsi-dari) => [ - q(5588), + q(5587), q(0), ], q(parthian) => [ - q(7468), + q(7467), q(0), ], q(parya) => [ - q(5354), + q(5353), q(0), ], q(pashto) => [ @@ -47454,31 +47488,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(pasi) => [ - q(5620), + q(5619), q(0), ], q(pass valley yali) => [ - q(7576), + q(7575), q(0), ], q(patamona) => [ - q(5364), + q(5363), q(0), ], q(patani) => [ - q(5630), + q(5629), q(0), ], q(pataxo ha-ha-hae) => [ - q(5628), + q(5627), q(0), ], q(patep) => [ - q(5632), + q(5631), q(0), ], q(pathiya) => [ - q(5639), + q(5638), q(0), ], q(patpatar) => [ @@ -47486,31 +47520,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(pattani) => [ - q(3795), + q(3794), q(0), ], q(pattani malay) => [ - q(4224), + q(4223), q(0), ], q(pattapu) => [ - q(5633), + q(5632), q(0), ], q(patwin) => [ - q(5663), + q(5662), q(0), ], q(paulohi) => [ - q(5491), + q(5490), q(0), ], q(paumari) => [ - q(5347), + q(5346), q(0), ], q(paunaka) => [ - q(5537), + q(5536), q(0), ], q(pauri bareli) => [ @@ -47518,35 +47552,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(pauserna) => [ - q(5616), + q(5615), q(0), ], q(pawaia) => [ - q(5660), + q(5659), q(0), ], q(pawnee) => [ - q(5359), + q(5358), q(0), ], q(paynamar) => [ - q(5522), + q(5521), q(0), ], q(pe) => [ - q(5351), + q(5350), q(0), ], q(pear) => [ - q(5381), + q(5380), q(0), ], q(pech) => [ - q(5361), + q(5360), q(0), ], q(pecheneg) => [ - q(7457), + q(7456), q(0), ], q(pedi) => [ @@ -47554,15 +47588,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(peere) => [ - q(5423), + q(5422), q(0), ], q(pei) => [ - q(5580), + q(5579), q(0), ], q(pekal) => [ - q(5413), + q(5412), q(0), ], q(pela) => [ @@ -47574,7 +47608,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(pelende) => [ - q(5579), + q(5578), q(0), ], q(pemon) => [ @@ -47582,55 +47616,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(pemono) => [ - q(5418), + q(5417), q(0), ], q(penang sign language) => [ - q(5612), + q(5611), q(0), ], q(penchal) => [ - q(5412), + q(5411), q(0), ], q(pendau) => [ - q(6911), + q(6910), q(0), ], q(pengo) => [ - q(5408), + q(5407), q(0), ], q(pennsylvania german) => [ - q(5397), + q(5396), q(0), ], q(penoles mixtec) => [ - q(4308), + q(4307), q(0), ], q(penrhyn) => [ - q(5534), + q(5533), q(0), ], q(pentlatch) => [ - q(5638), + q(5637), q(0), ], q(perai) => [ - q(7111), + q(7110), q(0), ], q(peranakan indonesian) => [ - q(5403), + q(5402), q(0), ], q(peripheral mongolian) => [ - q(4604), + q(4603), q(0), ], q(pero) => [ - q(5462), + q(5461), q(0), ], q(persian) => [ @@ -47638,7 +47672,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(persian sign language) => [ - q(5609), + q(5608), q(0), ], q(persian, old (ca.600-400 b.c.)) => [ @@ -47646,7 +47680,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(peruvian sign language) => [ - q(5595), + q(5594), q(0), ], q(petapa zapotec) => [ @@ -47654,27 +47688,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(petats) => [ - q(5419), + q(5418), q(0), ], q(petjo) => [ - q(5420), + q(5419), q(0), ], q(peve) => [ - q(3979), + q(3978), q(0), ], q(pfaelzisch) => [ - q(5424), + q(5423), q(0), ], q(phai) => [ - q(5602), + q(5601), q(0), ], q(phake) => [ - q(5438), + q(5437), q(0), ], q(phala) => [ @@ -47682,19 +47716,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(phalura) => [ - q(5439), + q(5438), q(0), ], q(phana') => [ - q(5442), + q(5441), q(0), ], q(phangduwali) => [ - q(5447), + q(5446), q(0), ], q(phende) => [ - q(5414), + q(5413), q(0), ], q(philippine languages) => [ @@ -47702,11 +47736,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(philippine sign language) => [ - q(5619), + q(5618), q(0), ], q(phimbi) => [ - q(5440), + q(5439), q(0), ], q(phoenician) => [ @@ -47722,39 +47756,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(phom naga) => [ - q(5034), + q(5033), q(0), ], q(phong-kniang) => [ - q(5550), + q(5549), q(0), ], q(phrae pwo karen) => [ - q(3396), + q(3395), q(0), ], q(phrygian) => [ - q(7459), + q(7458), q(0), ], q(phu thai) => [ - q(5444), + q(5443), q(0), ], q(phuan) => [ - q(5445), + q(5444), q(0), ], q(phudagi) => [ - q(5435), + q(5434), q(0), ], q(phuie) => [ - q(5646), + q(5645), q(0), ], q(phukha) => [ - q(5437), + q(5436), q(0), ], q(phuma) => [ @@ -47762,11 +47796,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(phunoi) => [ - q(5441), + q(5440), q(0), ], q(phuong) => [ - q(5436), + q(5435), q(0), ], q(phupa) => [ @@ -47782,23 +47816,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(piamatsina) => [ - q(5634), + q(5633), q(0), ], q(piame) => [ - q(5460), + q(5459), q(0), ], q(piapoco) => [ - q(5461), + q(5460), q(0), ], q(piaroa) => [ - q(5451), + q(5450), q(0), ], q(picard) => [ - q(5383), + q(5382), q(0), ], q(pichis asheninka) => [ @@ -47806,7 +47840,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(pictish) => [ - q(7460), + q(7459), q(0), ], q(pidgin delaware) => [ @@ -47814,27 +47848,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(piemontese) => [ - q(5523), + q(5522), q(0), ], q(pijao) => [ - q(5457), + q(5456), q(0), ], q(pije) => [ - q(5471), + q(5470), q(0), ], q(pijin) => [ - q(5464), + q(5463), q(0), ], q(pilaga) => [ - q(5490), + q(5489), q(0), ], q(pileni) => [ - q(5467), + q(5466), q(0), ], q(pilipino) => [ @@ -47842,63 +47876,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(pima bajo) => [ - q(5448), + q(5447), q(0), ], q(pimbwe) => [ - q(5468), + q(5467), q(0), ], q(pinai-hagahai) => [ - q(5540), + q(5539), q(0), ], q(pingelapese) => [ - q(5453), + q(5452), q(0), ], q(pini) => [ - q(5456), + q(5455), q(0), ], q(pinigura) => [ - q(5548), + q(5547), q(0), ], q(pinjarup) => [ - q(5536), + q(5535), q(0), ], q(pinji) => [ - q(5450), + q(5449), q(0), ], q(pinotepa nacional mixtec) => [ - q(4310), + q(4309), q(0), ], q(pintiini) => [ - q(5629), + q(5628), q(0), ], q(pintupi-luritja) => [ - q(5466), + q(5465), q(0), ], q(pinyin) => [ - q(5551), + q(5550), q(0), ], q(pipil) => [ - q(5575), + q(5574), q(0), ], q(piraha) => [ - q(4685), + q(4684), q(0), ], q(piratapuyo) => [ - q(5463), + q(5462), q(0), ], q(pirlatapa) => [ @@ -47906,55 +47940,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(piro) => [ - q(5452), + q(5451), q(0), ], q(pirriya) => [ - q(7456), + q(7455), q(0), ], q(pisabo) => [ - q(5454), + q(5453), q(0), ], q(pisaflores tepehua) => [ - q(6666), + q(6665), q(0), ], q(piscataway) => [ - q(5626), + q(5625), q(0), ], q(pisidian) => [ - q(7469), + q(7468), q(0), ], q(pitcairn-norfolk) => [ - q(5455), + q(5454), q(0), ], q(pite sami) => [ - q(6057), + q(6056), q(0), ], q(piti) => [ - q(5393), + q(5392), q(0), ], q(pitjantjatjara) => [ - q(5472), + q(5471), q(0), ], q(pitta pitta) => [ - q(5465), + q(5464), q(0), ], q(piu) => [ - q(5469), + q(5468), q(0), ], q(piya-kwonci) => [ - q(5470), + q(5469), q(0), ], q(plains cree) => [ @@ -47962,47 +47996,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(plains indian sign language) => [ - q(5610), + q(5609), q(0), ], q(plains miwok) => [ - q(5525), + q(5524), q(0), ], q(plapo krumen) => [ - q(3628), + q(3627), q(0), ], q(plateau malagasy) => [ - q(5501), + q(5500), q(0), ], q(plautdietsch) => [ - q(5401), + q(5400), q(0), ], q(playero) => [ - q(2586), + q(2585), q(0), ], q(pnar) => [ - q(5378), + q(5377), q(0), ], q(pochuri naga) => [ - q(5038), + q(5037), q(0), ], q(pochutec) => [ - q(7465), + q(7464), q(0), ], q(podena) => [ - q(5399), + q(5398), q(0), ], q(pogolo) => [ - q(5570), + q(5569), q(0), ], q(pohnpeian) => [ @@ -48010,31 +48044,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(pokanga) => [ - q(5560), + q(5559), q(0), ], q(poke) => [ - q(5556), + q(5555), q(0), ], q(pokomo) => [ - q(5474), + q(5473), q(0), ], q(pokoot) => [ - q(5479), + q(5478), q(0), ], q(polabian) => [ - q(5569), + q(5568), q(0), ], q(polari) => [ - q(5488), + q(5487), q(0), ], q(polci) => [ - q(5492), + q(5491), q(0), ], q(polish) => [ @@ -48042,67 +48076,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(polish sign language) => [ - q(5618), + q(5617), q(0), ], q(polonombauk) => [ - q(5486), + q(5485), q(0), ], q(pom) => [ - q(5520), + q(5519), q(0), ], q(pomo) => [ - q(5518), + q(5517), q(0), ], q(ponam) => [ - q(4763), + q(4762), q(0), ], q(ponares) => [ - q(5554), + q(5553), q(0), ], q(pongu) => [ - q(5533), + q(5532), q(0), ], q(ponosakan) => [ - q(5545), + q(5544), q(0), ], q(pontic) => [ - q(5546), + q(5545), q(0), ], q(ponyo-gongwang naga) => [ - q(5033), + q(5032), q(0), ], q(popti') => [ - q(3042), + q(3041), q(0), ], q(poqomam) => [ - q(5553), + q(5552), q(0), ], q(poqomchi') => [ - q(5558), + q(5557), q(0), ], q(porohanon) => [ - q(5592), + q(5591), q(0), ], q(port sandwich) => [ - q(5625), + q(5624), q(0), ], q(port vato) => [ - q(5637), + q(5636), q(0), ], q(portuguese) => [ @@ -48110,7 +48144,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(portuguese sign language) => [ - q(5621), + q(5620), q(0), ], q(portuguese-based creoles and pidgins) => [ @@ -48118,11 +48152,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(2), ], q(potawatomi) => [ - q(5566), + q(5565), q(0), ], q(potiguara) => [ - q(5557), + q(5556), q(0), ], q(pottangi ollar gadaba) => [ @@ -48130,11 +48164,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(poule) => [ - q(4540), + q(4539), q(1), ], q(poumei naga) => [ - q(5526), + q(5525), q(0), ], q(pouye) => [ @@ -48142,15 +48176,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(powari) => [ - q(5667), + q(5666), q(0), ], q(powhatan) => [ - q(5459), + q(5458), q(0), ], q(poyanawa) => [ - q(5672), + q(5671), q(0), ], q(prakrit languages) => [ @@ -48158,19 +48192,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(prasuni) => [ - q(5597), + q(5596), q(0), ], q(pray 3) => [ - q(5606), + q(5605), q(0), ], q(primitive irish) => [ - q(5430), + q(5429), q(0), ], q(principense) => [ - q(5589), + q(5588), q(0), ], q(provencal) => [ @@ -48182,19 +48216,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(providencia sign language) => [ - q(5607), + q(5606), q(0), ], q(prussian) => [ - q(5591), + q(5590), q(0), ], q(psikye) => [ - q(3675), + q(3674), q(0), ], q(pu ko) => [ - q(5649), + q(5648), q(0), ], q(pu-xian chinese) => [ @@ -48202,7 +48236,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(puare) => [ - q(5658), + q(5657), q(0), ], q(pudtol atta) => [ @@ -48210,23 +48244,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(puelche) => [ - q(5644), + q(5643), q(0), ], q(puerto rican sign language) => [ - q(5615), + q(5614), q(0), ], q(puimei naga) => [ - q(5040), + q(5039), q(0), ], q(puinave) => [ - q(5647), + q(5646), q(0), ], q(pukapuka) => [ - q(5480), + q(5479), q(0), ], q(pulaar) => [ @@ -48234,7 +48268,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(pulabu) => [ - q(5652), + q(5651), q(0), ], q(pular) => [ @@ -48242,47 +48276,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(puluwatese) => [ - q(5657), + q(5656), q(0), ], q(puma) => [ - q(5650), + q(5649), q(0), ], q(pume) => [ - q(7578), + q(7577), q(0), ], q(pumpokol) => [ - q(7463), + q(7462), q(0), ], q(punan aput) => [ - q(5643), + q(5642), q(0), ], q(punan bah-biau) => [ - q(5529), + q(5528), q(0), ], q(punan batu 1) => [ - q(5539), + q(5538), q(0), ], q(punan merah) => [ - q(5645), + q(5644), q(0), ], q(punan merap) => [ - q(5642), + q(5641), q(0), ], q(punan tubu) => [ - q(5648), + q(5647), q(0), ], q(punic) => [ - q(7471), + q(7470), q(0), ], q(punjabi) => [ @@ -48290,59 +48324,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(puno quechua) => [ - q(5726), + q(5725), q(0), ], q(punthamara) => [ - q(7470), + q(7469), q(0), ], q(punu) => [ - q(5656), + q(5655), q(0), ], q(puoc) => [ - q(5651), + q(5650), q(0), ], q(puquina) => [ - q(5653), + q(5652), q(0), ], q(puragi) => [ - q(5603), + q(5602), q(0), ], q(purari) => [ - q(2887), + q(2886), q(0), ], q(purepecha) => [ - q(6733), + q(6732), q(0), ], q(puri) => [ - q(5600), + q(5599), q(0), ], q(purik) => [ - q(5605), + q(5604), q(0), ], q(purisimeno) => [ - q(5659), + q(5658), q(0), ], q(puroik) => [ - q(6286), + q(6285), q(0), ], q(purubora) => [ - q(5654), + q(5653), q(0), ], q(purum) => [ - q(5641), + q(5640), q(0), ], q(pushto) => [ @@ -48350,11 +48384,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(putai) => [ - q(4235), + q(4234), q(0), ], q(putoh) => [ - q(5655), + q(5654), q(0), ], q(putukwam) => [ @@ -48362,63 +48396,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(puyo) => [ - q(7472), + q(7471), q(0), ], q(puyo-paekche) => [ - q(7466), + q(7465), q(0), ], q(puyuma) => [ - q(5674), + q(5673), q(0), ], q(pwaamei) => [ - q(5511), + q(5510), q(0), ], q(pwapwa) => [ - q(5563), + q(5562), q(0), ], q(pwo eastern karen) => [ - q(3392), + q(3391), q(0), ], q(pwo northern karen) => [ - q(5668), + q(5667), q(0), ], q(pwo western karen) => [ - q(5666), + q(5665), q(0), ], q(pyapun) => [ - q(5395), + q(5394), q(0), ], q(pye krumen) => [ - q(5670), + q(5669), q(0), ], q(pyen) => [ - q(5676), + q(5675), q(0), ], q(pyu (myanmar)) => [ - q(5675), + q(5674), q(0), ], q(pyu (papua new guinea)) => [ - q(5379), + q(5378), q(0), ], q(q'anjob'al) => [ - q(3378), + q(3377), q(0), ], q(qabiao) => [ - q(3804), + q(3803), q(0), ], q(qaqet) => [ @@ -48426,15 +48460,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(qashqa'i) => [ - q(5727), + q(5726), q(0), ], q(qatabanian) => [ - q(7474), + q(7473), q(0), ], q(qau) => [ - q(2613), + q(2612), q(0), ], q(qawasqar) => [ @@ -48454,7 +48488,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(quapaw) => [ - q(5678), + q(5677), q(0), ], q(quebec sign language) => [ @@ -48474,19 +48508,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(quenya) => [ - q(5733), + q(5732), q(0), ], q(queretaro otomi) => [ - q(5324), + q(5323), q(0), ], q(quetzaltepec mixe) => [ - q(5669), + q(5668), q(0), ], q(queyu) => [ - q(5712), + q(5711), q(0), ], q(quiavicuzas zapotec) => [ @@ -48494,19 +48528,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(quiche) => [ - q(5680), + q(5679), q(1), ], q(quileute) => [ - q(5685), + q(5684), q(0), ], q(quinault) => [ - q(5689), + q(5688), q(0), ], q(quinqui) => [ - q(5691), + q(5690), q(0), ], q(quioquitani-quieri zapotec) => [ @@ -48518,27 +48552,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(quiripi) => [ - q(5734), + q(5733), q(0), ], q(rabha) => [ - q(5741), + q(5740), q(0), ], q(rade) => [ - q(5738), + q(5737), q(0), ], q(raetic) => [ - q(7484), + q(7483), q(0), ], q(rahambuu) => [ - q(5756), + q(5755), q(0), ], q(rajah kabunsuwan manobo) => [ - q(4489), + q(4488), q(0), ], q(rajasthani) => [ @@ -48546,75 +48580,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(rajbanshi) => [ - q(5796), + q(5795), q(0), ], q(raji) => [ - q(5795), + q(5794), q(0), ], q(rajong) => [ - q(5794), + q(5793), q(0), ], q(rajput garasia) => [ - q(2614), + q(2613), q(0), ], q(rakahanga-manihiki) => [ - q(5799), + q(5798), q(0), ], q(rakhine) => [ - q(5800), + q(5799), q(0), ], q(ralte) => [ - q(5744), + q(5743), q(0), ], q(rama) => [ - q(5804), + q(5803), q(0), ], q(ramoaaina) => [ - q(5742), + q(5741), q(0), ], q(ramopa) => [ - q(3399), + q(3398), q(0), ], q(rampi) => [ - q(3932), + q(3931), q(0), ], q(rana tharu) => [ - q(6508), + q(6507), q(0), ], q(rang) => [ - q(5754), + q(5753), q(0), ], q(rangkas) => [ - q(5778), + q(5777), q(0), ], q(ranglong) => [ - q(5831), + q(5830), q(0), ], q(rangpuri) => [ - q(5802), + q(5801), q(0), ], q(rao) => [ - q(5747), + q(5746), q(0), ], q(rapa) => [ - q(5755), + q(5754), q(0), ], q(rapanui) => [ @@ -48622,15 +48656,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(rapoisi) => [ - q(3764), + q(3763), q(0), ], q(rapting) => [ - q(5849), + q(5848), q(0), ], q(rara bakati') => [ - q(4041), + q(4040), q(0), ], q(rarotongan) => [ @@ -48638,7 +48672,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(rasawa) => [ - q(5737), + q(5736), q(0), ], q(ratagnon) => [ @@ -48646,11 +48680,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ratahan) => [ - q(5857), + q(5856), q(0), ], q(rathawi) => [ - q(5860), + q(5859), q(0), ], q(rathwi bareli) => [ @@ -48658,31 +48692,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(raute) => [ - q(5751), + q(5750), q(0), ], q(ravula) => [ - q(7620), + q(7619), q(0), ], q(rawa) => [ - q(5878), + q(5877), q(0), ], q(rawang) => [ - q(5753), + q(5752), q(0), ], q(rawat) => [ - q(3132), + q(3131), q(0), ], q(rawngtu chin) => [ - q(7112), + q(7111), q(0), ], q(rawo) => [ - q(5875), + q(5874), q(0), ], q(rayon zoque) => [ @@ -48690,7 +48724,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(razajerdi) => [ - q(5750), + q(5749), q(0), ], q(red gelao) => [ @@ -48702,15 +48736,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(rejang) => [ - q(5768), + q(5767), q(0), ], q(rejang kayan) => [ - q(5765), + q(5764), q(0), ], q(reli) => [ - q(5767), + q(5766), q(0), ], q(rema) => [ @@ -48718,15 +48752,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(rembarunga) => [ - q(5805), + q(5804), q(0), ], q(rembong) => [ - q(5764), + q(5763), q(0), ], q(remo) => [ - q(5770), + q(5769), q(0), ], q(remontado dumagat) => [ @@ -48734,43 +48768,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(rempi) => [ - q(5818), + q(5817), q(0), ], q(remun) => [ - q(3945), + q(3944), q(0), ], q(rendille) => [ - q(5769), + q(5768), q(0), ], q(rengao) => [ - q(5771), + q(5770), q(0), ], q(rennell-bellona) => [ - q(4431), + q(4430), q(0), ], q(rennellese sign language) => [ - q(5854), + q(5853), q(0), ], q(repanbitip) => [ - q(5848), + q(5847), q(0), ], q(rer bare) => [ - q(5772), + q(5771), q(0), ], q(rerau) => [ - q(5763), + q(5762), q(0), ], q(rerep) => [ - q(5429), + q(5428), q(0), ], q(reserved for local use) => [ @@ -48778,51 +48812,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(reshe) => [ - q(5773), + q(5772), q(0), ], q(resigaro) => [ - q(5780), + q(5779), q(0), ], q(retta) => [ - q(5774), + q(5773), q(0), ], q(reunion creole french) => [ - q(5761), + q(5760), q(0), ], q(reyesano) => [ - q(5775), + q(5774), q(0), ], q(riang (india)) => [ - q(5785), + q(5784), q(0), ], q(riang (myanmar)) => [ - q(5788), + q(5787), q(0), ], q(riantana) => [ - q(5746), + q(5745), q(0), ], q(ribun) => [ - q(5791), + q(5790), q(0), ], q(rien) => [ - q(5786), + q(5785), q(0), ], q(rifao) => [ - q(4983), + q(4982), q(1), ], q(rikbaktsa) => [ - q(5798), + q(5797), q(0), ], q(rincon zapotec) => [ @@ -48834,43 +48868,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ringgou) => [ - q(5782), + q(5781), q(0), ], q(ririo) => [ - q(5850), + q(5849), q(0), ], q(ritarungo) => [ - q(5792), + q(5791), q(0), ], q(riung) => [ - q(5793), + q(5792), q(0), ], q(riverain sango) => [ - q(6141), + q(6140), q(0), ], q(rogo) => [ - q(5838), + q(5837), q(0), ], q(rohingya) => [ - q(5783), + q(5782), q(0), ], q(roma) => [ - q(5815), + q(5814), q(0), ], q(romagnol) => [ - q(5779), + q(5778), q(0), ], q(romam) => [ - q(5825), + q(5824), q(0), ], q(romance languages) => [ @@ -48882,19 +48916,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(romanian sign language) => [ - q(5820), + q(5819), q(0), ], q(romano-greek) => [ - q(5777), + q(5776), q(0), ], q(romano-serbian) => [ - q(5853), + q(5852), q(0), ], q(romanova) => [ - q(5823), + q(5822), q(0), ], q(romansh) => [ @@ -48906,15 +48940,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(romblomanon) => [ - q(5842), + q(5841), q(0), ], q(rombo) => [ - q(5840), + q(5839), q(0), ], q(romkun) => [ - q(5813), + q(5812), q(0), ], q(ron) => [ @@ -48922,59 +48956,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ronga) => [ - q(5830), + q(5829), q(0), ], q(rongga) => [ - q(5845), + q(5844), q(0), ], q(rongmei naga) => [ - q(4757), + q(4756), q(0), ], q(rongpo) => [ - q(5833), + q(5832), q(0), ], q(ronji) => [ - q(5839), + q(5838), q(0), ], q(roon) => [ - q(5832), + q(5831), q(0), ], q(roria) => [ - q(5776), + q(5775), q(0), ], q(rotokas) => [ - q(5843), + q(5842), q(0), ], q(rotuman) => [ - q(5858), + q(5857), q(0), ], q(roviana) => [ - q(5865), + q(5864), q(0), ], q(ruching palaung) => [ - q(5384), + q(5383), q(0), ], q(rudbari) => [ - q(5762), + q(5761), q(0), ], q(rufiji) => [ - q(5867), + q(5866), q(0), ], q(ruga) => [ - q(5866), + q(5865), q(0), ], q(rukai) => [ @@ -48982,19 +49016,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ruma) => [ - q(5874), + q(5873), q(0), ], q(rumai palaung) => [ - q(5757), + q(5756), q(0), ], q(rumu) => [ - q(3444), + q(3443), q(0), ], q(runa) => [ - q(5828), + q(5827), q(0), ], q(rundi) => [ @@ -49002,11 +49036,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(runga) => [ - q(5846), + q(5845), q(0), ], q(rungtu chin) => [ - q(5856), + q(5855), q(0), ], q(rungus) => [ @@ -49014,7 +49048,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(rungwa) => [ - q(5835), + q(5834), q(0), ], q(russia buriat) => [ @@ -49026,35 +49060,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(russian sign language) => [ - q(5855), + q(5854), q(0), ], q(rusyn) => [ - q(5863), + q(5862), q(0), ], q(rutul) => [ - q(5871), + q(5870), q(0), ], q(ruuli) => [ - q(5862), + q(5861), q(0), ], q(ruund) => [ - q(5829), + q(5828), q(0), ], q(rwa) => [ - q(5876), + q(5875), q(0), ], q(s'gaw karen) => [ - q(3615), + q(3614), q(0), ], q(sa) => [ - q(5898), + q(5897), q(0), ], q(sa'a) => [ @@ -49062,35 +49096,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sa'ban) => [ - q(6151), + q(6150), q(0), ], q(sa'och) => [ - q(5936), + q(5935), q(0), ], q(saafi-saafi) => [ - q(5896), + q(5895), q(0), ], q(saam) => [ - q(5748), + q(5747), q(0), ], q(saamia) => [ - q(4062), + q(4061), q(0), ], q(saaroa) => [ - q(6330), + q(6329), q(0), ], q(saba) => [ - q(5885), + q(5884), q(0), ], q(sabaean) => [ - q(7488), + q(7487), q(0), ], q(sabah bisaya) => [ @@ -49098,47 +49132,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sabah malay) => [ - q(4537), + q(4536), q(0), ], q(sabane) => [ - q(5888), + q(5887), q(0), ], q(sabaot) => [ - q(6196), + q(6195), q(0), ], q(sabine) => [ - q(5922), + q(5921), q(0), ], q(sabu) => [ - q(2878), + q(2877), q(0), ], q(sabum) => [ - q(5915), + q(5914), q(0), ], q(sacapulteco) => [ - q(5694), + q(5693), q(0), ], q(sadri) => [ - q(5933), + q(5932), q(0), ], q(saek) => [ - q(6071), + q(6070), q(0), ], q(saep) => [ - q(6179), + q(6178), q(0), ], q(safaliba) => [ - q(5889), + q(5888), q(0), ], q(safeyoka) => [ @@ -49146,23 +49180,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(safwa) => [ - q(5911), + q(5910), q(0), ], q(sagala) => [ - q(5913), + q(5912), q(0), ], q(sagalla) => [ - q(6474), + q(6473), q(0), ], q(saho) => [ - q(6251), + q(6250), q(0), ], q(sahu) => [ - q(5890), + q(5889), q(0), ], q(saidi arabic) => [ @@ -49174,23 +49208,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(saisiyat) => [ - q(7505), + q(7504), q(0), ], q(sajalong) => [ - q(6060), + q(6059), q(0), ], q(sajau basap) => [ - q(6055), + q(6054), q(0), ], q(sakachep) => [ - q(5931), + q(5930), q(0), ], q(sakalava malagasy) => [ - q(6076), + q(6075), q(0), ], q(sakan) => [ @@ -49198,59 +49232,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(sakao) => [ - q(6089), + q(6088), q(0), ], q(sakata) => [ - q(6088), + q(6087), q(0), ], q(sake) => [ - q(5891), + q(5890), q(0), ], q(sakirabia) => [ - q(6075), + q(6074), q(0), ], q(sala) => [ - q(6023), + q(6022), q(0), ], q(salako) => [ - q(3501), + q(3500), q(1), ], q(salampasu) => [ - q(6112), + q(6111), q(0), ], q(salar) => [ - q(6107), + q(6106), q(0), ], q(salas) => [ - q(6004), + q(6003), q(0), ], q(salasaca highland quichua) => [ - q(5723), + q(5722), q(0), ], q(salchuq) => [ - q(6106), + q(6105), q(0), ], q(saleman) => [ - q(5895), + q(5894), q(0), ], q(saliba) => [ - q(5905), + q(5904), q(0), ], q(salinan) => [ - q(6104), + q(6103), q(0), ], q(salishan languages) => [ @@ -49258,19 +49292,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sallands) => [ - q(5961), + q(5960), q(0), ], q(salt-yui) => [ - q(6102), + q(6101), q(0), ], q(saluan) => [ - q(4016), + q(4015), q(0), ], q(saluma) => [ - q(6101), + q(6100), q(0), ], q(salvadoran sign language) => [ @@ -49278,15 +49312,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sam) => [ - q(6153), + q(6152), q(0), ], q(sama) => [ - q(6117), + q(6116), q(0), ], q(samaritan) => [ - q(6124), + q(6123), q(0), ], q(samaritan aramaic) => [ @@ -49294,7 +49328,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(samarokena) => [ - q(6594), + q(6593), q(0), ], q(samatao) => [ @@ -49302,11 +49336,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(samay) => [ - q(6344), + q(6343), q(0), ], q(samba) => [ - q(6131), + q(6130), q(0), ], q(samba daka) => [ @@ -49314,31 +49348,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(samba leko) => [ - q(4790), + q(4789), q(0), ], q(sambal) => [ - q(7489), + q(7488), q(0), ], q(sambalpuri) => [ - q(6194), + q(6193), q(0), ], q(sambe) => [ - q(7272), + q(7271), q(0), ], q(samberigi) => [ - q(6250), + q(6249), q(0), ], q(samburu) => [ - q(5893), + q(5892), q(0), ], q(samei) => [ - q(6120), + q(6119), q(0), ], q(sami languages) => [ @@ -49346,7 +49380,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(samo) => [ - q(6125), + q(6124), q(0), ], q(samoan) => [ @@ -49354,11 +49388,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(samogitian) => [ - q(6002), + q(6001), q(0), ], q(samosa) => [ - q(6308), + q(6307), q(0), ], q(samoyedic languages) => [ @@ -49366,19 +49400,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sampang) => [ - q(5752), + q(5751), q(0), ], q(samre) => [ - q(6327), + q(6326), q(0), ], q(samtao) => [ - q(6272), + q(6271), q(0), ], q(samvedi) => [ - q(6129), + q(6128), q(0), ], q(san agustin mixtepec zapotec) => [ @@ -49394,31 +49428,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(san dionisio del mar huave) => [ - q(2876), + q(2875), q(0), ], q(san felipe otlaltepec popoloca) => [ - q(5568), + q(5567), q(0), ], q(san francisco del mar huave) => [ - q(2855), + q(2854), q(0), ], q(san francisco matlatzinca) => [ - q(4121), + q(4120), q(0), ], q(san jeronimo tecoatl mazatec) => [ - q(4114), + q(4113), q(0), ], q(san juan atzingo popoloca) => [ - q(5555), + q(5554), q(0), ], q(san juan colorado mixtec) => [ - q(4320), + q(4319), q(0), ], q(san juan guelavia zapotec) => [ @@ -49426,43 +49460,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(san juan teita mixtec) => [ - q(7514), + q(7513), q(0), ], q(san luis temalacayuca popoloca) => [ - q(5581), + q(5580), q(0), ], q(san marcos tlacoyalco popoloca) => [ - q(5500), + q(5499), q(0), ], q(san marcos tlalcoyalco popoloca) => [ - q(5500), + q(5499), q(1), ], q(san martin itunyoso triqui) => [ - q(6702), + q(6701), q(0), ], q(san martin quechua) => [ - q(5710), + q(5709), q(0), ], q(san mateo del mar huave) => [ - q(2870), + q(2869), q(0), ], q(san miguel creole french) => [ - q(5929), + q(5928), q(0), ], q(san miguel el grande mixtec) => [ - q(4303), + q(4302), q(0), ], q(san miguel piedras mixtec) => [ - q(7519), + q(7518), q(0), ], q(san pedro amuzgos amuzgo) => [ @@ -49474,7 +49508,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(san salvador kongo) => [ - q(3715), + q(3714), q(0), ], q(san vicente coatlan zapotec) => [ @@ -49486,7 +49520,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sanapana) => [ - q(6186), + q(6185), q(0), ], q(sandawe) => [ @@ -49494,35 +49528,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sanga (democratic republic of congo)) => [ - q(6138), + q(6137), q(0), ], q(sanga (nigeria)) => [ - q(7497), + q(7496), q(0), ], q(sanggau) => [ - q(5930), + q(5929), q(0), ], q(sangil) => [ - q(6142), + q(6141), q(0), ], q(sangir) => [ - q(6328), + q(6327), q(0), ], q(sangisari) => [ - q(6001), + q(6000), q(0), ], q(sangkong) => [ - q(5998), + q(5997), q(0), ], q(sanglechi) => [ - q(6007), + q(6006), q(0), ], q(sango) => [ @@ -49530,15 +49564,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sangtam naga) => [ - q(5065), + q(5064), q(0), ], q(sangu (gabon)) => [ - q(6147), + q(6146), q(0), ], q(sangu (tanzania)) => [ - q(5916), + q(5915), q(0), ], q(sani) => [ @@ -49550,15 +49584,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(saniyo-hiyewe) => [ - q(6154), + q(6153), q(0), ], q(sankaran maninka) => [ - q(4531), + q(4530), q(0), ], q(sansi) => [ - q(6236), + q(6235), q(0), ], q(sanskrit) => [ @@ -49566,7 +49600,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(santa ana de tusi pasco quechua) => [ - q(5730), + q(5729), q(0), ], q(santa catarina albarradas zapotec) => [ @@ -49574,7 +49608,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(santa ines ahuatempan popoloca) => [ - q(5380), + q(5379), q(0), ], q(santa ines yatzechi zapotec) => [ @@ -49582,15 +49616,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(santa lucia monteverde mixtec) => [ - q(4196), + q(4195), q(0), ], q(santa maria del mar huave) => [ - q(2879), + q(2878), q(0), ], q(santa maria la alta nahuatl) => [ - q(4881), + q(4880), q(0), ], q(santa maria quiegolani zapotec) => [ @@ -49598,7 +49632,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(santa maria zacatepec mixtec) => [ - q(4693), + q(4692), q(0), ], q(santa teresa cora) => [ @@ -49610,7 +49644,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(santiago del estero quichua) => [ - q(5693), + q(5692), q(0), ], q(santiago xanica zapotec) => [ @@ -49622,7 +49656,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sanuma) => [ - q(7503), + q(7502), q(0), ], q(sao paulo kaingang) => [ @@ -49634,55 +49668,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(saparua) => [ - q(6190), + q(6189), q(0), ], q(sape) => [ - q(6178), + q(6177), q(0), ], q(sapo) => [ - q(3583), + q(3582), q(0), ], q(saponi) => [ - q(6182), + q(6181), q(0), ], q(saposa) => [ - q(6191), + q(6190), q(0), ], q(sapuan) => [ - q(6193), + q(6192), q(0), ], q(sar) => [ - q(4633), + q(4632), q(0), ], q(sara) => [ - q(6211), + q(6210), q(0), ], q(sara kaba) => [ - q(5926), + q(5925), q(0), ], q(sara kaba deme) => [ - q(3698), + q(3697), q(0), ], q(sara kaba naa) => [ - q(3712), + q(3711), q(0), ], q(saraiki) => [ - q(6086), + q(6085), q(0), ], q(saramaccan) => [ - q(6218), + q(6217), q(0), ], q(sarangani blaan) => [ @@ -49690,7 +49724,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sarangani manobo) => [ - q(4144), + q(4143), q(0), ], q(sarasira) => [ @@ -49698,7 +49732,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(saraveca) => [ - q(5894), + q(5893), q(0), ], q(sardinian) => [ @@ -49710,31 +49744,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sarikoli) => [ - q(6214), + q(6213), q(0), ], q(sarli) => [ - q(5946), + q(5945), q(0), ], q(sarsi) => [ - q(6221), + q(6220), q(0), ], q(sartang) => [ - q(5275), + q(5274), q(0), ], q(sarua) => [ - q(6320), + q(6319), q(0), ], q(sarudu) => [ - q(5959), + q(5958), q(0), ], q(saruga) => [ - q(6208), + q(6207), q(0), ], q(sasak) => [ @@ -49742,83 +49776,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sasaru) => [ - q(6331), + q(6330), q(0), ], q(sassarese sardinian) => [ - q(5944), + q(5943), q(0), ], q(satawalese) => [ - q(6274), + q(6273), q(0), ], q(satere-mawe) => [ - q(4123), + q(4122), q(0), ], q(saterfriesisch) => [ - q(6268), + q(6267), q(0), ], q(saudi arabian sign language) => [ - q(5951), + q(5950), q(0), ], q(sauraseni prakrit) => [ - q(5624), + q(5623), q(0), ], q(saurashtra) => [ - q(5900), + q(5899), q(0), ], q(sauri) => [ - q(6222), + q(6221), q(0), ], q(sauria paharia) => [ - q(4336), + q(4335), q(0), ], q(sause) => [ - q(5892), + q(5891), q(0), ], q(sausi) => [ - q(6237), + q(6236), q(0), ], q(savara) => [ - q(6296), + q(6295), q(0), ], q(savi) => [ - q(5947), + q(5946), q(0), ], q(savosavo) => [ - q(6297), + q(6296), q(0), ], q(sawai) => [ - q(6356), + q(6355), q(0), ], q(saweru) => [ - q(6313), + q(6312), q(0), ], q(sawi) => [ - q(5897), + q(5896), q(0), ], q(sawila) => [ - q(6315), + q(6314), q(0), ], q(sawknah) => [ - q(6309), + q(6308), q(0), ], q(saxon, low) => [ @@ -49826,15 +49860,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(3), ], q(saxwe gbe) => [ - q(6333), + q(6332), q(0), ], q(saya) => [ - q(5899), + q(5898), q(0), ], q(sayula popoluca) => [ - q(5565), + q(5564), q(0), ], q(scots) => [ @@ -49846,139 +49880,139 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(scythian) => [ - q(7490), + q(7489), q(0), ], q(sea island creole english) => [ - q(2652), + q(2651), q(0), ], q(seba) => [ - q(3239), + q(3238), q(0), ], q(sebat bet gurage) => [ - q(6005), + q(6004), q(0), ], q(seberuang) => [ - q(5924), + q(5923), q(0), ], q(sebop) => [ - q(6034), + q(6033), q(0), ], q(sebuyau) => [ - q(6134), + q(6133), q(0), ], q(sechelt) => [ - q(5964), + q(5963), q(0), ], q(secoya) => [ - q(5983), + q(5982), q(0), ], q(sedang) => [ - q(5965), + q(5964), q(0), ], q(sedoa) => [ - q(6789), + q(6788), q(0), ], q(seeku) => [ - q(6170), + q(6169), q(0), ], q(segai) => [ - q(5993), + q(5992), q(0), ], q(segeju) => [ - q(5968), + q(5967), q(0), ], q(seget) => [ - q(5907), + q(5906), q(0), ], q(sehwi) => [ - q(5989), + q(5988), q(0), ], q(seimat) => [ - q(6234), + q(6233), q(0), ], q(seit-kaitetu) => [ - q(2761), + q(2760), q(0), ], q(sekani) => [ - q(5972), + q(5971), q(0), ], q(sekapan) => [ - q(6084), + q(6083), q(0), ], q(sekar) => [ - q(6094), + q(6093), q(0), ], q(seke (nepal)) => [ - q(6079), + q(6078), q(0), ], q(seke (vanuatu)) => [ - q(6074), + q(6073), q(0), ], q(sekele) => [ - q(6974), + q(6973), q(0), ], q(seki) => [ - q(6336), + q(6335), q(0), ], q(seko padang) => [ - q(6092), + q(6091), q(0), ], q(seko tengah) => [ - q(6083), + q(6082), q(0), ], q(sekpele) => [ - q(3921), + q(3920), q(0), ], q(selangor sign language) => [ - q(3315), + q(3314), q(0), ], q(selaru) => [ - q(6110), + q(6109), q(0), ], q(selayar) => [ - q(6113), + q(6112), q(0), ], q(selee) => [ - q(6152), + q(6151), q(0), ], q(selepet) => [ - q(6184), + q(6183), q(0), ], q(selian) => [ - q(6326), + q(6325), q(0), ], q(selkup) => [ @@ -49986,31 +50020,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(selungai murut) => [ - q(6098), + q(6097), q(0), ], q(seluwasan) => [ - q(6314), + q(6313), q(0), ], q(semai) => [ - q(5962), + q(5961), q(0), ], q(semandang) => [ - q(5952), + q(5951), q(0), ], q(semaq beri) => [ - q(6348), + q(6347), q(0), ], q(sembakung murut) => [ - q(5918), + q(5917), q(0), ], q(semelai) => [ - q(6346), + q(6345), q(0), ], q(semimi) => [ @@ -50022,83 +50056,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(semnam) => [ - q(6240), + q(6239), q(0), ], q(semnani) => [ - q(6132), + q(6131), q(0), ], q(sempan) => [ - q(7492), + q(7491), q(0), ], q(sena) => [ - q(5969), + q(5968), q(0), ], q(senara senoufo) => [ - q(5976), + q(5975), q(0), ], q(senaya) => [ - q(6340), + q(6339), q(0), ], q(sene) => [ - q(5971), + q(5970), q(0), ], q(seneca) => [ - q(5966), + q(5965), q(0), ], q(sened) => [ - q(5957), + q(5956), q(0), ], q(sengele) => [ - q(6351), + q(6350), q(0), ], q(senggi) => [ - q(6150), + q(6149), q(0), ], q(sengo) => [ - q(6183), + q(6182), q(0), ], q(sengseng) => [ - q(6252), + q(6251), q(0), ], q(senhaja de srair) => [ - q(6066), + q(6065), q(0), ], q(sensi) => [ - q(6140), + q(6139), q(0), ], q(sentani) => [ - q(5979), + q(5978), q(0), ], q(senthang chin) => [ - q(5984), + q(5983), q(0), ], q(sentinel) => [ - q(6255), + q(6254), q(0), ], q(sepa (indonesia)) => [ - q(6177), + q(6176), q(0), ], q(sepa (papua new guinea)) => [ - q(6180), + q(6179), q(0), ], q(sepedi) => [ @@ -50106,15 +50140,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(sepik iwam) => [ - q(3031), + q(3030), q(0), ], q(sera) => [ - q(6227), + q(6226), q(0), ], q(seraiki) => [ - q(6086), + q(6085), q(1), ], q(serbian) => [ @@ -50126,7 +50160,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sere) => [ - q(6301), + q(6300), q(0), ], q(serer) => [ @@ -50134,35 +50168,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(seri) => [ - q(5970), + q(5969), q(0), ], q(serili) => [ - q(6293), + q(6292), q(0), ], q(seroa) => [ - q(3567), + q(3566), q(0), ], q(serrano) => [ - q(5977), + q(5976), q(0), ], q(seru) => [ - q(6349), + q(6348), q(0), ], q(serua) => [ - q(6225), + q(6224), q(0), ], q(serudung murut) => [ - q(6216), + q(6215), q(0), ], q(serui-laut) => [ - q(5980), + q(5979), q(0), ], q(seselwa creole french) => [ @@ -50170,67 +50204,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(seta) => [ - q(6257), + q(6256), q(0), ], q(setaman) => [ - q(6264), + q(6263), q(0), ], q(seti) => [ - q(5909), + q(5908), q(0), ], q(settla) => [ - q(6253), + q(6252), q(0), ], q(severn ojibwa) => [ - q(5221), + q(5220), q(0), ], q(sewa bay) => [ - q(5982), + q(5981), q(0), ], q(seze) => [ - q(6350), + q(6349), q(0), ], q(sha) => [ - q(5940), + q(5939), q(0), ], q(shabak) => [ - q(5943), + q(5942), q(0), ], q(shabo) => [ - q(5906), + q(5905), q(1), ], q(shahmirzadi) => [ - q(6228), + q(6227), q(0), ], q(shahrudi) => [ - q(6020), + q(6019), q(0), ], q(shall-zwall) => [ - q(6009), + q(6008), q(0), ], q(shama-sambuga) => [ - q(6197), + q(6196), q(0), ], q(shamang) => [ - q(7493), + q(7492), q(0), ], q(shambala) => [ - q(3594), + q(3593), q(0), ], q(shan) => [ @@ -50238,79 +50272,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(shanenawa) => [ - q(6310), + q(6309), q(0), ], q(shanga) => [ - q(6021), + q(6020), q(0), ], q(shangzhai) => [ - q(3097), + q(3096), q(1), ], q(sharanahua) => [ - q(4155), + q(4154), q(0), ], q(shark bay) => [ - q(6249), + q(6248), q(0), ], q(sharwa) => [ - q(6312), + q(6311), q(0), ], q(shasta) => [ - q(6026), + q(6025), q(0), ], q(shatt) => [ - q(6017), + q(6016), q(0), ], q(shau) => [ - q(6198), + q(6197), q(0), ], q(shawnee) => [ - q(6069), + q(6068), q(0), ], q(she) => [ - q(6030), + q(6029), q(0), ], q(shehri) => [ - q(6028), + q(6027), q(0), ], q(shekhawati) => [ - q(6317), + q(6316), q(0), ], q(shekkacho) => [ - q(4453), + q(4452), q(0), ], q(sheko) => [ - q(6013), + q(6012), q(0), ], q(shelta) => [ - q(6259), + q(6258), q(0), ], q(shempire senoufo) => [ - q(5963), + q(5962), q(0), ], q(shendu) => [ - q(6019), + q(6018), q(0), ], q(sheni) => [ - q(5939), + q(5938), q(0), ], q(sherbro) => [ @@ -50318,55 +50352,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sherdukpen) => [ - q(5955), + q(5954), q(0), ], q(sherpa) => [ - q(7501), + q(7500), q(0), ], q(sheshi kham) => [ - q(3367), + q(3366), q(0), ], q(shi) => [ - q(6024), + q(6023), q(0), ], q(shihhi arabic) => [ - q(6235), + q(6234), q(0), ], q(shiki) => [ - q(2642), + q(2641), q(0), ], q(shilluk) => [ - q(6018), + q(6017), q(0), ], q(shina) => [ - q(5934), + q(5933), q(0), ], q(shinabo) => [ - q(6139), + q(6138), q(0), ], q(shipibo-conibo) => [ - q(6022), + q(6021), q(0), ], q(shixing) => [ - q(6324), + q(6323), q(0), ], q(sholaga) => [ - q(6096), + q(6095), q(0), ], q(shom peng) => [ - q(6039), + q(6038), q(0), ], q(shona) => [ @@ -50382,99 +50416,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(shoshoni) => [ - q(6015), + q(6014), q(0), ], q(shua) => [ - q(6014), + q(6013), q(0), ], q(shuadit) => [ - q(5958), + q(5957), q(0), ], q(shuar) => [ - q(3105), + q(3104), q(0), ], q(shubi) => [ - q(6282), + q(6281), q(0), ], q(shughni) => [ - q(5995), + q(5994), q(0), ], q(shumashti) => [ - q(6270), + q(6269), q(0), ], q(shumcho) => [ - q(5938), + q(5937), q(0), ], q(shuswap) => [ - q(6025), + q(6024), q(0), ], q(shuwa-zamani) => [ - q(3593), + q(3592), q(0), ], q(shwai) => [ - q(6029), + q(6028), q(0), ], q(shwe palaung) => [ - q(5494), + q(5493), q(0), ], q(sialum) => [ - q(6111), + q(6110), q(0), ], q(siamou) => [ - q(6036), + q(6035), q(0), ], q(sian) => [ - q(6181), + q(6180), q(0), ], q(siane) => [ - q(6146), + q(6145), q(0), ], q(siang) => [ - q(6334), + q(6333), q(0), ], q(siar-lak) => [ - q(6065), + q(6064), q(0), ], q(siawi) => [ - q(4404), + q(4403), q(0), ], q(sibe) => [ - q(4775), + q(4774), q(0), ], q(siberian tatar) => [ - q(6275), + q(6274), q(0), ], q(sibu melanau) => [ - q(5960), + q(5959), q(0), ], q(sicanian) => [ - q(6322), + q(6321), q(0), ], q(sicel) => [ - q(5941), + q(5940), q(0), ], q(sichuan yi) => [ @@ -50486,11 +50520,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sicite senoufo) => [ - q(5975), + q(5974), q(0), ], q(siculo arabic) => [ - q(6204), + q(6203), q(0), ], q(sidamo) => [ @@ -50498,7 +50532,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sidetic) => [ - q(7491), + q(7490), q(0), ], q(sie) => [ @@ -50510,15 +50544,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sierra leone sign language) => [ - q(6006), + q(6005), q(0), ], q(sierra negra nahuatl) => [ - q(5082), + q(5081), q(0), ], q(sighu) => [ - q(6323), + q(6322), q(0), ], q(sign languages) => [ @@ -50526,31 +50560,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sihan) => [ - q(6148), + q(6147), q(0), ], q(sihuas ancash quechua) => [ - q(5718), + q(5717), q(0), ], q(sika) => [ - q(6078), + q(6077), q(0), ], q(sikaiana) => [ - q(6093), + q(6092), q(0), ], q(sikaritai) => [ - q(6757), + q(6756), q(0), ], q(sikiana) => [ - q(6041), + q(6040), q(0), ], q(sikkimese) => [ - q(6044), + q(6043), q(0), ], q(siksika) => [ @@ -50558,87 +50592,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sikule) => [ - q(6077), + q(6076), q(0), ], q(sila) => [ - q(6109), + q(6108), q(0), ], q(silacayoapan mixtec) => [ - q(4359), + q(4358), q(0), ], q(sileibi) => [ - q(5917), + q(5916), q(0), ], q(silesian) => [ - q(6352), + q(6351), q(0), ], q(silimo) => [ - q(7249), + q(7248), q(0), ], q(siliput) => [ - q(4345), + q(4344), q(0), ], q(silopi) => [ - q(7499), + q(7498), q(0), ], q(silt'e) => [ - q(6273), + q(6272), q(0), ], q(simaa) => [ - q(6035), + q(6034), q(0), ], q(simba) => [ - q(5923), + q(5922), q(0), ], q(simbali) => [ - q(6119), + q(6118), q(0), ], q(simbari) => [ - q(6115), + q(6114), q(0), ], q(simbo) => [ - q(5902), + q(5901), q(0), ], q(simeku) => [ - q(6133), + q(6132), q(0), ], q(simeulue) => [ - q(6126), + q(6125), q(0), ], q(simte) => [ - q(6127), + q(6126), q(0), ], q(sinagen) => [ - q(6048), + q(6047), q(0), ], q(sinasina) => [ - q(6247), + q(6246), q(0), ], q(sinaugoro) => [ - q(6135), + q(6134), q(0), ], q(sindarin) => [ - q(6062), + q(6061), q(0), ], q(sindhi) => [ @@ -50646,23 +50680,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sindhi bhil) => [ - q(5914), + q(5913), q(0), ], q(sindihui mixtec) => [ - q(7522), + q(7521), q(0), ], q(singa) => [ - q(5999), + q(5998), q(0), ], q(singapore sign language) => [ - q(6108), + q(6107), q(0), ], q(singpho) => [ - q(6000), + q(5999), q(0), ], q(sinhala) => [ @@ -50674,15 +50708,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(sinicahua mixtec) => [ - q(7513), + q(7512), q(0), ], q(sinicized miao) => [ - q(2799), + q(2798), q(1), ], q(sininkere) => [ - q(6085), + q(6084), q(0), ], q(sino-tibetan languages) => [ @@ -50690,23 +50724,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sinsauru) => [ - q(6155), + q(6154), q(0), ], q(sinte romani) => [ - q(5817), + q(5816), q(0), ], q(sinyar) => [ - q(6342), + q(6341), q(0), ], q(sio) => [ - q(7494), + q(7493), q(0), ], q(siona) => [ - q(6144), + q(6143), q(0), ], q(siouan languages) => [ @@ -50714,11 +50748,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sipacapense) => [ - q(5688), + q(5687), q(0), ], q(sira) => [ - q(6305), + q(6304), q(0), ], q(siraya) => [ @@ -50730,51 +50764,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(siri) => [ - q(6046), + q(6045), q(0), ], q(siriano) => [ - q(6215), + q(6214), q(0), ], q(siriono) => [ - q(6220), + q(6219), q(0), ], q(sirmauri) => [ - q(6226), + q(6225), q(0), ], q(siroi) => [ - q(6231), + q(6230), q(0), ], q(sishee) => [ - q(6038), + q(6037), q(1), ], q(sissala) => [ - q(6095), + q(6094), q(0), ], q(sissano) => [ - q(6242), + q(6241), q(0), ], q(siuslaw) => [ - q(6047), + q(6046), q(0), ], q(sivandi) => [ - q(6052), + q(6051), q(0), ], q(siwai) => [ - q(6050), + q(6049), q(0), ], q(siwi) => [ - q(6053), + q(6052), q(0), ], q(siwu) => [ @@ -50786,15 +50820,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(skagit) => [ - q(6070), + q(6069), q(0), ], q(skalvian) => [ - q(6298), + q(6297), q(0), ], q(skepi creole dutch) => [ - q(6091), + q(6090), q(0), ], q(skolt sami) => [ @@ -50802,7 +50836,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(skou) => [ - q(6090), + q(6089), q(0), ], q(slave (athapascan)) => [ @@ -50814,7 +50848,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(slavomolisano) => [ - q(6295), + q(6294), q(0), ], q(slovak) => [ @@ -50822,7 +50856,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(slovakian sign language) => [ - q(6294), + q(6293), q(0), ], q(slovenian) => [ @@ -50830,31 +50864,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(small flowery miao) => [ - q(5987), + q(5986), q(0), ], q(smarky kanum) => [ - q(3731), + q(3730), q(0), ], q(snohomish) => [ - q(6145), + q(6144), q(0), ], q(so) => [ - q(6246), + q(6245), q(0), ], q(so (democratic republic of congo)) => [ - q(6158), + q(6157), q(0), ], q(so'a) => [ - q(6244), + q(6243), q(0), ], q(sobei) => [ - q(6157), + q(6156), q(0), ], q(sochiapam chinantec) => [ @@ -50866,7 +50900,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(soga) => [ - q(7447), + q(7446), q(0), ], q(sogdian) => [ @@ -50874,23 +50908,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(soi) => [ - q(6163), + q(6162), q(0), ], q(sok) => [ - q(6080), + q(6079), q(0), ], q(sokoro) => [ - q(6164), + q(6163), q(0), ], q(solano) => [ - q(7498), + q(7497), q(0), ], q(soli) => [ - q(5925), + q(5924), q(0), ], q(solong) => [ @@ -50898,11 +50932,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(solos) => [ - q(6165), + q(6164), q(0), ], q(som) => [ - q(6116), + q(6115), q(0), ], q(somali) => [ @@ -50914,15 +50948,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(somrai) => [ - q(6169), + q(6168), q(0), ], q(somray) => [ - q(6128), + q(6127), q(0), ], q(somyev) => [ - q(3326), + q(3325), q(0), ], q(sonaga) => [ @@ -50930,11 +50964,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sonde) => [ - q(6011), + q(6010), q(0), ], q(songe) => [ - q(6167), + q(6166), q(0), ], q(songhai languages) => [ @@ -50946,23 +50980,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(songo) => [ - q(6166), + q(6165), q(0), ], q(songomeno) => [ - q(6160), + q(6159), q(0), ], q(songoora) => [ - q(6159), + q(6158), q(0), ], q(sonha) => [ - q(6162), + q(6161), q(0), ], q(sonia) => [ - q(6045), + q(6044), q(0), ], q(soninke) => [ @@ -50970,23 +51004,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sonsorol) => [ - q(6172), + q(6171), q(0), ], q(soo) => [ - q(6464), + q(6463), q(0), ], q(sop) => [ - q(6943), + q(6942), q(0), ], q(soqotri) => [ - q(6206), + q(6205), q(0), ], q(sora) => [ - q(6209), + q(6208), q(0), ], q(sorbian languages) => [ @@ -50994,15 +51028,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sori-harengan) => [ - q(5908), + q(5907), q(0), ], q(sorkhei) => [ - q(6202), + q(6201), q(0), ], q(sorothaptic) => [ - q(6329), + q(6328), q(0), ], q(sorsogon ayta) => [ @@ -51010,11 +51044,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sos kundi) => [ - q(5950), + q(5949), q(0), ], q(sota kanum) => [ - q(3592), + q(3591), q(0), ], q(sotho, southern) => [ @@ -51022,11 +51056,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sou) => [ - q(6203), + q(6202), q(0), ], q(south african sign language) => [ - q(5988), + q(5987), q(0), ], q(south american indian (other)) => [ @@ -51046,7 +51080,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(south bolivian quechua) => [ - q(5684), + q(5683), q(0), ], q(south caucasian languages) => [ @@ -51054,7 +51088,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(south central banda) => [ - q(4005), + q(4004), q(0), ], q(south central dinka) => [ @@ -51074,7 +51108,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(south lembata) => [ - q(3980), + q(3979), q(0), ], q(south levantine arabic) => [ @@ -51082,11 +51116,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(south marquesan) => [ - q(4491), + q(4490), q(0), ], q(south muyu) => [ - q(3637), + q(3636), q(0), ], q(south ndebele) => [ @@ -51094,15 +51128,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(south nuaulu) => [ - q(5147), + q(5146), q(0), ], q(south picene) => [ - q(6195), + q(6194), q(0), ], q(south slavey) => [ - q(7495), + q(7494), q(0), ], q(south slavic languages) => [ @@ -51110,7 +51144,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(south tairora) => [ - q(5264), + q(5263), q(0), ], q(south ucayali asheninka) => [ @@ -51118,31 +51152,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(south watut) => [ - q(4176), + q(4175), q(0), ], q(south west bay) => [ - q(6149), + q(6148), q(0), ], q(southeast ambrym) => [ - q(6782), + q(6781), q(0), ], q(southeast babar) => [ - q(6985), + q(6984), q(0), ], q(southeast ijo) => [ - q(2938), + q(2937), q(0), ], q(southeast pashai) => [ - q(5614), + q(5613), q(0), ], q(southeast pashayi) => [ - q(5614), + q(5613), q(1), ], q(southeastern dinka) => [ @@ -51154,27 +51188,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(southeastern kolami) => [ - q(4898), + q(4897), q(0), ], q(southeastern nochixtlan mixtec) => [ - q(4670), + q(4669), q(0), ], q(southeastern pomo) => [ - q(5561), + q(5560), q(0), ], q(southeastern puebla nahuatl) => [ - q(5036), + q(5035), q(0), ], q(southeastern tarahumara) => [ - q(6422), + q(6421), q(0), ], q(southeastern tepehuan) => [ - q(6267), + q(6266), q(0), ], q(southern alta) => [ @@ -51206,7 +51240,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(southern binukidnon) => [ - q(4576), + q(4575), q(0), ], q(southern birifor) => [ @@ -51218,7 +51252,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(southern bontok) => [ - q(5189), + q(5188), q(0), ], q(southern carrier) => [ @@ -51230,7 +51264,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(southern conchucos ancash quechua) => [ - q(5725), + q(5724), q(0), ], q(southern dagaare) => [ @@ -51238,7 +51272,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(southern dong) => [ - q(3455), + q(3454), q(0), ], q(southern east cree) => [ @@ -51254,43 +51288,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(southern grebo) => [ - q(2619), + q(2618), q(0), ], q(southern guiyang hmong) => [ - q(2798), + q(2797), q(0), ], q(southern guiyang miao) => [ - q(2798), + q(2797), q(1), ], q(southern haida) => [ - q(2729), + q(2728), q(0), ], q(southern hindko) => [ - q(2801), + q(2800), q(0), ], q(southern kalapuya) => [ - q(6325), + q(6324), q(0), ], q(southern kalinga) => [ - q(3595), + q(3594), q(0), ], q(southern kisi) => [ - q(3611), + q(3610), q(0), ], q(southern kiwai) => [ - q(3380), + q(3379), q(0), ], q(southern kurdish) => [ - q(5948), + q(5947), q(0), ], q(southern lolopo) => [ @@ -51298,23 +51332,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(southern luri) => [ - q(4092), + q(4091), q(0), ], q(southern ma'di) => [ - q(6143), + q(6142), q(0), ], q(southern mashan hmong) => [ - q(2777), + q(2776), q(0), ], q(southern mashan miao) => [ - q(2777), + q(2776), q(1), ], q(southern mnong) => [ - q(4425), + q(4424), q(0), ], q(southern muji) => [ @@ -51322,27 +51356,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(southern nago) => [ - q(5042), + q(5041), q(0), ], q(southern nambikuara) => [ - q(4719), + q(4718), q(0), ], q(southern ngbandi) => [ - q(4759), + q(4758), q(0), ], q(southern nicobarese) => [ - q(4890), + q(4889), q(0), ], q(southern nisu) => [ - q(5067), + q(5066), q(0), ], q(southern nuni) => [ - q(5008), + q(5007), q(0), ], q(southern ohlone) => [ @@ -51350,47 +51384,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(southern one) => [ - q(5314), + q(5313), q(0), ], q(southern pame) => [ - q(5528), + q(5527), q(0), ], q(southern pashto) => [ - q(5376), + q(5375), q(0), ], q(southern pastaza quechua) => [ - q(5690), + q(5689), q(0), ], q(southern pomo) => [ - q(5416), + q(5415), q(0), ], q(southern puebla mixtec) => [ - q(4314), + q(4313), q(0), ], q(southern puget sound salish) => [ - q(6099), + q(6098), q(0), ], q(southern pumi) => [ - q(5515), + q(5514), q(0), ], q(southern qiandong miao) => [ - q(2793), + q(2792), q(0), ], q(southern qiang) => [ - q(5729), + q(5728), q(0), ], q(southern rengma naga) => [ - q(5051), + q(5050), q(0), ], q(southern rincon zapotec) => [ @@ -51398,11 +51432,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(southern roglai) => [ - q(5781), + q(5780), q(0), ], q(southern sama) => [ - q(6229), + q(6228), q(0), ], q(southern sami) => [ @@ -51410,15 +51444,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(southern samo) => [ - q(5904), + q(5903), q(0), ], q(southern sierra miwok) => [ - q(6073), + q(6072), q(0), ], q(southern sorsoganon) => [ - q(6224), + q(6223), q(0), ], q(southern sotho) => [ @@ -51426,35 +51460,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(southern subanen) => [ - q(3792), + q(3791), q(0), ], q(southern thai) => [ - q(6171), + q(6170), q(0), ], q(southern tiwa) => [ - q(6534), + q(6533), q(0), ], q(southern toussian) => [ - q(7126), + q(7125), q(0), ], q(southern tujia) => [ - q(6544), + q(6543), q(0), ], q(southern tutchone) => [ - q(6408), + q(6407), q(0), ], q(southern uzbek) => [ - q(6968), + q(6967), q(0), ], q(southern yamphu) => [ - q(4051), + q(4050), q(0), ], q(southern yukaghir) => [ @@ -51462,27 +51496,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(southwest gbaya) => [ - q(2637), + q(2636), q(0), ], q(southwest palawano) => [ - q(5503), + q(5502), q(0), ], q(southwest pashai) => [ - q(5613), + q(5612), q(0), ], q(southwest pashayi) => [ - q(5613), + q(5612), q(1), ], q(southwest tanna) => [ - q(5135), + q(5134), q(0), ], q(southwestern bontok) => [ - q(6986), + q(6985), q(0), ], q(southwestern dinka) => [ @@ -51494,39 +51528,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(southwestern guiyang hmong) => [ - q(2783), + q(2782), q(0), ], q(southwestern huishui hmong) => [ - q(2784), + q(2783), q(0), ], q(southwestern huishui miao) => [ - q(2784), + q(2783), q(1), ], q(southwestern nisu) => [ - q(5083), + q(5082), q(0), ], q(southwestern tarahumara) => [ - q(6805), + q(6804), q(0), ], q(southwestern tepehuan) => [ - q(6565), + q(6564), q(0), ], q(southwestern tlaxiaco mixtec) => [ - q(4207), + q(4206), q(0), ], q(sowa) => [ - q(6318), + q(6317), q(0), ], q(sowanda) => [ - q(6173), + q(6172), q(0), ], q(sowari) => [ @@ -51534,11 +51568,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(soyaltepec mazatec) => [ - q(7030), + q(7029), q(0), ], q(soyaltepec mixtec) => [ - q(7031), + q(7030), q(0), ], q(spanish) => [ @@ -51546,19 +51580,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(spanish sign language) => [ - q(6243), + q(6242), q(0), ], q(spiti bhoti) => [ - q(6192), + q(6191), q(0), ], q(spokane) => [ - q(6187), + q(6186), q(0), ], q(squamish) => [ - q(6207), + q(6206), q(0), ], q(sranan tongo) => [ @@ -51566,11 +51600,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sri lankan creole malay) => [ - q(5932), + q(5931), q(0), ], q(sri lankan sign language) => [ - q(6205), + q(6204), q(0), ], q(standard arabic) => [ @@ -51582,7 +51616,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(standard latvian) => [ - q(4095), + q(4094), q(0), ], q(standard malay) => [ @@ -51594,51 +51628,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(stellingwerfs) => [ - q(6263), + q(6262), q(0), ], q(stod bhoti) => [ - q(5921), + q(5920), q(0), ], q(stodsde) => [ - q(3097), + q(3096), q(0), ], q(stoney) => [ - q(6266), + q(6265), q(0), ], q(straits salish) => [ - q(6269), + q(6268), q(0), ], q(suabo) => [ - q(6354), + q(6353), q(0), ], q(suarmin) => [ - q(5974), + q(5973), q(0), ], q(suau) => [ - q(6311), + q(6310), q(0), ], q(suba) => [ - q(6321), + q(6320), q(0), ], q(suba-simbiti) => [ - q(6230), + q(6229), q(0), ], q(subiya) => [ - q(5919), + q(5918), q(0), ], q(subtiaba) => [ - q(6285), + q(6284), q(0), ], q(sudanese arabic) => [ @@ -51646,43 +51680,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sudanese creole arabic) => [ - q(5425), + q(5424), q(0), ], q(sudest) => [ - q(6484), + q(6483), q(0), ], q(sudovian) => [ - q(7504), + q(7503), q(0), ], q(suena) => [ - q(6279), + q(6278), q(0), ], q(suga) => [ - q(5996), + q(5995), q(0), ], q(suganga) => [ - q(6280), + q(6279), q(0), ], q(sugut dusun) => [ - q(3784), + q(3783), q(0), ], q(sui) => [ - q(6304), + q(6303), q(0), ], q(suki) => [ - q(6281), + q(6280), q(0), ], q(suku) => [ - q(6277), + q(6276), q(0), ], q(sukuma) => [ @@ -51690,7 +51724,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sukur) => [ - q(6337), + q(6336), q(0), ], q(sukurum) => [ @@ -51698,35 +51732,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sula) => [ - q(6353), + q(6352), q(0), ], q(sulka) => [ - q(6276), + q(6275), q(0), ], q(sulod) => [ - q(6213), + q(6212), q(0), ], q(suma) => [ - q(6200), + q(6199), q(0), ], q(sumariup) => [ - q(6049), + q(6048), q(0), ], q(sumau) => [ - q(6051), + q(6050), q(0), ], q(sumbawa) => [ - q(6130), + q(6129), q(0), ], q(sumbwa) => [ - q(6287), + q(6286), q(0), ], q(sumerian) => [ @@ -51734,7 +51768,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sumi naga) => [ - q(5075), + q(5074), q(0), ], q(sumtu chin) => [ @@ -51742,7 +51776,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(sunam) => [ - q(6238), + q(6237), q(0), ], q(sundanese) => [ @@ -51754,7 +51788,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(sunwar) => [ - q(6289), + q(6288), q(0), ], q(suomenruotsalainen viittomakieli) => [ @@ -51762,63 +51796,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(2), ], q(suoy) => [ - q(6341), + q(6340), q(0), ], q(supyire senoufo) => [ - q(6188), + q(6187), q(0), ], q(sur) => [ - q(6438), + q(6437), q(0), ], q(surayt) => [ - q(6706), + q(6705), q(1), ], q(surbakhal) => [ - q(5910), + q(5909), q(0), ], q(surgujia) => [ - q(5997), + q(5996), q(0), ], q(suri) => [ - q(6283), + q(6282), q(0), ], q(surigaonon) => [ - q(5992), + q(5991), q(0), ], q(surjapuri) => [ - q(6064), + q(6063), q(0), ], q(sursurunga) => [ - q(6008), + q(6007), q(0), ], q(suruaha) => [ - q(6319), + q(6318), q(0), ], q(surubu) => [ - q(5945), + q(5944), q(0), ], q(surui) => [ - q(6223), + q(6222), q(0), ], q(surui do para) => [ - q(4200), + q(4199), q(0), ], q(susquehannock) => [ - q(6201), + q(6200), q(0), ], q(susu) => [ @@ -51826,27 +51860,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(susuami) => [ - q(6248), + q(6247), q(0), ], q(suundi) => [ - q(5949), + q(5948), q(0), ], q(suwawa) => [ - q(6316), + q(6315), q(0), ], q(suya) => [ - q(6288), + q(6287), q(0), ], q(svan) => [ - q(6290), + q(6289), q(0), ], q(swabian) => [ - q(6302), + q(6301), q(0), ], q(swahili) => [ @@ -51854,7 +51888,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(swahili (individual language)) => [ - q(6303), + q(6302), q(0), ], q(swahili (macrolanguage)) => [ @@ -51874,7 +51908,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(swedish sign language) => [ - q(6307), + q(6306), q(0), ], q(swiss german) => [ @@ -51882,27 +51916,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(swiss-french sign language) => [ - q(6245), + q(6244), q(0), ], q(swiss-german sign language) => [ - q(5994), + q(5993), q(0), ], q(swiss-italian sign language) => [ - q(6097), + q(6096), q(0), ], q(swo) => [ - q(6174), + q(6173), q(0), ], q(syenara senoufo) => [ - q(6032), + q(6031), q(0), ], q(sylheti) => [ - q(6338), + q(6337), q(0), ], q(syriac) => [ @@ -51910,7 +51944,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(t'en) => [ - q(6421), + q(6420), q(0), ], q(ta'izzi-adeni arabic) => [ @@ -51918,7 +51952,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(taabwa) => [ - q(6369), + q(6368), q(0), ], q(tabaa zapotec) => [ @@ -51926,7 +51960,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tabaru) => [ - q(6402), + q(6401), q(0), ], q(tabasco chontal) => [ @@ -51934,7 +51968,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tabasco nahuatl) => [ - q(4861), + q(4860), q(0), ], q(tabasco zoque) => [ @@ -51942,39 +51976,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tabassaran) => [ - q(6358), + q(6357), q(0), ], q(tabla) => [ - q(6620), + q(6619), q(0), ], q(tabo) => [ - q(3499), + q(3498), q(0), ], q(tabriak) => [ - q(6850), + q(6849), q(0), ], q(tacahua mixtec) => [ - q(7523), + q(7522), q(0), ], q(tacana) => [ - q(6610), + q(6609), q(0), ], q(tachawit) => [ - q(6031), + q(6030), q(0), ], q(tachelhit) => [ - q(6016), + q(6015), q(0), ], q(tachoni) => [ - q(4074), + q(4073), q(0), ], q(tadaksahak) => [ @@ -51982,15 +52016,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tadyawan) => [ - q(6448), + q(6447), q(0), ], q(tae') => [ - q(5836), + q(5835), q(0), ], q(tafi) => [ - q(6407), + q(6406), q(0), ], q(tagabawa) => [ @@ -51998,15 +52032,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tagakaulo) => [ - q(3434), + q(3433), q(0), ], q(tagal murut) => [ - q(4619), + q(4618), q(0), ], q(tagalaka) => [ - q(6495), + q(6494), q(0), ], q(tagalog) => [ @@ -52014,39 +52048,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tagargrent) => [ - q(5333), + q(5332), q(0), ], q(tagbanwa) => [ - q(6400), + q(6399), q(0), ], q(tagbu) => [ - q(6391), + q(6390), q(0), ], q(tagdal) => [ - q(6427), + q(6426), q(0), ], q(tagin) => [ - q(6482), + q(6481), q(0), ], q(tagish) => [ - q(6493), + q(6492), q(0), ], q(tagoi) => [ - q(6363), + q(6362), q(0), ], q(tagwana senoufo) => [ - q(6492), + q(6491), q(0), ], q(tahaggart tamahaq) => [ - q(6512), + q(6511), q(0), ], q(tahitian) => [ @@ -52054,15 +52088,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tahltan) => [ - q(6510), + q(6509), q(0), ], q(tai) => [ - q(6375), + q(6374), q(0), ], q(tai daeng) => [ - q(6837), + q(6836), q(0), ], q(tai dam) => [ @@ -52070,23 +52104,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tai do) => [ - q(6833), + q(6832), q(0), ], q(tai don) => [ - q(6798), + q(6797), q(0), ], q(tai hang tong) => [ - q(6496), + q(6495), q(0), ], q(tai hongjin) => [ - q(6536), + q(6535), q(0), ], q(tai laing) => [ - q(6540), + q(6539), q(0), ], q(tai languages) => [ @@ -52094,27 +52128,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tai loi) => [ - q(6578), + q(6577), q(0), ], q(tai long) => [ - q(6501), + q(6500), q(0), ], q(tai mene) => [ - q(6600), + q(6599), q(0), ], q(tai nua) => [ - q(6430), + q(6429), q(0), ], q(tai pao) => [ - q(6665), + q(6664), q(0), ], q(tai thanh) => [ - q(6597), + q(6596), q(0), ], q(tai ya) => [ @@ -52122,7 +52156,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(taiap) => [ - q(2608), + q(2607), q(0), ], q(taikat) => [ @@ -52134,7 +52168,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(taino) => [ - q(6624), + q(6623), q(0), ], q(tairaha) => [ @@ -52142,7 +52176,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tairuma) => [ - q(6853), + q(6852), q(0), ], q(taita) => [ @@ -52150,11 +52184,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(taiwan sign language) => [ - q(6726), + q(6725), q(0), ], q(taje) => [ - q(5406), + q(5405), q(0), ], q(tajik) => [ @@ -52166,43 +52200,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tajio) => [ - q(6436), + q(6435), q(0), ], q(tajuasohn) => [ - q(6537), + q(6536), q(0), ], q(takelma) => [ - q(6553), + q(6552), q(0), ], q(takestani) => [ - q(6558), + q(6557), q(0), ], q(takia) => [ - q(6381), + q(6380), q(0), ], q(takua) => [ - q(6564), + q(6563), q(0), ], q(takuu) => [ - q(4871), + q(4870), q(0), ], q(takwane) => [ - q(6550), + q(6549), q(0), ], q(tal) => [ - q(6366), + q(6365), q(0), ], q(tala) => [ - q(6365), + q(6364), q(0), ], q(talaandig) => [ @@ -52210,39 +52244,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(talaud) => [ - q(6568), + q(6567), q(0), ], q(taliabu) => [ - q(6583), + q(6582), q(0), ], q(talieng) => [ - q(6432), + q(6431), q(0), ], q(talinga-bwisi) => [ - q(6571), + q(6570), q(0), ], q(talise) => [ - q(6579), + q(6578), q(0), ], q(talodi) => [ - q(6576), + q(6575), q(0), ], q(taloki) => [ - q(6572), + q(6571), q(0), ], q(talondo') => [ - q(6575), + q(6574), q(0), ], q(talossan) => [ - q(6846), + q(6845), q(0), ], q(talu) => [ @@ -52250,31 +52284,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(talysh) => [ - q(6585), + q(6584), q(0), ], q(tama (chad)) => [ - q(6586), + q(6585), q(0), ], q(tama (colombia)) => [ - q(6459), + q(6458), q(0), ], q(tamagario) => [ - q(6410), + q(6409), q(0), ], q(taman (indonesia)) => [ - q(6598), + q(6597), q(0), ], q(taman (myanmar)) => [ - q(6414), + q(6413), q(0), ], q(tamanaku) => [ - q(6609), + q(6608), q(0), ], q(tamashek) => [ @@ -52282,31 +52316,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tamasheq) => [ - q(6370), + q(6369), q(0), ], q(tamazola mixtec) => [ - q(7037), + q(7036), q(0), ], q(tambas) => [ - q(6437), + q(6436), q(0), ], q(tambora) => [ - q(7563), + q(7562), q(0), ], q(tambotalo) => [ - q(6580), + q(6579), q(0), ], q(tambunan dusun) => [ - q(3785), + q(3784), q(0), ], q(tami) => [ - q(6608), + q(6607), q(0), ], q(tamil) => [ @@ -52314,79 +52348,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tamki) => [ - q(6376), + q(6375), q(0), ], q(tamnim citak) => [ - q(6596), + q(6595), q(0), ], q(tampias lobu) => [ - q(4033), + q(4032), q(0), ], q(tampuan) => [ - q(6670), + q(6669), q(0), ], q(tampulma) => [ - q(6663), + q(6662), q(0), ], q(tanacross) => [ - q(6405), + q(6404), q(0), ], q(tanahmerah) => [ - q(6415), + q(6414), q(0), ], q(tanaina) => [ - q(6470), + q(6469), q(0), ], q(tanapag) => [ - q(6671), + q(6670), q(0), ], q(tandaganon) => [ - q(6483), + q(6482), q(0), ], q(tandia) => [ - q(6617), + q(6616), q(0), ], q(tandroy-mahafaly malagasy) => [ - q(6447), + q(6446), q(0), ], q(tanema) => [ - q(6631), + q(6630), q(0), ], q(tangale) => [ - q(6367), + q(6366), q(0), ], q(tangchangya) => [ - q(6629), + q(6628), q(0), ], q(tanggu) => [ - q(6490), + q(6489), q(0), ], q(tangkhul naga (india)) => [ - q(4966), + q(4965), q(0), ], q(tangkhul naga (myanmar)) => [ - q(5100), + q(5099), q(0), ], q(tangko) => [ - q(6563), + q(6562), q(0), ], q(tanglang) => [ @@ -52394,47 +52428,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tangoa) => [ - q(6485), + q(6484), q(0), ], q(tanguat) => [ - q(6396), + q(6395), q(0), ], q(tangut) => [ - q(6815), + q(6814), q(0), ], q(tanimbili) => [ - q(6383), + q(6382), q(0), ], q(tanimuca-retuara) => [ - q(6612), + q(6611), q(0), ], q(tanjijili) => [ - q(6878), + q(6877), q(0), ], q(tankarana malagasy) => [ - q(7426), + q(7425), q(1), ], q(tanosy malagasy) => [ - q(6828), + q(6827), q(0), ], q(tanudan kalinga) => [ - q(3464), + q(3463), q(0), ], q(tanzanian sign language) => [ - q(6843), + q(6842), q(0), ], q(tapeba) => [ - q(6380), + q(6379), q(0), ], q(tapei) => [ @@ -52442,63 +52476,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tapiete) => [ - q(6660), + q(6659), q(0), ], q(tapirape) => [ - q(6362), + q(6361), q(0), ], q(tarao naga) => [ - q(6700), + q(6699), q(0), ], q(tareng) => [ - q(6487), + q(6486), q(0), ], q(tariana) => [ - q(6361), + q(6360), q(0), ], q(tarifit) => [ - q(5787), + q(5786), q(0), ], q(tarjumo) => [ - q(6818), + q(6817), q(0), ], q(tarok) => [ - q(7626), + q(7625), q(0), ], q(taroko) => [ - q(6707), + q(6706), q(0), ], q(tarpia) => [ - q(6658), + q(6657), q(0), ], q(tartessian) => [ - q(6823), + q(6822), q(0), ], q(tasawaq) => [ - q(6804), + q(6803), q(0), ], q(tase naga) => [ - q(5081), + q(5080), q(0), ], q(tasmanian) => [ - q(7528), + q(7527), q(0), ], q(tasmate) => [ - q(6604), + q(6603), q(0), ], q(tataltepec chatino) => [ @@ -52506,7 +52540,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tatana) => [ - q(6827), + q(6826), q(0), ], q(tatar) => [ @@ -52514,103 +52548,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tatuyo) => [ - q(6374), + q(6373), q(0), ], q(tauade) => [ - q(6737), + q(6736), q(0), ], q(taulil) => [ - q(6766), + q(6765), q(0), ], q(taungyo) => [ - q(6417), + q(6416), q(0), ], q(taupota) => [ - q(6655), + q(6654), q(0), ], q(tause) => [ - q(6360), + q(6359), q(0), ], q(taushiro) => [ - q(6703), + q(6702), q(0), ], q(tausug) => [ - q(6717), + q(6716), q(0), ], q(tauya) => [ - q(6829), + q(6828), q(0), ], q(taveta) => [ - q(6786), + q(6785), q(0), ], q(tavoyan) => [ - q(6784), + q(6783), q(0), ], q(tavringer romani) => [ - q(5822), + q(5821), q(0), ], q(tawala) => [ - q(6393), + q(6392), q(0), ], q(tawallammat tamajaq) => [ - q(6750), + q(6749), q(0), ], q(tawande) => [ - q(7526), + q(7525), q(0), ], q(tawang monpa) => [ - q(6800), + q(6799), q(0), ], q(tawara) => [ - q(6799), + q(6798), q(0), ], q(taworta) => [ - q(6394), + q(6393), q(0), ], q(tawoyan) => [ - q(6810), + q(6809), q(0), ], q(tawr chin) => [ - q(6418), + q(6417), q(0), ], q(tay) => [ - q(6842), + q(6841), q(0), ], q(tay boi) => [ - q(6372), + q(6371), q(0), ], q(tay khang) => [ - q(6628), + q(6627), q(0), ], q(tay sa pa) => [ - q(6838), + q(6837), q(0), ], q(tay tac) => [ - q(6839), + q(6838), q(0), ], q(tayabas ayta) => [ @@ -52618,7 +52652,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tayart tamajeq) => [ - q(6515), + q(6514), q(0), ], q(tayo) => [ @@ -52626,15 +52660,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(taznatit) => [ - q(2623), + q(2622), q(0), ], q(tboli) => [ - q(6390), + q(6389), q(0), ], q(tchitchege) => [ - q(6413), + q(6412), q(0), ], q(tchumbuli) => [ @@ -52642,11 +52676,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(te'un) => [ - q(6781), + q(6780), q(0), ], q(teanu) => [ - q(6562), + q(6561), q(0), ], q(tebi) => [ @@ -52654,7 +52688,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(tebul sign language) => [ - q(6732), + q(6731), q(0), ], q(tebul ure dogon) => [ @@ -52662,11 +52696,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tecpatlan totonac) => [ - q(6423), + q(6422), q(0), ], q(tedaga) => [ - q(6772), + q(6771), q(0), ], q(tedim chin) => [ @@ -52674,27 +52708,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tee) => [ - q(6556), + q(6555), q(0), ], q(teen) => [ - q(4028), + q(4027), q(0), ], q(tefaro) => [ - q(6471), + q(6470), q(0), ], q(tegali) => [ - q(5749), + q(5748), q(0), ], q(tehit) => [ - q(3539), + q(3538), q(0), ], q(tehuelche) => [ - q(6456), + q(6455), q(0), ], q(tejalapan zapotec) => [ @@ -52706,43 +52740,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(teke-fuumu) => [ - q(2917), + q(2916), q(0), ], q(teke-kukuya) => [ - q(3424), + q(3423), q(0), ], q(teke-laali) => [ - q(3963), + q(3962), q(0), ], q(teke-nzikou) => [ - q(5181), + q(5180), q(0), ], q(teke-tege) => [ - q(6455), + q(6454), q(0), ], q(teke-tsaayi) => [ - q(6832), + q(6831), q(0), ], q(teke-tyee) => [ - q(6841), + q(6840), q(0), ], q(tektiteko) => [ - q(6736), + q(6735), q(0), ], q(tela-masbuar) => [ - q(6783), + q(6782), q(0), ], q(telefol) => [ - q(6569), + q(6568), q(0), ], q(telugu) => [ @@ -52750,63 +52784,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(teluti) => [ - q(6581), + q(6580), q(0), ], q(tem) => [ - q(3240), + q(3239), q(0), ], q(temacine tamazight) => [ - q(6543), + q(6542), q(0), ], q(temascaltepec nahuatl) => [ - q(4877), + q(4876), q(0), ], q(tembe) => [ - q(6676), + q(6675), q(0), ], q(tembo (kitembo)) => [ - q(6397), + q(6396), q(0), ], q(tembo (motembo)) => [ - q(6606), + q(6605), q(0), ], q(teme) => [ - q(6440), + q(6439), q(0), ], q(temein) => [ - q(6462), + q(6461), q(0), ], q(temi) => [ - q(6176), + q(6175), q(0), ], q(temiar) => [ - q(6449), + q(6448), q(0), ], q(temoaya otomi) => [ - q(5327), + q(5326), q(0), ], q(temoq) => [ - q(6599), + q(6598), q(0), ], q(tempasuk dusun) => [ - q(6445), + q(6444), q(0), ], q(temuan) => [ - q(6607), + q(6606), q(0), ], q(tena) => [ @@ -52814,11 +52848,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(tena lowland quichua) => [ - q(5695), + q(5694), q(0), ], q(tenango otomi) => [ - q(5323), + q(5322), q(0), ], q(tene kan dogon) => [ @@ -52826,39 +52860,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tenggarong kutai malay) => [ - q(7013), + q(7012), q(0), ], q(tengger) => [ - q(6463), + q(6462), q(0), ], q(tenharim) => [ - q(5350), + q(5349), q(0), ], q(tenino) => [ - q(6679), + q(6678), q(0), ], q(tenis) => [ - q(6626), + q(6625), q(0), ], q(tennet) => [ - q(6467), + q(6466), q(0), ], q(teop) => [ - q(6527), + q(6526), q(0), ], q(teor) => [ - q(6465), + q(6464), q(0), ], q(tepecano) => [ - q(6461), + q(6460), q(0), ], q(tepetotutla chinantec) => [ @@ -52874,19 +52908,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tepo krumen) => [ - q(6452), + q(6451), q(0), ], q(ter sami) => [ - q(6067), + q(6066), q(0), ], q(tera) => [ - q(6751), + q(6750), q(0), ], q(terebu) => [ - q(6688), + q(6687), q(0), ], q(terei) => [ @@ -52898,59 +52932,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(teressa) => [ - q(6454), + q(6453), q(0), ], q(tereweng) => [ - q(6797), + q(6796), q(0), ], q(teribe) => [ - q(6472), + q(6471), q(0), ], q(terik) => [ - q(6451), + q(6450), q(0), ], q(termanu) => [ - q(6807), + q(6806), q(0), ], q(ternate) => [ - q(6473), + q(6472), q(0), ], q(ternateno) => [ - q(6592), + q(6591), q(0), ], q(tesaka malagasy) => [ - q(6552), + q(6551), q(0), ], q(tese) => [ - q(3262), + q(3261), q(0), ], q(teshenawa) => [ - q(6793), + q(6792), q(0), ], q(teso) => [ - q(6460), + q(6459), q(0), ], q(tetela) => [ - q(6573), + q(6572), q(0), ], q(tetelcingo nahuatl) => [ - q(4865), + q(4864), q(0), ], q(tetete) => [ - q(6450), + q(6449), q(0), ], q(tetum) => [ @@ -52958,7 +52992,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tetun dili) => [ - q(6444), + q(6443), q(0), ], q(teutila cuicatec) => [ @@ -52966,23 +53000,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tewa (indonesia)) => [ - q(6795), + q(6794), q(0), ], q(tewa (usa)) => [ - q(6466), + q(6465), q(0), ], q(tewe) => [ - q(6809), + q(6808), q(0), ], q(texcatepec otomi) => [ - q(5330), + q(5329), q(0), ], q(texistepec popoluca) => [ - q(5564), + q(5563), q(0), ], q(texmelucan zapotec) => [ @@ -52990,19 +53024,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tezoatlan mixtec) => [ - q(4647), + q(4646), q(0), ], q(tha) => [ - q(6514), + q(6513), q(0), ], q(thachanadan) => [ - q(6505), + q(6504), q(0), ], q(thado chin) => [ - q(6426), + q(6425), q(0), ], q(thai) => [ @@ -53010,11 +53044,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(thai sign language) => [ - q(6724), + q(6723), q(0), ], q(thai song) => [ - q(6156), + q(6155), q(0), ], q(thaiphum chin) => [ @@ -53022,47 +53056,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(thakali) => [ - q(6509), + q(6508), q(0), ], q(thangal naga) => [ - q(4929), + q(4928), q(0), ], q(thangmi) => [ - q(6499), + q(6498), q(0), ], q(thao) => [ - q(6233), + q(6232), q(0), ], q(tharaka) => [ - q(6502), + q(6501), q(0), ], q(thawa) => [ - q(7525), + q(7524), q(0), ], q(thayore) => [ - q(6497), + q(6496), q(0), ], q(thaypan) => [ - q(6836), + q(6835), q(0), ], q(thiin) => [ - q(2933), + q(2932), q(0), ], q(tho) => [ - q(6649), + q(6648), q(0), ], q(thompson) => [ - q(6506), + q(6505), q(0), ], q(thopho) => [ @@ -53070,27 +53104,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(thracian) => [ - q(6816), + q(6815), q(0), ], q(thu lao) => [ - q(6834), + q(6833), q(0), ], q(thudam) => [ - q(6513), + q(6512), q(0), ], q(thulung) => [ - q(6434), + q(6433), q(0), ], q(thurawal) => [ - q(6386), + q(6385), q(0), ], q(thuri) => [ - q(6511), + q(6510), q(0), ], q(tiagbamrin aizi) => [ @@ -53098,15 +53132,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tiale) => [ - q(4423), + q(4422), q(0), ], q(tiang) => [ - q(6388), + q(6387), q(0), ], q(tibea) => [ - q(4857), + q(4856), q(0), ], q(tibetan) => [ @@ -53118,31 +53152,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tichurong) => [ - q(6416), + q(6415), q(0), ], q(ticuna) => [ - q(6404), + q(6403), q(0), ], q(tidaa mixtec) => [ - q(4577), + q(4576), q(0), ], q(tidikelt tamazight) => [ - q(6516), + q(6515), q(0), ], q(tidong) => [ - q(6518), + q(6517), q(0), ], q(tidore) => [ - q(6785), + q(6784), q(0), ], q(tiefo) => [ - q(6529), + q(6528), q(0), ], q(tiemacewe bozo) => [ @@ -53150,7 +53184,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tiene) => [ - q(6521), + q(6520), q(0), ], q(tieyaxo bozo) => [ @@ -53158,15 +53192,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tifal) => [ - q(6519), + q(6518), q(0), ], q(tigak) => [ - q(6476), + q(6475), q(0), ], q(tigon mbembe) => [ - q(5176), + q(5175), q(0), ], q(tigre) => [ @@ -53178,27 +53212,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tii) => [ - q(6822), + q(6821), q(0), ], q(tijaltepec mixtec) => [ - q(7515), + q(7514), q(0), ], q(tikar) => [ - q(6523), + q(6522), q(0), ], q(tikopia) => [ - q(6555), + q(6554), q(0), ], q(tilapa otomi) => [ - q(5321), + q(5320), q(0), ], q(tillamook) => [ - q(6524), + q(6523), q(0), ], q(tilquiapan zapotec) => [ @@ -53206,19 +53240,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tilung) => [ - q(6522), + q(6521), q(0), ], q(tima) => [ - q(6603), + q(6602), q(0), ], q(timbe) => [ - q(6525), + q(6524), q(0), ], q(timbisha) => [ - q(5355), + q(5354), q(1), ], q(timne) => [ @@ -53226,55 +53260,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(timor pidgin) => [ - q(6790), + q(6789), q(0), ], q(timucua) => [ - q(6541), + q(6540), q(0), ], q(timugon murut) => [ - q(6520), + q(6519), q(0), ], q(tinani) => [ - q(3816), + q(3815), q(0), ], q(tindi) => [ - q(6526), + q(6525), q(0), ], q(tingui-boto) => [ - q(6491), + q(6490), q(0), ], q(tinigua) => [ - q(6531), + q(6530), q(0), ], q(tinoc kallahan) => [ - q(6614), + q(6613), q(0), ], q(tinputz) => [ - q(6675), + q(6674), q(0), ], q(tippera) => [ - q(6657), + q(6656), q(0), ], q(tira) => [ - q(6517), + q(6516), q(0), ], q(tirahi) => [ - q(6687), + q(6686), q(0), ], q(tiranige diga dogon) => [ - q(6431), + q(6430), q(0), ], q(tiri) => [ @@ -53282,15 +53316,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tiruray) => [ - q(6535), + q(6534), q(0), ], q(tita) => [ - q(6441), + q(6440), q(0), ], q(titan) => [ - q(6755), + q(6754), q(0), ], q(tiv) => [ @@ -53298,27 +53332,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tiwa) => [ - q(3809), + q(3808), q(0), ], q(tiwi) => [ - q(6533), + q(6532), q(0), ], q(tjurruru) => [ - q(6545), + q(6544), q(0), ], q(tlachichilco tepehua) => [ - q(6669), + q(6668), q(0), ], q(tlacoapa me'phaa) => [ - q(6662), + q(6661), q(0), ], q(tlacoapa tlapanec) => [ - q(6662), + q(6661), q(1), ], q(tlacoatzintepec chinantec) => [ @@ -53330,15 +53364,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tlahuitoltepec mixe) => [ - q(4661), + q(4660), q(0), ], q(tlamacazapa nahuatl) => [ - q(5127), + q(5126), q(0), ], q(tlazoyaltepec mixtec) => [ - q(4486), + q(4485), q(0), ], q(tlhingan-hol) => [ @@ -53350,51 +53384,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(to) => [ - q(6654), + q(6653), q(0), ], q(to'abaita) => [ - q(4384), + q(4383), q(0), ], q(toaripi) => [ - q(6680), + q(6679), q(0), ], q(toba) => [ - q(6634), + q(6633), q(0), ], q(toba-maskoy) => [ - q(6591), + q(6590), q(0), ], q(tobagonian creole english) => [ - q(6480), + q(6479), q(0), ], q(tobanga) => [ - q(6615), + q(6614), q(0), ], q(tobati) => [ - q(6742), + q(6741), q(0), ], q(tobelo) => [ - q(6566), + q(6565), q(0), ], q(tobian) => [ - q(6652), + q(6651), q(0), ], q(tobilung) => [ - q(6475), + q(6474), q(0), ], q(tobo) => [ - q(6399), + q(6398), q(0), ], q(tocantins asurini) => [ @@ -53402,39 +53436,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tocho) => [ - q(6378), + q(6377), q(0), ], q(toda) => [ - q(6424), + q(6423), q(0), ], q(todrah) => [ - q(6442), + q(6441), q(0), ], q(tofanma) => [ - q(6570), + q(6569), q(0), ], q(tofin gbe) => [ - q(6469), + q(6468), q(0), ], q(togbo-vara banda) => [ - q(6647), + q(6646), q(0), ], q(togoyo) => [ - q(6494), + q(6493), q(0), ], q(tohono o'odham) => [ - q(5282), + q(5281), q(0), ], q(tojolabal) => [ - q(6641), + q(6640), q(0), ], q(tok pisin) => [ @@ -53450,59 +53484,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tokharian a) => [ - q(7518), + q(7517), q(0), ], q(tokharian b) => [ - q(6812), + q(6811), q(0), ], q(toku-no-shima) => [ - q(6554), + q(6553), q(0), ], q(tol) => [ - q(3093), + q(3092), q(0), ], q(tolaki) => [ - q(3831), + q(3830), q(0), ], q(tolomako) => [ - q(6574), + q(6573), q(0), ], q(tolowa) => [ - q(6642), + q(6641), q(0), ], q(toma) => [ - q(6636), + q(6635), q(0), ], q(tomadino) => [ - q(6435), + q(6434), q(0), ], q(tombelala) => [ - q(6749), + q(6748), q(0), ], q(tombonuo) => [ - q(6811), + q(6810), q(0), ], q(tombulu) => [ - q(6643), + q(6642), q(0), ], q(tomedes) => [ - q(6637), + q(6636), q(0), ], q(tomini) => [ - q(6819), + q(6818), q(0), ], q(tommo so dogon) => [ @@ -53514,15 +53548,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tomoip) => [ - q(6681), + q(6680), q(0), ], q(tondano) => [ - q(6439), + q(6438), q(0), ], q(tondi songway kiini) => [ - q(6727), + q(6726), q(0), ], q(tonga) => [ @@ -53534,7 +53568,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tonga (thailand)) => [ - q(6633), + q(6632), q(0), ], q(tonga (tonga islands)) => [ @@ -53542,59 +53576,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tonga (zambia)) => [ - q(6640), + q(6639), q(0), ], q(tongwe) => [ - q(6632), + q(6631), q(0), ], q(tonjon) => [ - q(6542), + q(6541), q(0), ], q(tonkawa) => [ - q(6686), + q(6685), q(0), ], q(tonsawang) => [ - q(6630), + q(6629), q(0), ], q(tonsea) => [ - q(6824), + q(6823), q(0), ], q(tontemboan) => [ - q(6627), + q(6626), q(0), ], q(tooro) => [ - q(6743), + q(6742), q(0), ], q(topoiyo) => [ - q(6653), + q(6652), q(0), ], q(toposa) => [ - q(6646), + q(6645), q(0), ], q(tora) => [ - q(6711), + q(6710), q(0), ], q(toraja-sa'dan) => [ - q(5942), + q(5941), q(0), ], q(toram) => [ - q(6696), + q(6695), q(0), ], q(torau) => [ - q(6754), + q(6753), q(0), ], q(tornedalen finnish) => [ @@ -53602,7 +53636,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(toro) => [ - q(6446), + q(6445), q(0), ], q(toro so dogon) => [ @@ -53614,23 +53648,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(toromono) => [ - q(6622), + q(6621), q(0), ], q(torona) => [ - q(6683), + q(6682), q(0), ], q(torres strait creole) => [ - q(6420), + q(6419), q(0), ], q(torricelli) => [ - q(6457), + q(6456), q(0), ], q(torwali) => [ - q(6708), + q(6707), q(0), ], q(tosk albanian) => [ @@ -53638,15 +53672,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(totela) => [ - q(6745), + q(6744), q(0), ], q(toto) => [ - q(6821), + q(6820), q(0), ], q(totoli) => [ - q(6814), + q(6813), q(0), ], q(totomachapan zapotec) => [ @@ -53654,19 +53688,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(totontepec mixe) => [ - q(4568), + q(4567), q(0), ], q(totoro) => [ - q(6744), + q(6743), q(0), ], q(touo) => [ - q(6685), + q(6684), q(0), ], q(toura (cote d'ivoire)) => [ - q(4807), + q(4806), q(0), ], q(toura (papua new guinea)) => [ @@ -53674,7 +53708,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(towei) => [ - q(6747), + q(6746), q(0), ], q(trans-new guinea languages) => [ @@ -53682,115 +53716,115 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(transalpine gaulish) => [ - q(7511), + q(7510), q(0), ], q(traveller danish) => [ - q(5807), + q(5806), q(0), ], q(traveller norwegian) => [ - q(5810), + q(5809), q(0), ], q(traveller scottish) => [ - q(6697), + q(6696), q(0), ], q(tregami) => [ - q(6698), + q(6697), q(0), ], q(tremembe) => [ - q(6590), + q(6589), q(0), ], q(trieng) => [ - q(6258), + q(6257), q(0), ], q(trimuris) => [ - q(6528), + q(6527), q(0), ], q(tring) => [ - q(6486), + q(6485), q(0), ], q(tringgus-sembaan bidayuh) => [ - q(6709), + q(6708), q(0), ], q(trinidad and tobago sign language) => [ - q(4067), + q(4066), q(0), ], q(trinidadian creole english) => [ - q(6692), + q(6691), q(0), ], q(trinitario) => [ - q(6699), + q(6698), q(0), ], q(trio) => [ - q(6695), + q(6694), q(0), ], q(truka) => [ - q(6547), + q(6546), q(0), ], q(trumai) => [ - q(6674), + q(6673), q(0), ], q(ts'un-lao) => [ - q(6721), + q(6720), q(0), ], q(tsaangi) => [ - q(6712), + q(6711), q(0), ], q(tsakhur) => [ - q(6557), + q(6556), q(0), ], q(tsakonian) => [ - q(6715), + q(6714), q(0), ], q(tsakwambo) => [ - q(3691), + q(3690), q(0), ], q(tsamai) => [ - q(6713), + q(6712), q(0), ], q(tsat) => [ - q(2865), + q(2864), q(0), ], q(tsaukambo) => [ - q(3691), + q(3690), q(1), ], q(tseku) => [ - q(6720), + q(6719), q(0), ], q(tsetsaut) => [ - q(6813), + q(6812), q(0), ], q(tshangla) => [ - q(6719), + q(6718), q(0), ], q(tsikimba) => [ - q(3244), + q(3243), q(0), ], q(tsimane) => [ @@ -53798,7 +53832,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tsimihety malagasy) => [ - q(7427), + q(7426), q(0), ], q(tsimshian) => [ @@ -53806,19 +53840,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tsishingini) => [ - q(6730), + q(6729), q(0), ], q(tso) => [ - q(3857), + q(3856), q(0), ], q(tsoa) => [ - q(2762), + q(2761), q(0), ], q(tsogo) => [ - q(6729), + q(6728), q(0), ], q(tsonga) => [ @@ -53830,11 +53864,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(tsotso) => [ - q(4073), + q(4072), q(0), ], q(tsou) => [ - q(6728), + q(6727), q(0), ], q(tsucuba) => [ @@ -53842,19 +53876,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tsum) => [ - q(6758), + q(6757), q(0), ], q(tsuvadi) => [ - q(6780), + q(6779), q(0), ], q(tsuvan) => [ - q(6718), + q(6717), q(0), ], q(tswa) => [ - q(6714), + q(6713), q(0), ], q(tswana) => [ @@ -53862,43 +53896,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tswapong) => [ - q(6802), + q(6801), q(0), ], q(tu) => [ - q(4323), + q(4322), q(0), ], q(tuamotuan) => [ - q(5524), + q(5523), q(0), ], q(tubar) => [ - q(6398), + q(6397), q(0), ], q(tubatulabal) => [ - q(6760), + q(6759), q(0), ], q(tucano) => [ - q(6771), + q(6770), q(0), ], q(tugen) => [ - q(6777), + q(6776), q(0), ], q(tugun) => [ - q(6848), + q(6847), q(0), ], q(tugutil) => [ - q(6768), + q(6767), q(0), ], q(tukang besi north) => [ - q(3333), + q(3332), q(0), ], q(tukang besi south) => [ @@ -53910,47 +53944,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tukpa) => [ - q(6667), + q(6666), q(0), ], q(tukudede) => [ - q(6549), + q(6548), q(0), ], q(tukumanfed) => [ - q(6551), + q(6550), q(0), ], q(tula) => [ - q(6769), + q(6768), q(0), ], q(tulehu) => [ - q(6582), + q(6581), q(0), ], q(tulishi) => [ - q(6468), + q(6467), q(0), ], q(tulu) => [ - q(6425), + q(6424), q(0), ], q(tulu-bohuai) => [ - q(5743), + q(5742), q(0), ], q(tuma-irumu) => [ - q(2981), + q(2980), q(0), ], q(tumak) => [ - q(6588), + q(6587), q(0), ], q(tumari kanuri) => [ - q(3587), + q(3586), q(0), ], q(tumbuka) => [ @@ -53958,27 +53992,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tumi) => [ - q(3422), + q(3421), q(0), ], q(tumleo) => [ - q(6601), + q(6600), q(0), ], q(tumshuqese) => [ - q(7520), + q(7519), q(0), ], q(tumtum) => [ - q(6395), + q(6394), q(0), ], q(tumulung sisaala) => [ - q(6042), + q(6041), q(0), ], q(tumzabt) => [ - q(4694), + q(4693), q(0), ], q(tundra enets) => [ @@ -53986,15 +54020,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tunen) => [ - q(6788), + q(6787), q(0), ], q(tungag) => [ - q(3841), + q(3840), q(0), ], q(tunggare) => [ - q(6705), + q(6704), q(0), ], q(tungus languages) => [ @@ -54002,11 +54036,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tunia) => [ - q(6765), + q(6764), q(0), ], q(tunica) => [ - q(6770), + q(6769), q(0), ], q(tunisian arabic) => [ @@ -54014,15 +54048,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tunisian sign language) => [ - q(6716), + q(6715), q(0), ], q(tunjung) => [ - q(6538), + q(6537), q(0), ], q(tunni) => [ - q(6682), + q(6681), q(0), ], q(tunzu) => [ @@ -54030,15 +54064,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tuotomb) => [ - q(6739), + q(6738), q(0), ], q(tupari) => [ - q(6668), + q(6667), q(0), ], q(tupi) => [ - q(6672), + q(6671), q(0), ], q(tupi languages) => [ @@ -54046,43 +54080,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tupinamba) => [ - q(6664), + q(6663), q(0), ], q(tupinikin) => [ - q(6661), + q(6660), q(0), ], q(tupuri) => [ - q(6767), + q(6766), q(0), ], q(turaka) => [ - q(6694), + q(6693), q(0), ], q(turi) => [ - q(6690), + q(6689), q(0), ], q(turiwara) => [ - q(6806), + q(6805), q(0), ], q(turk isaret dili) => [ - q(6722), + q(6721), q(1), ], q(turka) => [ - q(6778), + q(6777), q(0), ], q(turkana) => [ - q(6775), + q(6774), q(0), ], q(turkic khalaj) => [ - q(3437), + q(3436), q(0), ], q(turkic languages) => [ @@ -54094,7 +54128,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(turkish sign language) => [ - q(6722), + q(6721), q(0), ], q(turkish, ottoman (1500-1928)) => [ @@ -54106,47 +54140,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(turks and caicos creole english) => [ - q(6411), + q(6410), q(0), ], q(turoyo) => [ - q(6706), + q(6705), q(0), ], q(turumsa) => [ - q(6678), + q(6677), q(0), ], q(turung) => [ - q(6710), + q(6709), q(0), ], q(tuscarora) => [ - q(6773), + q(6772), q(0), ], q(tutelo) => [ - q(6734), + q(6733), q(0), ], q(tutong) => [ - q(6740), + q(6739), q(0), ], q(tutsa naga) => [ - q(6787), + q(6786), q(0), ], q(tutuba) => [ - q(6593), + q(6592), q(0), ], q(tututepec mixtec) => [ - q(4574), + q(4573), q(0), ], q(tututni) => [ - q(6774), + q(6773), q(0), ], q(tuvalu) => [ @@ -54158,11 +54192,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tuwali ifugao) => [ - q(2916), + q(2915), q(0), ], q(tuwari) => [ - q(6808), + q(6807), q(0), ], q(tuwuli) => [ @@ -54170,27 +54204,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tuxa) => [ - q(6762), + q(6761), q(0), ], q(tuxinawa) => [ - q(6776), + q(6775), q(0), ], q(tuyuca) => [ - q(6763), + q(6762), q(0), ], q(twana) => [ - q(6791), + q(6790), q(0), ], q(twendi) => [ - q(6801), + q(6800), q(0), ], q(twents) => [ - q(6794), + q(6793), q(0), ], q(twi) => [ @@ -54198,27 +54232,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(tyap) => [ - q(3214), + q(3213), q(0), ], q(tyaraity) => [ - q(7195), + q(7194), q(0), ], q(tz'utujil) => [ - q(6845), + q(6844), q(0), ], q(tzeltal) => [ - q(6844), + q(6843), q(0), ], q(tzotzil) => [ - q(6849), + q(6848), q(0), ], q(u) => [ - q(6961), + q(6960), q(0), ], q(uab meto) => [ @@ -54226,11 +54260,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(uamue) => [ - q(6851), + q(6850), q(0), ], q(uare) => [ - q(3602), + q(3601), q(0), ], q(ubaghara) => [ @@ -54238,19 +54272,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ubang) => [ - q(6854), + q(6853), q(0), ], q(ubi) => [ - q(6855), + q(6854), q(0), ], q(ubir) => [ - q(6857), + q(6856), q(0), ], q(ubykh) => [ - q(6859), + q(6858), q(0), ], q(ucayali-yurua asheninka) => [ @@ -54258,15 +54292,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(uda) => [ - q(6860), + q(6859), q(0), ], q(udi) => [ - q(6863), + q(6862), q(0), ], q(udihe) => [ - q(6861), + q(6860), q(0), ], q(udmurt) => [ @@ -54274,15 +54308,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(uduk) => [ - q(6866), + q(6865), q(0), ], q(ufim) => [ - q(6868), + q(6867), q(0), ], q(ugandan sign language) => [ - q(6871), + q(6870), q(0), ], q(ugaritic) => [ @@ -54290,15 +54324,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ughele) => [ - q(6870), + q(6869), q(0), ], q(ugong) => [ - q(6872), + q(6871), q(0), ], q(uhami) => [ - q(6874), + q(6873), q(0), ], q(uighur) => [ @@ -54306,27 +54340,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(uisai) => [ - q(6876), + q(6875), q(0), ], q(ujir) => [ - q(6864), + q(6863), q(0), ], q(ukaan) => [ - q(3213), + q(3212), q(0), ], q(ukhwejo) => [ - q(6881), + q(6880), q(0), ], q(ukit) => [ - q(6905), + q(6904), q(0), ], q(ukpe-bayobiri) => [ - q(6883), + q(6882), q(0), ], q(ukpet-ehom) => [ @@ -54338,63 +54372,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ukrainian sign language) => [ - q(6882), + q(6881), q(0), ], q(ukue) => [ - q(6886), + q(6885), q(0), ], q(ukuriguma) => [ - q(6880), + q(6879), q(0), ], q(ukwa) => [ - q(6884), + q(6883), q(0), ], q(ukwuani-aboh-ndoni) => [ - q(6887), + q(6886), q(0), ], q(ulau-suain) => [ - q(6291), + q(6290), q(0), ], q(ulch) => [ - q(6891), + q(6890), q(0), ], q(ulithian) => [ - q(6894), + q(6893), q(0), ], q(ullatan) => [ - q(6896), + q(6895), q(0), ], q(ulukwumi) => [ - q(6890), + q(6889), q(0), ], q(ulumanda') => [ - q(6897), + q(6896), q(0), ], q(ulwa) => [ - q(6900), + q(6899), q(0), ], q(uma) => [ - q(5574), + q(5573), q(0), ], q(uma' lasan) => [ - q(7391), + q(7390), q(0), ], q(uma' lung) => [ - q(6899), + q(6898), q(0), ], q(umanakaina) => [ @@ -54402,23 +54436,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(umatilla) => [ - q(6901), + q(6900), q(0), ], q(umbindhamu) => [ - q(6903), + q(6902), q(0), ], q(umbrian) => [ - q(7535), + q(7534), q(0), ], q(umbu-ungu) => [ - q(6858), + q(6857), q(0), ], q(umbugarla) => [ - q(6910), + q(6909), q(0), ], q(umbundu) => [ @@ -54426,19 +54460,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(umbuygamu) => [ - q(6904), + q(6903), q(0), ], q(ume sami) => [ - q(6068), + q(6067), q(0), ], q(umeda) => [ - q(6923), + q(6922), q(0), ], q(umiida) => [ - q(7531), + q(7530), q(0), ], q(umiray dumaget agta) => [ @@ -54446,23 +54480,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(umon) => [ - q(6906), + q(6905), q(0), ], q(umotina) => [ - q(6908), + q(6907), q(0), ], q(umpila) => [ - q(6909), + q(6908), q(0), ], q(una) => [ - q(4560), + q(4559), q(0), ], q(unami) => [ - q(6917), + q(6916), q(0), ], q(uncoded languages) => [ @@ -54470,7 +54504,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(unde kaili) => [ - q(6922), + q(6921), q(0), ], q(undetermined) => [ @@ -54482,15 +54516,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(uneme) => [ - q(6914), + q(6913), q(0), ], q(unggaranggu) => [ - q(7536), + q(7535), q(0), ], q(unggumi) => [ - q(7347), + q(7346), q(0), ], q(ungkue) => [ @@ -54498,15 +54532,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(unserdeutsch) => [ - q(6898), + q(6897), q(0), ], q(unua) => [ - q(5279), + q(5278), q(0), ], q(unubahe) => [ - q(6920), + q(6919), q(0), ], q(upper chehalis) => [ @@ -54518,7 +54552,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(upper guinea crioulo) => [ - q(5567), + q(5566), q(0), ], q(upper kinabatangan) => [ @@ -54526,15 +54560,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(upper kuskokwim) => [ - q(3660), + q(3659), q(0), ], q(upper necaxa totonac) => [ - q(6560), + q(6559), q(0), ], q(upper saxon) => [ - q(6332), + q(6331), q(0), ], q(upper sorbian) => [ @@ -54542,39 +54576,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(upper ta'oih) => [ - q(6741), + q(6740), q(0), ], q(upper tanana) => [ - q(6373), + q(6372), q(0), ], q(upper taromi) => [ - q(6650), + q(6649), q(0), ], q(upper umpqua) => [ - q(7538), + q(7537), q(0), ], q(ura (papua new guinea)) => [ - q(6937), + q(6936), q(0), ], q(ura (vanuatu)) => [ - q(6960), + q(6959), q(0), ], q(uradhi) => [ - q(6929), + q(6928), q(0), ], q(urak lawoi') => [ - q(6933), + q(6932), q(0), ], q(urali) => [ - q(6934), + q(6933), q(0), ], q(uralic languages) => [ @@ -54582,19 +54616,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(urapmin) => [ - q(6935), + q(6934), q(0), ], q(urarina) => [ - q(6925), + q(6924), q(0), ], q(urartian) => [ - q(7539), + q(7538), q(0), ], q(urat) => [ - q(6940), + q(6939), q(0), ], q(urdu) => [ @@ -54602,87 +54636,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(urhobo) => [ - q(6931), + q(6930), q(0), ], q(uri) => [ - q(6963), + q(6962), q(0), ], q(urigina) => [ - q(6930), + q(6929), q(0), ], q(urim) => [ - q(6932), + q(6931), q(0), ], q(urimo) => [ - q(6944), + q(6943), q(0), ], q(uripiv-wala-rano-atchin) => [ - q(6924), + q(6923), q(0), ], q(urningangg) => [ - q(6927), + q(6926), q(0), ], q(uru) => [ - q(6928), + q(6927), q(0), ], q(uru-eu-wau-wau) => [ - q(6946), + q(6945), q(0), ], q(uru-pa-in) => [ - q(6938), + q(6937), q(0), ], q(uruangnirin) => [ - q(6936), + q(6935), q(0), ], q(uruava) => [ - q(6942), + q(6941), q(0), ], q(urubu-kaapor) => [ - q(6926), + q(6925), q(0), ], q(urubu-kaapor sign language) => [ - q(6885), + q(6884), q(0), ], q(uruguayan sign language) => [ - q(6873), + q(6872), q(0), ], q(urum) => [ - q(6958), + q(6957), q(0), ], q(urumi) => [ - q(6941), + q(6940), q(0), ], q(usaghade) => [ - q(6950), + q(6949), q(0), ], q(usan) => [ - q(7192), + q(7191), q(0), ], q(usarufa) => [ - q(6947), + q(6946), q(0), ], q(ushojo) => [ - q(6948), + q(6947), q(0), ], q(usila chinantec) => [ @@ -54690,15 +54724,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(usku) => [ - q(6893), + q(6892), q(0), ], q(uspanteco) => [ - q(6951), + q(6950), q(0), ], q(usui) => [ - q(6949), + q(6948), q(0), ], q(ut-ma'in) => [ @@ -54706,11 +54740,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(utarmbung) => [ - q(5259), + q(5258), q(0), ], q(ute-southern paiute) => [ - q(6954), + q(6953), q(0), ], q(uto-aztecan languages) => [ @@ -54718,7 +54752,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(utu) => [ - q(6957), + q(6956), q(0), ], q(uvbie) => [ @@ -54726,7 +54760,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(uya) => [ - q(6952), + q(6951), q(0), ], q(uyajitaya) => [ @@ -54750,19 +54784,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(v'enen taut) => [ - q(4962), + q(4961), q(1), ], q(vaagri booli) => [ - q(6969), + q(6968), q(0), ], q(vaeakau-taumako) => [ - q(5467), + q(5466), q(1), ], q(vafsi) => [ - q(6971), + q(6970), q(0), ], q(vaghat-ya-bijim-legeri) => [ @@ -54770,15 +54804,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(vaghri) => [ - q(6994), + q(6993), q(0), ], q(vaghua) => [ - q(6779), + q(6778), q(0), ], q(vagla) => [ - q(6972), + q(6971), q(0), ], q(vai) => [ @@ -54786,11 +54820,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(vaiphei) => [ - q(6979), + q(6978), q(0), ], q(vale) => [ - q(6970), + q(6969), q(0), ], q(valencian) => [ @@ -54798,7 +54832,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(valencian sign language) => [ - q(7049), + q(7048), q(0), ], q(valle nacional chinantec) => [ @@ -54806,83 +54840,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(valley maidu) => [ - q(7035), + q(7034), q(0), ], q(valman) => [ - q(6977), + q(6976), q(0), ], q(valpei) => [ - q(7015), + q(7014), q(0), ], q(vamale) => [ - q(4360), + q(4359), q(0), ], q(vame) => [ - q(4382), + q(4381), q(0), ], q(vandalic) => [ - q(7544), + q(7543), q(0), ], q(vangunu) => [ - q(4471), + q(4470), q(0), ], q(vanimo) => [ - q(6976), + q(6975), q(0), ], q(vano) => [ - q(7040), + q(7039), q(0), ], q(vanuma) => [ - q(6982), + q(6981), q(0), ], q(vao) => [ - q(6978), + q(6977), q(0), ], q(varhadi-nagpuri) => [ - q(6973), + q(6972), q(0), ], q(varisi) => [ - q(7045), + q(7044), q(0), ], q(varli) => [ - q(6983), + q(6982), q(0), ], q(vasavi) => [ - q(6981), + q(6980), q(0), ], q(vasekele) => [ - q(6974), + q(6973), q(3), ], q(veddah) => [ - q(6988), + q(6987), q(0), ], q(vehes) => [ - q(6975), + q(6974), q(0), ], q(veluws) => [ - q(6989), + q(6988), q(0), ], q(vemgo-mabas) => [ - q(6990), + q(6989), q(0), ], q(venda) => [ @@ -54890,15 +54924,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(venetian) => [ - q(6987), + q(6986), q(0), ], q(venetic) => [ - q(7542), + q(7541), q(0), ], q(venezuelan sign language) => [ - q(7048), + q(7047), q(0), ], q(vengo) => [ @@ -54906,27 +54940,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(ventureno) => [ - q(6991), + q(6990), q(0), ], q(veps) => [ - q(6992), + q(6991), q(0), ], q(vera'a) => [ - q(7044), + q(7043), q(0), ], q(vestinian) => [ - q(7546), + q(7545), q(0), ], q(vidunda) => [ - q(6997), + q(6996), q(0), ], q(viemo) => [ - q(6999), + q(6998), q(0), ], q(vietnamese) => [ @@ -54934,15 +54968,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(viid) => [ - q(6150), + q(6149), q(1), ], q(vilela) => [ - q(7000), + q(6999), q(0), ], q(vili) => [ - q(6998), + q(6997), q(0), ], q(villa viciosa agta) => [ @@ -54950,47 +54984,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(vincentian creole english) => [ - q(6292), + q(6291), q(0), ], q(vinmavis) => [ - q(7041), + q(7040), q(0), ], q(vinza) => [ - q(7001), + q(7000), q(0), ], q(virgin islands creole english) => [ - q(6996), + q(6995), q(0), ], q(vishavan) => [ - q(7002), + q(7001), q(0), ], q(viti) => [ - q(7003), + q(7002), q(0), ], q(vitou) => [ - q(7050), + q(7049), q(0), ], q(vitu) => [ - q(7140), + q(7139), q(0), ], q(vlaams) => [ - q(7016), + q(7015), q(0), ], q(vlaamse gebarentaal) => [ - q(6995), + q(6994), q(0), ], q(vlax romani) => [ - q(5826), + q(5825), q(0), ], q(volapuk) => [ @@ -54998,15 +55032,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(volscian) => [ - q(7545), + q(7544), q(0), ], q(vono) => [ - q(3215), + q(3214), q(0), ], q(voro) => [ - q(7043), + q(7042), q(0), ], q(votic) => [ @@ -55014,123 +55048,123 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(vumbu) => [ - q(7051), + q(7050), q(0), ], q(vunapu) => [ - q(7042), + q(7041), q(0), ], q(vunjo) => [ - q(7052), + q(7051), q(0), ], q(vure) => [ - q(3948), + q(3947), q(1), ], q(vures) => [ - q(4542), + q(4541), q(0), ], q(vute) => [ - q(7053), + q(7052), q(0), ], q(vwanji) => [ - q(7081), + q(7080), q(0), ], q(wa) => [ - q(7085), + q(7084), q(0), ], q(wa'ema) => [ - q(7061), + q(7060), q(0), ], q(waama) => [ - q(7258), + q(7257), q(0), ], q(waamwang) => [ - q(7175), + q(7174), q(0), ], q(waata) => [ - q(6241), + q(6240), q(0), ], q(wab) => [ - q(7056), + q(7055), q(0), ], q(wabo) => [ - q(7078), + q(7077), q(0), ], q(waboda) => [ - q(3476), + q(3475), q(0), ], q(waci gbe) => [ - q(7093), + q(7092), q(0), ], q(wadaginam) => [ - q(7095), + q(7094), q(0), ], q(waddar) => [ - q(7087), + q(7086), q(0), ], q(wadi wadi) => [ - q(7549), + q(7548), q(0), ], q(wadikali) => [ - q(7097), + q(7096), q(0), ], q(wadiyara koli) => [ - q(3730), + q(3729), q(0), ], q(wadjabangayi) => [ - q(7099), + q(7098), q(0), ], q(wadjiginy) => [ - q(7096), + q(7095), q(0), ], q(wadjigu) => [ - q(7098), + q(7097), q(0), ], q(wae rana) => [ - q(7229), + q(7228), q(0), ], q(waffa) => [ - q(7064), + q(7063), q(0), ], q(wagawaga) => [ - q(7116), + q(7115), q(0), ], q(wagaya) => [ - q(7115), + q(7114), q(0), ], q(wagdi) => [ - q(7088), + q(7087), q(0), ], q(wageman) => [ - q(7069), + q(7068), q(0), ], q(wagi) => [ @@ -55138,39 +55172,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(wahau kayan) => [ - q(7125), + q(7124), q(0), ], q(wahau kenyah) => [ - q(7124), + q(7123), q(0), ], q(wahgi) => [ - q(7118), + q(7117), q(0), ], q(waigali) => [ - q(7083), + q(7082), q(0), ], q(waigeo) => [ - q(7119), + q(7118), q(0), ], q(wailaki) => [ - q(7156), + q(7155), q(0), ], q(wailapa) => [ - q(7160), + q(7159), q(0), ], q(waima) => [ - q(5851), + q(5850), q(0), ], q(waima'a) => [ - q(7172), + q(7171), q(0), ], q(waimaha) => [ @@ -55182,31 +55216,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(waioli) => [ - q(7155), + q(7154), q(0), ], q(waiwai) => [ - q(7073), + q(7072), q(0), ], q(waja) => [ - q(7142), + q(7141), q(0), ], q(wajarri) => [ - q(7090), + q(7089), q(0), ], q(wajuk) => [ - q(7552), + q(7551), q(0), ], q(waka) => [ - q(7072), + q(7071), q(0), ], q(wakabunga) => [ - q(7259), + q(7258), q(0), ], q(wakashan languages) => [ @@ -55214,27 +55248,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(wakawaka) => [ - q(7149), + q(7148), q(0), ], q(wakde) => [ - q(7146), + q(7145), q(0), ], q(wakhi) => [ - q(7084), + q(7083), q(0), ], q(wakona) => [ - q(7060), + q(7059), q(0), ], q(wala) => [ - q(3891), + q(3890), q(0), ], q(walak) => [ - q(7164), + q(7163), q(0), ], q(walamo) => [ @@ -55242,31 +55276,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(walangama) => [ - q(4957), + q(4956), q(0), ], q(wali (ghana)) => [ - q(7165), + q(7164), q(0), ], q(wali (sudan)) => [ - q(7157), + q(7156), q(0), ], q(waling) => [ - q(7166), + q(7165), q(0), ], q(walio) => [ - q(7151), + q(7150), q(0), ], q(walla walla) => [ - q(7055), + q(7054), q(0), ], q(wallisian) => [ - q(7161), + q(7160), q(0), ], q(walloon) => [ @@ -55274,31 +55308,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(walmajarri) => [ - q(7178), + q(7177), q(0), ], q(walser) => [ - q(7059), + q(7058), q(0), ], q(walungge) => [ - q(5242), + q(5241), q(0), ], q(wamas) => [ - q(7169), + q(7168), q(0), ], q(wambaya) => [ - q(7168), + q(7167), q(0), ], q(wambon) => [ - q(7177), + q(7176), q(0), ], q(wambule) => [ - q(7171), + q(7170), q(0), ], q(wamey) => [ @@ -55306,31 +55340,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(wamin) => [ - q(7173), + q(7172), q(0), ], q(wampanoag) => [ - q(7065), + q(7064), q(0), ], q(wampar) => [ - q(3825), + q(3824), q(0), ], q(wampur) => [ - q(7076), + q(7075), q(0), ], q(wan) => [ - q(7066), + q(7065), q(0), ], q(wanambre) => [ - q(7181), + q(7180), q(0), ], q(wanap) => [ - q(7191), + q(7190), q(0), ], q(wanbasana) => [ @@ -55338,87 +55372,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(wancho naga) => [ - q(5001), + q(5000), q(0), ], q(wanda) => [ - q(7080), + q(7079), q(0), ], q(wandala) => [ - q(4232), + q(4231), q(0), ], q(wandamen) => [ - q(7058), + q(7057), q(0), ], q(wandarang) => [ - q(7183), + q(7182), q(0), ], q(wandji) => [ - q(7094), + q(7093), q(0), ], q(wane) => [ - q(2880), + q(2879), q(0), ], q(waneci) => [ - q(7184), + q(7183), q(0), ], q(wanga) => [ - q(4099), + q(4098), q(0), ], q(wangaaybuwan-ngiyambaa) => [ - q(7266), + q(7265), q(0), ], q(wanggamala) => [ - q(7188), + q(7187), q(0), ], q(wangganguru) => [ - q(7117), + q(7116), q(0), ], q(wanggom) => [ - q(7185), + q(7184), q(0), ], q(wangkayutyuru) => [ - q(7150), + q(7149), q(0), ], q(wangkumara) => [ - q(7553), + q(7552), q(0), ], q(wanman) => [ - q(7089), + q(7088), q(0), ], q(wannu) => [ - q(3147), + q(3146), q(0), ], q(wano) => [ - q(7190), + q(7189), q(0), ], q(wantoat) => [ - q(7182), + q(7181), q(0), ], q(wanukaka) => [ - q(7187), + q(7186), q(0), ], q(wanyi) => [ - q(7194), + q(7193), q(0), ], q(waorani) => [ @@ -55426,19 +55460,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(wapan) => [ - q(3152), + q(3151), q(0), ], q(wapha) => [ - q(3162), + q(3161), q(0), ], q(wapishana) => [ - q(7068), + q(7067), q(0), ], q(wappo) => [ - q(7067), + q(7066), q(0), ], q(war-jaintia) => [ @@ -55446,15 +55480,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(wara) => [ - q(6412), + q(6411), q(0), ], q(warao) => [ - q(7077), + q(7076), q(0), ], q(warapu) => [ - q(7212), + q(7211), q(0), ], q(waray) => [ @@ -55462,7 +55496,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(waray (australia)) => [ - q(7231), + q(7230), q(0), ], q(waray (philippines)) => [ @@ -55470,39 +55504,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(wardaman) => [ - q(7224), + q(7223), q(0), ], q(wardandi) => [ - q(7264), + q(7263), q(0), ], q(warduji) => [ - q(7214), + q(7213), q(0), ], q(warembori) => [ - q(7232), + q(7231), q(0), ], q(wares) => [ - q(7063), + q(7062), q(0), ], q(waris) => [ - q(7225), + q(7224), q(0), ], q(waritai) => [ - q(7079), + q(7078), q(0), ], q(wariyangga) => [ - q(7217), + q(7216), q(0), ], q(warji) => [ - q(7143), + q(7142), q(0), ], q(warkay-bipim) => [ @@ -55510,63 +55544,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(warlmanpa) => [ - q(7219), + q(7218), q(0), ], q(warlpiri) => [ - q(7086), + q(7085), q(0), ], q(warluwara) => [ - q(7213), + q(7212), q(0), ], q(warnang) => [ - q(7221), + q(7220), q(0), ], q(waropen) => [ - q(7223), + q(7222), q(0), ], q(warrgamay) => [ - q(7121), + q(7120), q(0), ], q(warrwa) => [ - q(7261), + q(7260), q(0), ], q(waru) => [ - q(7226), + q(7225), q(0), ], q(warumungu) => [ - q(7220), + q(7219), q(0), ], q(waruna) => [ - q(7227), + q(7226), q(0), ], q(warungu) => [ - q(7215), + q(7214), q(0), ], q(warwar feni) => [ - q(2840), + q(2839), q(0), ], q(wasa) => [ - q(7236), + q(7235), q(0), ], q(wasco-wishram) => [ - q(7057), + q(7056), q(0), ], q(wasembo) => [ - q(2638), + q(2637), q(0), ], q(washo) => [ @@ -55574,63 +55608,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(waskia) => [ - q(7234), + q(7233), q(0), ], q(wasu) => [ - q(7237), + q(7236), q(0), ], q(watakataui) => [ - q(7242), + q(7241), q(0), ], q(watam) => [ - q(7074), + q(7073), q(0), ], q(wathawurrung) => [ - q(7240), + q(7239), q(0), ], q(watiwa) => [ - q(7239), + q(7238), q(0), ], q(watubela) => [ - q(7062), + q(7061), q(0), ], q(waube) => [ - q(3514), + q(3513), q(0), ], q(waura) => [ - q(7071), + q(7070), q(0), ], q(wauyai) => [ - q(7257), + q(7256), q(0), ], q(wawa) => [ - q(7262), + q(7261), q(0), ], q(wawonii) => [ - q(7209), + q(7208), q(0), ], q(waxianghua) => [ - q(7263), + q(7262), q(0), ], q(wayampi) => [ - q(5342), + q(5341), q(0), ], q(wayana) => [ - q(7075), + q(7074), q(0), ], q(wayanad chetti) => [ @@ -55638,43 +55672,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(wayoro) => [ - q(7269), + q(7268), q(0), ], q(wayu) => [ - q(6984), + q(6983), q(0), ], q(wayuu) => [ - q(2644), + q(2643), q(0), ], q(we northern) => [ - q(7196), + q(7195), q(0), ], q(we southern) => [ - q(2694), + q(2693), q(0), ], q(we western) => [ - q(7101), + q(7100), q(0), ], q(wedau) => [ - q(7102), + q(7101), q(0), ], q(weh) => [ - q(7104), + q(7103), q(0), ], q(wejewa) => [ - q(7113), + q(7112), q(0), ], q(weliki) => [ - q(3435), + q(3434), q(0), ], q(welsh) => [ @@ -55682,31 +55716,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(welsh romani) => [ - q(5824), + q(5823), q(0), ], q(wemale) => [ - q(7107), + q(7106), q(0), ], q(wemba wemba) => [ - q(7558), + q(7557), q(0), ], q(weme gbe) => [ - q(7106), + q(7105), q(0), ], q(wergaia) => [ - q(7103), + q(7102), q(0), ], q(weri) => [ - q(7109), + q(7108), q(0), ], q(wersing) => [ - q(3688), + q(3687), q(0), ], q(west albay bikol) => [ @@ -55714,7 +55748,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(west ambae) => [ - q(4990), + q(4989), q(0), ], q(west berawan) => [ @@ -55746,19 +55780,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(west kewa) => [ - q(3278), + q(3277), q(0), ], q(west lembata) => [ - q(3984), + q(3983), q(0), ], q(west makian) => [ - q(4497), + q(4496), q(0), ], q(west masela) => [ - q(4547), + q(4546), q(0), ], q(west slavic languages) => [ @@ -55766,19 +55800,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(west tarangan) => [ - q(6820), + q(6819), q(0), ], q(west uvean) => [ - q(6962), + q(6961), q(0), ], q(west yugur) => [ - q(7600), + q(7599), q(0), ], q(west-central limba) => [ - q(3909), + q(3908), q(0), ], q(western abnaki) => [ @@ -55798,7 +55832,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(western bolivian guarani) => [ - q(2583), + q(2582), q(0), ], q(western bru) => [ @@ -55806,11 +55840,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(western bukidnon manobo) => [ - q(4128), + q(4127), q(0), ], q(western canadian inuktitut) => [ - q(2947), + q(2946), q(1), ], q(western cham) => [ @@ -55826,7 +55860,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(western fijian) => [ - q(7270), + q(7269), q(0), ], q(western frisian) => [ @@ -55834,7 +55868,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(western gurung) => [ - q(2676), + q(2675), q(0), ], q(western highland chatino) => [ @@ -55842,39 +55876,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(western highland purepecha) => [ - q(5640), + q(5639), q(0), ], q(western huasteca nahuatl) => [ - q(4878), + q(4877), q(0), ], q(western juxtlahuaca mixtec) => [ - q(3126), + q(3125), q(0), ], q(western kanjobal) => [ - q(3487), + q(3486), q(0), ], q(western karaboro) => [ - q(3767), + q(3766), q(0), ], q(western katu) => [ - q(3649), + q(3648), q(0), ], q(western kayah) => [ - q(3761), + q(3760), q(0), ], q(western keres) => [ - q(3393), + q(3392), q(0), ], q(western krahn) => [ - q(3589), + q(3588), q(0), ], q(western lalu) => [ @@ -55882,11 +55916,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(western lawa) => [ - q(3842), + q(3841), q(0), ], q(western magar) => [ - q(4508), + q(4507), q(0), ], q(western malayo-polynesian languages) => [ @@ -55894,27 +55928,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(western maninkakan) => [ - q(4381), + q(4380), q(0), ], q(western mari) => [ - q(4513), + q(4512), q(0), ], q(western mashan hmong) => [ - q(2797), + q(2796), q(0), ], q(western mashan miao) => [ - q(2797), + q(2796), q(1), ], q(western meohang) => [ - q(5739), + q(5738), q(0), ], q(western muria) => [ - q(4594), + q(4593), q(0), ], q(western neo-aramaic) => [ @@ -55926,7 +55960,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(western ojibwa) => [ - q(5223), + q(5222), q(0), ], q(western pahari languages) => [ @@ -55934,47 +55968,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(western panjabi) => [ - q(5530), + q(5529), q(0), ], q(western parbate kham) => [ - q(3388), + q(3387), q(0), ], q(western penan) => [ - q(5532), + q(5531), q(0), ], q(western sisaala) => [ - q(6239), + q(6238), q(0), ], q(western subanon) => [ - q(6278), + q(6277), q(0), ], q(western tamang) => [ - q(6433), + q(6432), q(0), ], q(western tawbuid) => [ - q(6792), + q(6791), q(0), ], q(western totonac) => [ - q(6684), + q(6683), q(0), ], q(western tunebo) => [ - q(6611), + q(6610), q(0), ], q(western xiangxi miao) => [ - q(4406), + q(4405), q(0), ], q(western xwla gbe) => [ - q(7554), + q(7553), q(0), ], q(western yiddish) => [ @@ -55982,19 +56016,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(westphalien) => [ - q(7108), + q(7107), q(0), ], q(wetamut) => [ - q(7260), + q(7259), q(0), ], q(wewaw) => [ - q(7100), + q(7099), q(0), ], q(weyto) => [ - q(7210), + q(7209), q(0), ], q(white gelao) => [ @@ -56002,75 +56036,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(white lachi) => [ - q(4100), + q(4099), q(0), ], q(whitesands) => [ - q(6623), + q(6622), q(0), ], q(wiarumus) => [ - q(6759), + q(6758), q(0), ], q(wichi lhamtes guisnay) => [ - q(4699), + q(4698), q(0), ], q(wichi lhamtes nocten) => [ - q(4569), + q(4568), q(0), ], q(wichi lhamtes vejoz) => [ - q(7163), + q(7162), q(0), ], q(wichita) => [ - q(7127), + q(7126), q(0), ], q(wik-epa) => [ - q(7128), + q(7127), q(0), ], q(wik-iiyanh) => [ - q(7133), + q(7132), q(0), ], q(wik-keyangan) => [ - q(7129), + q(7128), q(0), ], q(wik-me'anha) => [ - q(7131), + q(7130), q(0), ], q(wik-mungkan) => [ - q(7136), + q(7135), q(0), ], q(wik-ngathana) => [ - q(7130), + q(7129), q(0), ], q(wikalkan) => [ - q(7134), + q(7133), q(0), ], q(wikngenchera) => [ - q(7245), + q(7244), q(0), ], q(wilawila) => [ - q(7135), + q(7134), q(0), ], q(wintu) => [ - q(7193), + q(7192), q(0), ], q(winye) => [ - q(3612), + q(3611), q(0), ], q(wipi) => [ @@ -56078,47 +56112,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(wiradhuri) => [ - q(7216), + q(7215), q(0), ], q(wirafed) => [ - q(7138), + q(7137), q(0), ], q(wirangu) => [ - q(7120), + q(7119), q(0), ], q(wiru) => [ - q(7139), + q(7138), q(0), ], q(wiyot) => [ - q(7141), + q(7140), q(0), ], q(woccon) => [ - q(7548), + q(7547), q(0), ], q(wogamusin) => [ - q(7201), + q(7200), q(0), ], q(wogeo) => [ - q(7197), + q(7196), q(0), ], q(woi) => [ - q(7091), + q(7090), q(0), ], q(woiwurrung) => [ - q(7267), + q(7266), q(0), ], q(wojenaka) => [ - q(3135), + q(3134), q(0), ], q(wolaitta) => [ @@ -56126,11 +56160,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(2), ], q(wolane) => [ - q(7153), + q(7152), q(0), ], q(wolani) => [ - q(7198), + q(7197), q(0), ], q(wolaytta) => [ @@ -56138,11 +56172,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(woleaian) => [ - q(7199), + q(7198), q(0), ], q(wolio) => [ - q(7159), + q(7158), q(0), ], q(wolof) => [ @@ -56150,19 +56184,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(wom (nigeria)) => [ - q(7204), + q(7203), q(0), ], q(wom (papua new guinea)) => [ - q(7176), + q(7175), q(0), ], q(womo) => [ - q(7180), + q(7179), q(0), ], q(wongo) => [ - q(7205), + q(7204), q(0), ], q(woods cree) => [ @@ -56170,43 +56204,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(woria) => [ - q(7207), + q(7206), q(0), ], q(worimi) => [ - q(3234), + q(3233), q(0), ], q(worodougou) => [ - q(3149), + q(3148), q(0), ], q(worrorra) => [ - q(7222), + q(7221), q(0), ], q(wotapuri-katarqalai) => [ - q(7238), + q(7237), q(0), ], q(wotjobaluk) => [ - q(7557), + q(7556), q(0), ], q(wotu) => [ - q(7244), + q(7243), q(0), ], q(woun meu) => [ - q(5011), + q(5010), q(0), ], q(written oirat) => [ - q(7555), + q(7554), q(0), ], q(wu chinese) => [ - q(7254), + q(7253), q(0), ], q(wuding-luquan yi) => [ @@ -56214,15 +56248,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(wudu) => [ - q(7247), + q(7246), q(0), ], q(wuliwuli) => [ - q(7162), + q(7161), q(0), ], q(wulna) => [ - q(7256), + q(7255), q(0), ], q(wumboko) => [ @@ -56230,7 +56264,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(wumbvu) => [ - q(7250), + q(7249), q(0), ], q(wumeng nasu) => [ @@ -56242,15 +56276,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(wunambal) => [ - q(7246), + q(7245), q(0), ], q(wunumara) => [ - q(7189), + q(7188), q(0), ], q(wurrugu) => [ - q(7252), + q(7251), q(0), ], q(wusa nasu) => [ @@ -56262,35 +56296,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(wusi) => [ - q(7233), + q(7232), q(0), ], q(wutung) => [ - q(7253), + q(7252), q(0), ], q(wutunhua) => [ - q(7248), + q(7247), q(0), ], q(wuvulu-aua) => [ - q(7255), + q(7254), q(0), ], q(wuzlam) => [ - q(6865), + q(6864), q(0), ], q(wyandot) => [ - q(7265), + q(7264), q(0), ], q(wymysorys) => [ - q(7268), + q(7267), q(0), ], q(xaasongaxango) => [ - q(3178), + q(3177), q(0), ], q(xadani zapotec) => [ @@ -56298,11 +56332,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(xakriaba) => [ - q(7384), + q(7383), q(0), ], + q(xam) => [ + q(7278), + q(1), + ], q(xamtanga) => [ - q(7280), + q(7279), q(0), ], q(xanaguia zapotec) => [ @@ -56318,15 +56356,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(xavante) => [ - q(7288), + q(7287), q(0), ], + q(xegwi) => [ + q(7328), + q(1), + ], q(xerente) => [ - q(7333), + q(7332), q(0), ], q(xeta) => [ - q(7335), + q(7334), q(0), ], q(xhosa) => [ @@ -56334,19 +56376,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(xiang chinese) => [ - q(2845), + q(2844), q(0), ], q(xibe) => [ - q(6063), + q(6062), q(0), ], q(xicotepec de juarez totonac) => [ - q(6644), + q(6643), q(0), ], q(xinca) => [ - q(7360), + q(7359), q(0), ], q(xingu asurini) => [ @@ -56354,19 +56396,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(xipaya) => [ - q(7365), + q(7364), q(0), ], q(xipinawa) => [ - q(7361), + q(7360), q(0), ], q(xiri) => [ - q(7358), + q(7357), q(0), ], q(xiriana) => [ - q(7362), + q(7361), q(0), ], q(xishanba lalo) => [ @@ -56374,39 +56416,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(xokleng) => [ - q(7449), + q(7448), q(0), ], + q(xoo) => [ + q(4973), + q(1), + ], q(xukuru) => [ - q(7452), + q(7451), q(0), ], q(xwela gbe) => [ - q(7550), + q(7549), q(0), ], q(yaaku) => [ - q(4595), + q(4594), q(0), ], q(yabaana) => [ - q(7607), + q(7606), q(0), ], q(yabarana) => [ - q(7589), + q(7588), q(0), ], q(yabem) => [ - q(3044), + q(3043), q(0), ], q(yaben) => [ - q(7606), + q(7605), q(0), ], q(yabong) => [ - q(7608), + q(7607), q(0), ], q(yabula yabula) => [ @@ -56418,11 +56464,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yaeyama) => [ - q(5883), + q(5882), q(0), ], q(yafi) => [ - q(7114), + q(7113), q(0), ], q(yagara) => [ @@ -56430,31 +56476,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yagaria) => [ - q(7637), + q(7636), q(0), ], q(yagnobi) => [ - q(7582), + q(7581), q(0), ], q(yagomi) => [ - q(7635), + q(7634), q(0), ], q(yagua) => [ - q(7577), + q(7576), q(0), ], q(yagwoia) => [ - q(7640), + q(7639), q(0), ], q(yahadian) => [ - q(4821), + q(4820), q(0), ], q(yahang) => [ - q(5784), + q(5783), q(0), ], q(yahuna) => [ @@ -56466,11 +56512,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yaka (congo)) => [ - q(3036), + q(3035), q(0), ], q(yaka (democratic republic of congo)) => [ - q(7579), + q(7578), q(0), ], q(yakaikeke) => [ @@ -56478,7 +56524,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yakama) => [ - q(7584), + q(7583), q(0), ], q(yakan) => [ @@ -56486,7 +56532,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yakha) => [ - q(7601), + q(7600), q(0), ], q(yakoma) => [ @@ -56498,15 +56544,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yala) => [ - q(7598), + q(7597), q(0), ], q(yalahatan) => [ - q(3049), + q(3048), q(0), ], q(yalakalore) => [ - q(7568), + q(7567), q(0), ], q(yalalag zapotec) => [ @@ -56518,7 +56564,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yale) => [ - q(4765), + q(4764), q(0), ], q(yaleba) => [ @@ -56526,11 +56572,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yalunka) => [ - q(7585), + q(7584), q(0), ], q(yamana) => [ - q(7580), + q(7579), q(0), ], q(yamap) => [ @@ -56538,7 +56584,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yamba) => [ - q(7586), + q(7585), q(0), ], q(yambes) => [ @@ -56546,11 +56592,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yambeta) => [ - q(7591), + q(7590), q(0), ], q(yamdena) => [ - q(3119), + q(3118), q(0), ], q(yameo) => [ @@ -56558,11 +56604,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yami) => [ - q(6368), + q(6367), q(0), ], q(yaminahua) => [ - q(7574), + q(7573), q(0), ], q(yamna) => [ @@ -56574,11 +56620,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yamphu) => [ - q(7602), + q(7601), q(0), ], q(yan-nhangu) => [ - q(3058), + q(3057), + q(0), + ], + q(yan-nhanu sign language) => [ + q(7643), q(0), ], q(yana) => [ @@ -56586,11 +56636,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yanahuanca pasco quechua) => [ - q(5692), + q(5691), q(0), ], q(yanda) => [ - q(7615), + q(7614), q(0), ], q(yanda dom dogon) => [ @@ -56598,7 +56648,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yandjibara) => [ - q(7565), + q(7564), q(0), ], q(yandruwandha) => [ @@ -56614,7 +56664,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yangben) => [ - q(7593), + q(7592), q(0), ], q(yangkam) => [ @@ -56622,7 +56672,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yangman) => [ - q(3129), + q(3128), q(0), ], q(yango) => [ @@ -56634,11 +56684,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yangum dey) => [ - q(7617), + q(7616), q(0), ], q(yangum gel) => [ - q(7634), + q(7633), q(0), ], q(yangum mon) => [ @@ -56646,15 +56696,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yankunytjatjara) => [ - q(3236), + q(3235), q(0), ], q(yanomami) => [ - q(7092), + q(7091), q(0), ], q(yanomamo) => [ - q(2661), + q(2660), q(0), ], q(yansi) => [ @@ -56662,7 +56712,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yanyuwa) => [ - q(3052), + q(3051), q(0), ], q(yao) => [ @@ -56682,15 +56732,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yapunda) => [ - q(7630), + q(7629), q(0), ], q(yaqay) => [ - q(3053), + q(3052), q(0), ], q(yaqui) => [ - q(7588), + q(7587), q(0), ], q(yarawata) => [ @@ -56754,11 +56804,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yauma) => [ - q(7595), + q(7594), q(0), ], q(yaur) => [ - q(3056), + q(3055), q(0), ], q(yautepec zapotec) => [ @@ -56766,7 +56816,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yauyos quechua) => [ - q(5696), + q(5695), q(0), ], q(yavitero) => [ @@ -56778,7 +56828,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yawalapiti) => [ - q(7594), + q(7593), q(0), ], q(yawanawa) => [ @@ -56790,15 +56840,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yaweyuha) => [ - q(7610), + q(7609), q(0), ], q(yawijibaya) => [ - q(3068), + q(3067), q(0), ], q(yawiyo) => [ - q(7609), + q(7608), q(0), ], q(yawuru) => [ @@ -56806,19 +56856,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yaygir) => [ - q(7564), + q(7563), q(0), ], q(yazgulyam) => [ - q(7581), + q(7580), q(0), ], q(yecuatla totonac) => [ - q(6567), + q(6566), q(0), ], q(yei) => [ - q(3078), + q(3077), q(0), ], q(yekhee) => [ @@ -56830,7 +56880,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yela) => [ - q(7625), + q(7624), q(0), ], q(yele) => [ @@ -56838,7 +56888,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yelmek) => [ - q(3080), + q(3079), q(0), ], q(yelogu) => [ @@ -56846,11 +56896,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yemba) => [ - q(7599), + q(7598), q(0), ], q(yemsa) => [ - q(3131), + q(3130), q(0), ], q(yendang) => [ @@ -56858,11 +56908,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yeni) => [ - q(7623), + q(7622), q(0), ], q(yeniche) => [ - q(7621), + q(7620), q(0), ], q(yerakai) => [ @@ -56870,7 +56920,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yeretuar) => [ - q(2598), + q(2597), q(0), ], q(yerong) => [ @@ -56878,7 +56928,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yerukula) => [ - q(7629), + q(7628), q(0), ], q(yessan-mayo) => [ @@ -56886,15 +56936,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yetfa) => [ - q(7628), + q(7627), q(0), ], q(yevanic) => [ - q(7624), + q(7623), q(0), ], q(yeyi) => [ - q(7631), + q(7630), q(0), ], q(yiddish) => [ @@ -56902,7 +56952,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yidgha) => [ - q(7618), + q(7617), q(0), ], q(yidiny) => [ @@ -56914,7 +56964,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yimas) => [ - q(7622), + q(7621), q(0), ], q(yimchungru naga) => [ @@ -56922,7 +56972,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yinbaw karen) => [ - q(3686), + q(3685), q(0), ], q(yinchia) => [ @@ -56938,7 +56988,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yine) => [ - q(5449), + q(5448), q(0), ], q(yinggarda) => [ @@ -56950,15 +57000,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yiningayi) => [ - q(7633), + q(7632), q(0), ], q(yintale) => [ - q(3690), + q(3689), q(1), ], q(yintale karen) => [ - q(3690), + q(3689), q(0), ], q(yinwum) => [ @@ -56974,7 +57024,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yirandali) => [ - q(3936), + q(3935), q(0), ], q(yirrk-mel) => [ @@ -56986,7 +57036,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yitha yitha) => [ - q(7512), + q(7511), q(0), ], q(yiwom) => [ @@ -56998,7 +57048,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yocoboue dida) => [ - q(2645), + q(2644), q(0), ], q(yogad) => [ @@ -57006,7 +57056,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yoidik) => [ - q(7619), + q(7618), q(0), ], q(yoke) => [ @@ -57022,15 +57072,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yolnu sign language) => [ - q(7638), + q(7637), q(0), ], q(yoloxochitl mixtec) => [ - q(7527), + q(7526), q(0), ], q(yom) => [ - q(5458), + q(5457), q(0), ], q(yombe) => [ @@ -57062,7 +57112,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yora) => [ - q(4572), + q(4571), q(0), ], q(yoron) => [ @@ -57070,7 +57120,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yorta yorta) => [ - q(7570), + q(7569), q(0), ], q(yoruba) => [ @@ -57078,7 +57128,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yosondua mixtec) => [ - q(4466), + q(4465), q(0), ], q(yotti) => [ @@ -57090,7 +57140,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(youle jinuo) => [ - q(3104), + q(3103), q(0), ], q(younuo bunu) => [ @@ -57106,7 +57156,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yuanga) => [ - q(5103), + q(5102), q(0), ], q(yucatec maya) => [ @@ -57114,7 +57164,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(1), ], q(yucatec maya sign language) => [ - q(4532), + q(4531), q(0), ], q(yucateco) => [ @@ -57126,11 +57176,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yucuane mixtec) => [ - q(4605), + q(4604), q(0), ], q(yucuna) => [ - q(7613), + q(7612), q(0), ], q(yue chinese) => [ @@ -57150,11 +57200,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yugul) => [ - q(7639), + q(7638), q(0), ], q(yuhup) => [ - q(7575), + q(7574), q(0), ], q(yuki) => [ @@ -57166,7 +57216,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yukuben) => [ - q(7605), + q(7604), q(0), ], q(yulu) => [ @@ -57186,7 +57236,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yurats) => [ - q(5859), + q(5858), q(0), ], q(yurok) => [ @@ -57194,7 +57244,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yuru) => [ - q(3937), + q(3936), q(0), ], q(yuruti) => [ @@ -57202,11 +57252,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(yutanduchi mixtec) => [ - q(4115), + q(4114), q(0), ], q(yuwana) => [ - q(7592), + q(7591), q(0), ], q(yuyu) => [ @@ -57218,7 +57268,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(zabana) => [ - q(3385), + q(3384), q(0), ], q(zacatepec chatino) => [ @@ -57226,7 +57276,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(zacatlan-ahuacatlan-tepetzintla nahuatl) => [ - q(4867), + q(4866), q(0), ], q(zaghawa) => [ @@ -57306,7 +57356,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(zayein karen) => [ - q(3725), + q(3724), q(0), ], q(zayse-zergulla) => [ @@ -57326,7 +57376,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(5), ], q(zazao) => [ - q(3047), + q(3046), q(0), ], q(zeem) => [ @@ -57342,11 +57392,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(zeme naga) => [ - q(5179), + q(5178), q(0), ], q(zemgalian) => [ - q(7572), + q(7571), q(0), ], q(zenag) => [ @@ -57370,7 +57420,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(zhang-zhung) => [ - q(7571), + q(7570), q(0), ], q(zhire) => [ @@ -57414,7 +57464,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(zire) => [ - q(6038), + q(6037), q(0), ], q(ziriya) => [ @@ -57426,7 +57476,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(zo'e) => [ - q(5631), + q(5630), q(0), ], q(zokhuo) => [ @@ -57442,7 +57492,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(zorop) => [ - q(7114), + q(7113), q(1), ], q(zotung chin) => [ @@ -57466,7 +57516,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = { q(0), ], q(zumbun) => [ - q(3117), + q(3116), q(0), ], q(zuni) => [ @@ -67108,55 +67158,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(gnq) => [ - q(2579), - q(0), + q(2574), + q(1), ], q(gnr) => [ - q(2580), + q(2579), q(0), ], q(gnt) => [ - q(2581), + q(2580), q(0), ], q(gnu) => [ - q(2582), + q(2581), q(0), ], q(gnw) => [ - q(2583), + q(2582), q(0), ], q(gnz) => [ - q(2584), + q(2583), q(0), ], q(goa) => [ - q(2585), + q(2584), q(0), ], q(gob) => [ - q(2586), + q(2585), q(0), ], q(goc) => [ - q(2587), + q(2586), q(0), ], q(god) => [ - q(2588), + q(2587), q(0), ], q(goe) => [ - q(2589), + q(2588), q(0), ], q(gof) => [ - q(2590), + q(2589), q(0), ], q(gog) => [ - q(2591), + q(2590), q(0), ], q(goh) => [ @@ -67164,23 +67214,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(1), ], q(goi) => [ - q(2592), + q(2591), q(0), ], q(goj) => [ - q(2593), + q(2592), q(0), ], q(gok) => [ - q(2594), + q(2593), q(0), ], q(gol) => [ - q(2595), + q(2594), q(0), ], q(gom) => [ - q(2596), + q(2595), q(0), ], q(gon) => [ @@ -67188,15 +67238,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(goo) => [ - q(2597), + q(2596), q(0), ], q(gop) => [ - q(2598), + q(2597), q(0), ], q(goq) => [ - q(2599), + q(2598), q(0), ], q(gor) => [ @@ -67204,7 +67254,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(gos) => [ - q(2600), + q(2599), q(0), ], q(got) => [ @@ -67212,59 +67262,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(gou) => [ - q(2601), + q(2600), q(0), ], q(gow) => [ - q(2602), + q(2601), q(0), ], q(gox) => [ - q(2603), + q(2602), q(0), ], q(goy) => [ - q(2604), + q(2603), q(0), ], q(goz) => [ - q(2605), + q(2604), q(0), ], q(gpa) => [ - q(2606), + q(2605), q(0), ], q(gpe) => [ - q(2607), + q(2606), q(0), ], q(gpn) => [ - q(2608), + q(2607), q(0), ], q(gqa) => [ - q(2609), + q(2608), q(0), ], q(gqi) => [ - q(2610), + q(2609), q(0), ], q(gqn) => [ - q(2611), + q(2610), q(0), ], q(gqr) => [ - q(2612), + q(2611), q(0), ], q(gqu) => [ - q(2613), + q(2612), q(0), ], q(gra) => [ - q(2614), + q(2613), q(0), ], q(grb) => [ @@ -67276,7 +67326,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(1), ], q(grd) => [ - q(2615), + q(2614), q(0), ], q(gre) => [ @@ -67284,19 +67334,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(grg) => [ - q(2616), + q(2615), q(0), ], q(grh) => [ - q(2617), + q(2616), q(0), ], q(gri) => [ - q(2618), + q(2617), q(0), ], q(grj) => [ - q(2619), + q(2618), q(0), ], q(grk) => [ @@ -67304,7 +67354,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(grm) => [ - q(2620), + q(2619), q(0), ], q(grn) => [ @@ -67312,79 +67362,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(gro) => [ - q(2621), + q(2620), q(0), ], q(grq) => [ - q(2622), + q(2621), q(0), ], q(grr) => [ - q(2623), + q(2622), q(0), ], q(grs) => [ - q(2624), + q(2623), q(0), ], q(grt) => [ - q(2625), + q(2624), q(0), ], q(gru) => [ - q(2626), + q(2625), q(0), ], q(grv) => [ - q(2627), + q(2626), q(0), ], q(grw) => [ - q(2628), + q(2627), q(0), ], q(grx) => [ - q(2629), + q(2628), q(0), ], q(gry) => [ - q(2630), + q(2629), q(0), ], q(grz) => [ - q(2631), + q(2630), q(0), ], q(gse) => [ - q(2632), + q(2631), q(0), ], q(gsg) => [ - q(2633), + q(2632), q(0), ], q(gsl) => [ - q(2634), + q(2633), q(0), ], q(gsm) => [ - q(2635), + q(2634), q(0), ], q(gsn) => [ - q(2636), + q(2635), q(0), ], q(gso) => [ - q(2637), + q(2636), q(0), ], q(gsp) => [ - q(2638), + q(2637), q(0), ], q(gss) => [ - q(2639), + q(2638), q(0), ], q(gsw) => [ @@ -67392,47 +67442,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(gta) => [ - q(2640), + q(2639), q(0), ], q(gtu) => [ - q(2641), + q(2640), q(0), ], q(gua) => [ - q(2642), + q(2641), q(0), ], q(gub) => [ - q(2643), + q(2642), q(0), ], q(guc) => [ - q(2644), + q(2643), q(0), ], q(gud) => [ - q(2645), + q(2644), q(0), ], q(gue) => [ - q(2646), + q(2645), q(0), ], q(guf) => [ - q(2647), + q(2646), q(0), ], q(gug) => [ - q(2648), + q(2647), q(0), ], q(guh) => [ - q(2649), + q(2648), q(0), ], q(gui) => [ - q(2650), + q(2649), q(0), ], q(guj) => [ @@ -67440,143 +67490,143 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(guk) => [ - q(2651), + q(2650), q(0), ], q(gul) => [ - q(2652), + q(2651), q(0), ], q(gum) => [ - q(2653), + q(2652), q(0), ], q(gun) => [ - q(2654), + q(2653), q(0), ], q(guo) => [ - q(2655), + q(2654), q(0), ], q(gup) => [ - q(2656), + q(2655), q(0), ], q(guq) => [ - q(2657), + q(2656), q(0), ], q(gur) => [ - q(2658), + q(2657), q(0), ], q(gus) => [ - q(2659), + q(2658), q(0), ], q(gut) => [ - q(2660), + q(2659), q(0), ], q(guu) => [ - q(2661), + q(2660), q(0), ], q(guv) => [ - q(2662), + q(2661), q(0), ], q(guw) => [ - q(2663), + q(2662), q(0), ], q(gux) => [ - q(2664), + q(2663), q(0), ], q(guz) => [ - q(2665), + q(2664), q(0), ], q(gva) => [ - q(2666), + q(2665), q(0), ], q(gvc) => [ - q(2667), + q(2666), q(0), ], q(gve) => [ - q(2668), + q(2667), q(0), ], q(gvf) => [ - q(2669), + q(2668), q(0), ], q(gvj) => [ - q(2670), + q(2669), q(0), ], q(gvl) => [ - q(2671), + q(2670), q(0), ], q(gvm) => [ - q(2672), + q(2671), q(0), ], q(gvn) => [ - q(2673), + q(2672), q(0), ], q(gvo) => [ - q(2674), + q(2673), q(0), ], q(gvp) => [ - q(2675), + q(2674), q(0), ], q(gvr) => [ - q(2676), + q(2675), q(0), ], q(gvs) => [ - q(2677), + q(2676), q(0), ], q(gvy) => [ - q(2678), + q(2677), q(0), ], q(gwa) => [ - q(2679), + q(2678), q(0), ], q(gwb) => [ - q(2680), + q(2679), q(0), ], q(gwc) => [ - q(2681), + q(2680), q(0), ], q(gwd) => [ - q(2682), + q(2681), q(0), ], q(gwe) => [ - q(2683), + q(2682), q(0), ], q(gwf) => [ - q(2684), + q(2683), q(0), ], q(gwg) => [ - q(2685), + q(2684), q(0), ], q(gwi) => [ @@ -67584,131 +67634,131 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(gwj) => [ - q(2686), + q(2685), q(0), ], q(gwm) => [ - q(2687), + q(2686), q(0), ], q(gwn) => [ - q(2688), + q(2687), q(0), ], q(gwr) => [ - q(2689), + q(2688), q(0), ], q(gwt) => [ - q(2690), + q(2689), q(0), ], q(gwu) => [ - q(2691), + q(2690), q(0), ], q(gww) => [ - q(2692), + q(2691), q(0), ], q(gwx) => [ - q(2693), + q(2692), q(0), ], q(gxx) => [ - q(2694), + q(2693), q(0), ], q(gya) => [ - q(2695), + q(2694), q(0), ], q(gyb) => [ - q(2696), + q(2695), q(0), ], q(gyd) => [ - q(2697), + q(2696), q(0), ], q(gye) => [ - q(2698), + q(2697), q(0), ], q(gyf) => [ - q(2699), + q(2698), q(0), ], q(gyg) => [ - q(2700), + q(2699), q(0), ], q(gyi) => [ - q(2701), + q(2700), q(0), ], q(gyl) => [ - q(2702), + q(2701), q(0), ], q(gym) => [ - q(2703), + q(2702), q(0), ], q(gyn) => [ - q(2704), + q(2703), q(0), ], q(gyr) => [ - q(2705), + q(2704), q(0), ], q(gyy) => [ - q(2706), + q(2705), q(0), ], q(gza) => [ - q(2707), + q(2706), q(0), ], q(gzi) => [ - q(2708), + q(2707), q(0), ], q(gzn) => [ - q(2709), + q(2708), q(0), ], q(haa) => [ - q(2710), + q(2709), q(0), ], q(hab) => [ - q(2711), + q(2710), q(0), ], q(hac) => [ - q(2712), + q(2711), q(0), ], q(had) => [ - q(2713), + q(2712), q(0), ], q(hae) => [ - q(2714), + q(2713), q(0), ], q(haf) => [ - q(2715), + q(2714), q(0), ], q(hag) => [ - q(2716), + q(2715), q(0), ], q(hah) => [ - q(2717), + q(2716), q(0), ], q(hai) => [ @@ -67716,43 +67766,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(haj) => [ - q(2718), + q(2717), q(0), ], q(hak) => [ - q(2719), + q(2718), q(0), ], q(hal) => [ - q(2720), + q(2719), q(0), ], q(ham) => [ - q(2721), + q(2720), q(0), ], q(han) => [ - q(2722), + q(2721), q(0), ], q(hao) => [ - q(2723), + q(2722), q(0), ], q(hap) => [ - q(2724), + q(2723), q(0), ], q(haq) => [ - q(2725), + q(2724), q(0), ], q(har) => [ - q(2726), + q(2725), q(0), ], q(has) => [ - q(2727), + q(2726), q(0), ], q(hat) => [ @@ -67764,7 +67814,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(hav) => [ - q(2728), + q(2727), q(0), ], q(haw) => [ @@ -67772,59 +67822,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(hax) => [ - q(2729), + q(2728), q(0), ], q(hay) => [ - q(2730), + q(2729), q(0), ], q(haz) => [ - q(2731), + q(2730), q(0), ], q(hba) => [ - q(2732), + q(2731), q(0), ], q(hbb) => [ - q(2733), + q(2732), q(0), ], q(hbn) => [ - q(2734), + q(2733), q(0), ], q(hbo) => [ - q(2735), + q(2734), q(0), ], q(hbu) => [ - q(2736), + q(2735), q(0), ], q(hca) => [ - q(2737), + q(2736), q(0), ], q(hch) => [ - q(2738), + q(2737), q(0), ], q(hdn) => [ - q(2739), + q(2738), q(0), ], q(hds) => [ - q(2740), + q(2739), q(0), ], q(hdy) => [ - q(2741), + q(2740), q(0), ], q(hea) => [ - q(2742), + q(2741), q(0), ], q(heb) => [ @@ -67832,23 +67882,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(hed) => [ - q(2743), + q(2742), q(0), ], q(heg) => [ - q(2744), + q(2743), q(0), ], q(heh) => [ - q(2745), + q(2744), q(0), ], q(hei) => [ - q(2746), + q(2745), q(0), ], q(hem) => [ - q(2747), + q(2746), q(0), ], q(her) => [ @@ -67856,59 +67906,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(hgm) => [ - q(2748), + q(2747), q(0), ], q(hgw) => [ - q(2749), + q(2748), q(0), ], q(hhi) => [ - q(2750), + q(2749), q(0), ], q(hhr) => [ - q(2751), + q(2750), q(0), ], q(hhy) => [ - q(2752), + q(2751), q(0), ], q(hia) => [ - q(2753), + q(2752), q(0), ], q(hib) => [ - q(2754), + q(2753), q(0), ], q(hid) => [ - q(2755), + q(2754), q(0), ], q(hif) => [ - q(2756), + q(2755), q(0), ], q(hig) => [ - q(2757), + q(2756), q(0), ], q(hih) => [ - q(2758), + q(2757), q(0), ], q(hii) => [ - q(2759), + q(2758), q(0), ], q(hij) => [ - q(2760), + q(2759), q(0), ], q(hik) => [ - q(2761), + q(2760), q(0), ], q(hil) => [ @@ -67924,11 +67974,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(hio) => [ - q(2762), + q(2761), q(0), ], q(hir) => [ - q(2763), + q(2762), q(0), ], q(hit) => [ @@ -67936,107 +67986,107 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(hiw) => [ - q(2764), + q(2763), q(0), ], q(hix) => [ - q(2765), + q(2764), q(0), ], q(hji) => [ - q(2766), + q(2765), q(0), ], q(hka) => [ - q(2767), + q(2766), q(0), ], q(hke) => [ - q(2768), + q(2767), q(0), ], q(hkk) => [ - q(2769), + q(2768), q(0), ], q(hks) => [ - q(2770), + q(2769), q(0), ], q(hla) => [ - q(2771), + q(2770), q(0), ], q(hlb) => [ - q(2772), + q(2771), q(0), ], q(hld) => [ - q(2773), + q(2772), q(0), ], q(hle) => [ - q(2774), + q(2773), q(0), ], q(hlt) => [ - q(2775), + q(2774), q(0), ], q(hlu) => [ - q(2776), + q(2775), q(0), ], q(hma) => [ - q(2777), + q(2776), q(0), ], q(hmb) => [ - q(2778), + q(2777), q(0), ], q(hmc) => [ - q(2779), + q(2778), q(0), ], q(hmd) => [ - q(2780), + q(2779), q(0), ], q(hme) => [ - q(2781), + q(2780), q(0), ], q(hmf) => [ - q(2782), + q(2781), q(0), ], q(hmg) => [ - q(2783), + q(2782), q(0), ], q(hmh) => [ - q(2784), + q(2783), q(0), ], q(hmi) => [ - q(2785), + q(2784), q(0), ], q(hmj) => [ - q(2786), + q(2785), q(0), ], q(hmk) => [ - q(2787), + q(2786), q(0), ], q(hml) => [ - q(2788), + q(2787), q(0), ], q(hmm) => [ - q(2789), + q(2788), q(0), ], q(hmn) => [ @@ -68048,35 +68098,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(hmp) => [ - q(2790), + q(2789), q(0), ], q(hmq) => [ - q(2791), + q(2790), q(0), ], q(hmr) => [ - q(2792), + q(2791), q(0), ], q(hms) => [ - q(2793), + q(2792), q(0), ], q(hmt) => [ - q(2794), + q(2793), q(0), ], q(hmu) => [ - q(2795), + q(2794), q(0), ], q(hmv) => [ - q(2796), + q(2795), q(0), ], q(hmw) => [ - q(2797), + q(2796), q(0), ], q(hmx) => [ @@ -68084,83 +68134,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(hmy) => [ - q(2798), + q(2797), q(0), ], q(hmz) => [ - q(2799), + q(2798), q(0), ], q(hna) => [ - q(2800), + q(2799), q(0), ], q(hnd) => [ - q(2801), + q(2800), q(0), ], q(hne) => [ - q(2802), + q(2801), q(0), ], q(hnh) => [ - q(2803), + q(2802), q(0), ], q(hni) => [ - q(2804), + q(2803), q(0), ], q(hnj) => [ - q(2805), + q(2804), q(0), ], q(hnn) => [ - q(2806), + q(2805), q(0), ], q(hno) => [ - q(2807), + q(2806), q(0), ], q(hns) => [ - q(2808), + q(2807), q(0), ], q(hnu) => [ - q(2809), + q(2808), q(0), ], q(hoa) => [ - q(2810), + q(2809), q(0), ], q(hob) => [ - q(2811), + q(2810), q(0), ], q(hoc) => [ - q(2812), + q(2811), q(0), ], q(hod) => [ - q(2813), + q(2812), q(0), ], q(hoe) => [ - q(2814), + q(2813), q(0), ], q(hoh) => [ - q(2815), + q(2814), q(0), ], q(hoi) => [ - q(2816), + q(2815), q(0), ], q(hoj) => [ - q(2817), + q(2816), q(0), ], q(hok) => [ @@ -68168,91 +68218,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(hol) => [ - q(2818), + q(2817), q(0), ], q(hom) => [ - q(2819), + q(2818), q(0), ], q(hoo) => [ - q(2820), + q(2819), q(0), ], q(hop) => [ - q(2821), + q(2820), q(0), ], q(hor) => [ - q(2822), + q(2821), q(0), ], q(hos) => [ - q(2823), + q(2822), q(0), ], q(hot) => [ - q(2824), + q(2823), q(0), ], q(hov) => [ - q(2825), + q(2824), q(0), ], q(how) => [ - q(2826), + q(2825), q(0), ], q(hoy) => [ - q(2827), + q(2826), q(0), ], q(hoz) => [ - q(2828), + q(2827), q(0), ], q(hpo) => [ - q(2829), + q(2828), q(0), ], q(hps) => [ - q(2830), + q(2829), q(0), ], q(hra) => [ - q(2831), + q(2830), q(0), ], q(hrc) => [ - q(2832), + q(2831), q(0), ], q(hre) => [ - q(2833), + q(2832), q(0), ], q(hrk) => [ - q(2834), + q(2833), q(0), ], q(hrm) => [ - q(2835), + q(2834), q(0), ], q(hro) => [ - q(2836), + q(2835), q(0), ], q(hrp) => [ - q(2837), + q(2836), q(0), ], q(hrt) => [ - q(2838), + q(2837), q(0), ], q(hru) => [ - q(2839), + q(2838), q(0), ], q(hrv) => [ @@ -68260,15 +68310,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(hrw) => [ - q(2840), + q(2839), q(0), ], q(hrx) => [ - q(2841), + q(2840), q(0), ], q(hrz) => [ - q(2842), + q(2841), q(0), ], q(hsb) => [ @@ -68276,87 +68326,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(hsh) => [ - q(2843), + q(2842), q(0), ], q(hsl) => [ - q(2844), + q(2843), q(0), ], q(hsn) => [ - q(2845), + q(2844), q(0), ], q(hss) => [ - q(2846), + q(2845), q(0), ], q(hti) => [ - q(2847), + q(2846), q(0), ], q(hto) => [ - q(2848), + q(2847), q(0), ], q(hts) => [ - q(2849), + q(2848), q(0), ], q(htu) => [ - q(2850), + q(2849), q(0), ], q(htx) => [ - q(2851), + q(2850), q(0), ], q(hub) => [ - q(2852), + q(2851), q(0), ], q(huc) => [ - q(2853), + q(2852), q(0), ], q(hud) => [ - q(2854), + q(2853), q(0), ], q(hue) => [ - q(2855), + q(2854), q(0), ], q(huf) => [ - q(2856), + q(2855), q(0), ], q(hug) => [ - q(2857), + q(2856), q(0), ], q(huh) => [ - q(2858), + q(2857), q(0), ], q(hui) => [ - q(2859), + q(2858), q(0), ], q(huj) => [ - q(2860), + q(2859), q(0), ], q(huk) => [ - q(2861), + q(2860), q(0), ], q(hul) => [ - q(2862), + q(2861), q(0), ], q(hum) => [ - q(2863), + q(2862), q(0), ], q(hun) => [ @@ -68364,7 +68414,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(huo) => [ - q(2864), + q(2863), q(0), ], q(hup) => [ @@ -68372,79 +68422,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(huq) => [ - q(2865), + q(2864), q(0), ], q(hur) => [ - q(2866), + q(2865), q(0), ], q(hus) => [ - q(2867), + q(2866), q(0), ], q(hut) => [ - q(2868), + q(2867), q(0), ], q(huu) => [ - q(2869), + q(2868), q(0), ], q(huv) => [ - q(2870), + q(2869), q(0), ], q(huw) => [ - q(2871), + q(2870), q(0), ], q(hux) => [ - q(2872), + q(2871), q(0), ], q(huy) => [ - q(2873), + q(2872), q(0), ], q(huz) => [ - q(2874), + q(2873), q(0), ], q(hvc) => [ - q(2875), + q(2874), q(0), ], q(hve) => [ - q(2876), + q(2875), q(0), ], q(hvk) => [ - q(2877), + q(2876), q(0), ], q(hvn) => [ - q(2878), + q(2877), q(0), ], q(hvv) => [ - q(2879), + q(2878), q(0), ], q(hwa) => [ - q(2880), + q(2879), q(0), ], q(hwc) => [ - q(2881), + q(2880), q(0), ], q(hwo) => [ - q(2882), + q(2881), q(0), ], q(hya) => [ - q(2883), + q(2882), q(0), ], q(hyx) => [ @@ -68452,19 +68502,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(iai) => [ - q(2884), + q(2883), q(0), ], q(ian) => [ - q(2885), + q(2884), q(0), ], q(iap) => [ - q(2886), + q(2885), q(0), ], q(iar) => [ - q(2887), + q(2886), q(0), ], q(iba) => [ @@ -68472,31 +68522,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ibb) => [ - q(2888), + q(2887), q(0), ], q(ibd) => [ - q(2889), + q(2888), q(0), ], q(ibe) => [ - q(2890), + q(2889), q(0), ], q(ibg) => [ - q(2891), + q(2890), q(0), ], q(ibl) => [ - q(2892), + q(2891), q(0), ], q(ibm) => [ - q(2893), + q(2892), q(0), ], q(ibn) => [ - q(2894), + q(2893), q(0), ], q(ibo) => [ @@ -68504,19 +68554,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ibr) => [ - q(2895), + q(2894), q(0), ], q(ibu) => [ - q(2896), + q(2895), q(0), ], q(iby) => [ - q(2897), + q(2896), q(0), ], q(ica) => [ - q(2898), + q(2897), q(0), ], q(ice) => [ @@ -68524,39 +68574,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ich) => [ - q(2899), + q(2898), q(0), ], q(icl) => [ - q(2900), + q(2899), q(0), ], q(icr) => [ - q(2901), + q(2900), q(0), ], q(ida) => [ - q(2902), + q(2901), q(0), ], q(idb) => [ - q(2903), + q(2902), q(0), ], q(idc) => [ - q(2904), + q(2903), q(0), ], q(idd) => [ - q(2905), + q(2904), q(0), ], q(ide) => [ - q(2906), + q(2905), q(0), ], q(idi) => [ - q(2907), + q(2906), q(0), ], q(ido) => [ @@ -68564,103 +68614,103 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(idr) => [ - q(2908), + q(2907), q(0), ], q(ids) => [ - q(2909), + q(2908), q(0), ], q(idt) => [ - q(2910), + q(2909), q(0), ], q(idu) => [ - q(2911), + q(2910), q(0), ], q(ifa) => [ - q(2912), + q(2911), q(0), ], q(ifb) => [ - q(2913), + q(2912), q(0), ], q(ife) => [ - q(2914), + q(2913), q(0), ], q(iff) => [ - q(2915), + q(2914), q(0), ], q(ifk) => [ - q(2916), + q(2915), q(0), ], q(ifm) => [ - q(2917), + q(2916), q(0), ], q(ifu) => [ - q(2918), + q(2917), q(0), ], q(ify) => [ - q(2919), + q(2918), q(0), ], q(igb) => [ - q(2920), + q(2919), q(0), ], q(ige) => [ - q(2921), + q(2920), q(0), ], q(igg) => [ - q(2922), + q(2921), q(0), ], q(igl) => [ - q(2923), + q(2922), q(0), ], q(igm) => [ - q(2924), + q(2923), q(0), ], q(ign) => [ - q(2925), + q(2924), q(0), ], q(igo) => [ - q(2926), + q(2925), q(0), ], q(igs) => [ - q(2927), + q(2926), q(0), ], q(igw) => [ - q(2928), + q(2927), q(0), ], q(ihb) => [ - q(2929), + q(2928), q(0), ], q(ihi) => [ - q(2930), + q(2929), q(0), ], q(ihp) => [ - q(2931), + q(2930), q(0), ], q(ihw) => [ - q(2932), + q(2931), q(0), ], q(iii) => [ @@ -68668,7 +68718,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(iin) => [ - q(2933), + q(2932), q(0), ], q(iir) => [ @@ -68676,19 +68726,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ijc) => [ - q(2934), + q(2933), q(0), ], q(ije) => [ - q(2935), + q(2934), q(0), ], q(ijj) => [ - q(2936), + q(2935), q(0), ], q(ijn) => [ - q(2937), + q(2936), q(0), ], q(ijo) => [ @@ -68696,43 +68746,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ijs) => [ - q(2938), + q(2937), q(0), ], q(ike) => [ - q(2939), + q(2938), q(0), ], q(iki) => [ - q(2940), + q(2939), q(0), ], q(ikk) => [ - q(2941), + q(2940), q(0), ], q(ikl) => [ - q(2942), + q(2941), q(0), ], q(iko) => [ - q(2943), + q(2942), q(0), ], q(ikp) => [ - q(2944), + q(2943), q(0), ], q(ikr) => [ - q(2945), + q(2944), q(0), ], q(iks) => [ - q(2946), + q(2945), q(0), ], q(ikt) => [ - q(2947), + q(2946), q(0), ], q(iku) => [ @@ -68740,27 +68790,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ikv) => [ - q(2948), + q(2947), q(0), ], q(ikw) => [ - q(2949), + q(2948), q(0), ], q(ikx) => [ - q(2950), + q(2949), q(0), ], q(ikz) => [ - q(2951), + q(2950), q(0), ], q(ila) => [ - q(2952), + q(2951), q(0), ], q(ilb) => [ - q(2953), + q(2952), q(0), ], q(ile) => [ @@ -68768,19 +68818,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ilg) => [ - q(2954), + q(2953), q(0), ], q(ili) => [ - q(2955), + q(2954), q(0), ], q(ilk) => [ - q(2956), + q(2955), q(0), ], q(ill) => [ - q(2957), + q(2956), q(0), ], q(ilo) => [ @@ -68788,47 +68838,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ils) => [ - q(2958), + q(2957), q(0), ], q(ilu) => [ - q(2959), + q(2958), q(0), ], q(ilv) => [ - q(2960), + q(2959), q(0), ], q(ima) => [ - q(2961), + q(2960), q(0), ], q(imi) => [ - q(2962), + q(2961), q(0), ], q(iml) => [ - q(2963), + q(2962), q(0), ], q(imn) => [ - q(2964), + q(2963), q(0), ], q(imo) => [ - q(2965), + q(2964), q(0), ], q(imr) => [ - q(2966), + q(2965), q(0), ], q(ims) => [ - q(2967), + q(2966), q(0), ], q(imy) => [ - q(2968), + q(2967), q(0), ], q(ina) => [ @@ -68836,7 +68886,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(inb) => [ - q(2969), + q(2968), q(0), ], q(inc) => [ @@ -68852,7 +68902,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ing) => [ - q(2970), + q(2969), q(0), ], q(inh) => [ @@ -68860,55 +68910,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(inj) => [ - q(2971), + q(2970), q(0), ], q(inl) => [ - q(2972), + q(2971), q(0), ], q(inm) => [ - q(2973), + q(2972), q(0), ], q(inn) => [ - q(2974), + q(2973), q(0), ], q(ino) => [ - q(2975), + q(2974), q(0), ], q(inp) => [ - q(2976), + q(2975), q(0), ], q(ins) => [ - q(2977), + q(2976), q(0), ], q(int) => [ - q(2978), + q(2977), q(0), ], q(inz) => [ - q(2979), + q(2978), q(0), ], q(ior) => [ - q(2980), + q(2979), q(0), ], q(iou) => [ - q(2981), + q(2980), q(0), ], q(iow) => [ - q(2982), + q(2981), q(0), ], q(ipi) => [ - q(2983), + q(2982), q(0), ], q(ipk) => [ @@ -68916,15 +68966,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ipo) => [ - q(2984), + q(2983), q(0), ], q(iqu) => [ - q(2985), + q(2984), q(0), ], q(iqw) => [ - q(2986), + q(2985), q(0), ], q(ira) => [ @@ -68932,23 +68982,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ire) => [ - q(2987), + q(2986), q(0), ], q(irh) => [ - q(2988), + q(2987), q(0), ], q(iri) => [ - q(2989), + q(2988), q(0), ], q(irk) => [ - q(2990), + q(2989), q(0), ], q(irn) => [ - q(2991), + q(2990), q(0), ], q(iro) => [ @@ -68956,75 +69006,75 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(irr) => [ - q(2992), + q(2991), q(0), ], q(iru) => [ - q(2993), + q(2992), q(0), ], q(irx) => [ - q(2994), + q(2993), q(0), ], q(iry) => [ - q(2995), + q(2994), q(0), ], q(isa) => [ - q(2996), + q(2995), q(0), ], q(isc) => [ - q(2997), + q(2996), q(0), ], q(isd) => [ - q(2998), + q(2997), q(0), ], q(ise) => [ - q(2999), + q(2998), q(0), ], q(isg) => [ - q(3000), + q(2999), q(0), ], q(ish) => [ - q(3001), + q(3000), q(0), ], q(isi) => [ - q(3002), + q(3001), q(0), ], q(isk) => [ - q(3003), + q(3002), q(0), ], q(ism) => [ - q(3004), + q(3003), q(0), ], q(isn) => [ - q(3005), + q(3004), q(0), ], q(iso) => [ - q(3006), + q(3005), q(0), ], q(isr) => [ - q(3007), + q(3006), q(0), ], q(ist) => [ - q(3008), + q(3007), q(0), ], q(isu) => [ - q(3009), + q(3008), q(0), ], q(ita) => [ @@ -69032,7 +69082,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(itb) => [ - q(3010), + q(3009), q(0), ], q(itc) => [ @@ -69040,187 +69090,187 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ite) => [ - q(3011), + q(3010), q(0), ], q(iti) => [ - q(3012), + q(3011), q(0), ], q(itk) => [ - q(3013), + q(3012), q(0), ], q(itl) => [ - q(3014), + q(3013), q(0), ], q(itm) => [ - q(3015), + q(3014), q(0), ], q(ito) => [ - q(3016), + q(3015), q(0), ], q(itr) => [ - q(3017), + q(3016), q(0), ], q(its) => [ - q(3018), + q(3017), q(0), ], q(itt) => [ - q(3019), + q(3018), q(0), ], q(itv) => [ - q(3020), + q(3019), q(0), ], q(itw) => [ - q(3021), + q(3020), q(0), ], q(itx) => [ - q(3022), + q(3021), q(0), ], q(ity) => [ - q(3023), + q(3022), q(0), ], q(itz) => [ - q(3024), + q(3023), q(0), ], q(ium) => [ - q(3025), + q(3024), q(0), ], q(ivb) => [ - q(3026), + q(3025), q(0), ], q(ivv) => [ - q(3027), + q(3026), q(0), ], q(iwk) => [ - q(3028), + q(3027), q(0), ], q(iwm) => [ - q(3029), + q(3028), q(0), ], q(iwo) => [ - q(3030), + q(3029), q(0), ], q(iws) => [ - q(3031), + q(3030), q(0), ], q(ixc) => [ - q(3032), + q(3031), q(0), ], q(ixl) => [ - q(3033), + q(3032), q(0), ], q(iya) => [ - q(3034), + q(3033), q(0), ], q(iyo) => [ - q(3035), + q(3034), q(0), ], q(iyx) => [ - q(3036), + q(3035), q(0), ], q(izh) => [ - q(3037), + q(3036), q(0), ], q(izr) => [ - q(3038), + q(3037), q(0), ], q(izz) => [ - q(3039), + q(3038), q(0), ], q(jaa) => [ - q(3040), + q(3039), q(0), ], q(jab) => [ - q(3041), + q(3040), q(0), ], q(jac) => [ - q(3042), + q(3041), q(0), ], q(jad) => [ - q(3043), + q(3042), q(0), ], q(jae) => [ - q(3044), + q(3043), q(0), ], q(jaf) => [ - q(3045), + q(3044), q(0), ], q(jah) => [ - q(3046), + q(3045), q(0), ], q(jaj) => [ - q(3047), + q(3046), q(0), ], q(jak) => [ - q(3048), + q(3047), q(0), ], q(jal) => [ - q(3049), + q(3048), q(0), ], q(jam) => [ - q(3050), + q(3049), q(0), ], q(jan) => [ - q(3051), + q(3050), q(0), ], q(jao) => [ - q(3052), + q(3051), q(0), ], q(jaq) => [ - q(3053), + q(3052), q(0), ], q(jas) => [ - q(3054), + q(3053), q(0), ], q(jat) => [ - q(3055), + q(3054), q(0), ], q(jau) => [ - q(3056), + q(3055), q(0), ], q(jav) => [ @@ -69228,35 +69278,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(jax) => [ - q(3057), + q(3056), q(0), ], q(jay) => [ - q(3058), + q(3057), q(0), ], q(jaz) => [ - q(3059), + q(3058), q(0), ], q(jbe) => [ - q(3060), + q(3059), q(0), ], q(jbi) => [ - q(3061), + q(3060), q(0), ], q(jbj) => [ - q(3062), + q(3061), q(0), ], q(jbk) => [ - q(3063), + q(3062), q(0), ], q(jbn) => [ - q(3064), + q(3063), q(0), ], q(jbo) => [ @@ -69264,303 +69314,303 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(jbr) => [ - q(3065), + q(3064), q(0), ], q(jbt) => [ - q(3066), + q(3065), q(0), ], q(jbu) => [ - q(3067), + q(3066), q(0), ], q(jbw) => [ - q(3068), + q(3067), q(0), ], q(jcs) => [ - q(3069), + q(3068), q(0), ], q(jct) => [ - q(3070), + q(3069), q(0), ], q(jda) => [ - q(3071), + q(3070), q(0), ], q(jdg) => [ - q(3072), + q(3071), q(0), ], q(jdt) => [ - q(3073), + q(3072), q(0), ], q(jeb) => [ - q(3074), + q(3073), q(0), ], q(jee) => [ - q(3075), + q(3074), q(0), ], q(jeg) => [ - q(3076), + q(3075), q(0), ], q(jeh) => [ - q(3077), + q(3076), q(0), ], q(jei) => [ - q(3078), + q(3077), q(0), ], q(jek) => [ - q(3079), + q(3078), q(0), ], q(jel) => [ - q(3080), + q(3079), q(0), ], q(jen) => [ - q(3081), + q(3080), q(0), ], q(jer) => [ - q(3082), + q(3081), q(0), ], q(jet) => [ - q(3083), + q(3082), q(0), ], q(jeu) => [ - q(3084), + q(3083), q(0), ], q(jgb) => [ - q(3085), + q(3084), q(0), ], q(jge) => [ - q(3086), + q(3085), q(0), ], q(jgk) => [ - q(3087), + q(3086), q(0), ], q(jgo) => [ - q(3088), + q(3087), q(0), ], q(jhi) => [ - q(3089), + q(3088), q(0), ], q(jhs) => [ - q(3090), + q(3089), q(0), ], q(jia) => [ - q(3091), + q(3090), q(0), ], q(jib) => [ - q(3092), + q(3091), q(0), ], q(jic) => [ - q(3093), + q(3092), q(0), ], q(jid) => [ - q(3094), + q(3093), q(0), ], q(jie) => [ - q(3095), + q(3094), q(0), ], q(jig) => [ - q(3096), + q(3095), q(0), ], q(jih) => [ - q(3097), + q(3096), q(0), ], q(jii) => [ - q(3098), + q(3097), q(0), ], q(jil) => [ - q(3099), + q(3098), q(0), ], q(jim) => [ - q(3100), + q(3099), q(0), ], q(jio) => [ - q(3101), + q(3100), q(0), ], q(jiq) => [ - q(3102), + q(3101), q(0), ], q(jit) => [ - q(3103), + q(3102), q(0), ], q(jiu) => [ - q(3104), + q(3103), q(0), ], q(jiv) => [ - q(3105), + q(3104), q(0), ], q(jiy) => [ - q(3106), + q(3105), q(0), ], q(jje) => [ - q(3107), + q(3106), q(0), ], q(jjr) => [ - q(3108), + q(3107), q(0), ], q(jkm) => [ - q(3109), + q(3108), q(0), ], q(jko) => [ - q(3110), + q(3109), q(0), ], q(jkp) => [ - q(3111), + q(3110), q(0), ], q(jkr) => [ - q(3112), + q(3111), q(0), ], q(jku) => [ - q(3113), + q(3112), q(0), ], q(jle) => [ - q(3114), + q(3113), q(0), ], q(jls) => [ - q(3115), + q(3114), q(0), ], q(jma) => [ - q(3116), + q(3115), q(0), ], q(jmb) => [ - q(3117), + q(3116), q(0), ], q(jmc) => [ - q(3118), + q(3117), q(0), ], q(jmd) => [ - q(3119), + q(3118), q(0), ], q(jmi) => [ - q(3120), + q(3119), q(0), ], q(jml) => [ - q(3121), + q(3120), q(0), ], q(jmn) => [ - q(3122), + q(3121), q(0), ], q(jmr) => [ - q(3123), + q(3122), q(0), ], q(jms) => [ - q(3124), + q(3123), q(0), ], q(jmw) => [ - q(3125), + q(3124), q(0), ], q(jmx) => [ - q(3126), + q(3125), q(0), ], q(jna) => [ - q(3127), + q(3126), q(0), ], q(jnd) => [ - q(3128), + q(3127), q(0), ], q(jng) => [ - q(3129), + q(3128), q(0), ], q(jni) => [ - q(3130), + q(3129), q(0), ], q(jnj) => [ - q(3131), + q(3130), q(0), ], q(jnl) => [ - q(3132), + q(3131), q(0), ], q(jns) => [ - q(3133), + q(3132), q(0), ], q(job) => [ - q(3134), + q(3133), q(0), ], q(jod) => [ - q(3135), + q(3134), q(0), ], q(jor) => [ - q(3136), + q(3135), q(0), ], q(jos) => [ - q(3137), + q(3136), q(0), ], q(jow) => [ - q(3138), + q(3137), q(0), ], q(jpa) => [ - q(3139), + q(3138), q(0), ], q(jpn) => [ @@ -69576,11 +69626,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(jqr) => [ - q(3140), + q(3139), q(0), ], q(jra) => [ - q(3141), + q(3140), q(0), ], q(jrb) => [ @@ -69588,115 +69638,115 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(jrr) => [ - q(3142), + q(3141), q(0), ], q(jrt) => [ - q(3143), + q(3142), q(0), ], q(jru) => [ - q(3144), + q(3143), q(0), ], q(jsl) => [ - q(3145), + q(3144), q(0), ], q(jua) => [ - q(3146), + q(3145), q(0), ], q(jub) => [ - q(3147), + q(3146), q(0), ], q(juc) => [ - q(3148), + q(3147), q(0), ], q(jud) => [ - q(3149), + q(3148), q(0), ], q(juh) => [ - q(3150), + q(3149), q(0), ], q(jui) => [ - q(3151), + q(3150), q(0), ], q(juk) => [ - q(3152), + q(3151), q(0), ], q(jul) => [ - q(3153), + q(3152), q(0), ], q(jum) => [ - q(3154), + q(3153), q(0), ], q(jun) => [ - q(3155), + q(3154), q(0), ], q(juo) => [ - q(3156), + q(3155), q(0), ], q(jup) => [ - q(3157), + q(3156), q(0), ], q(jur) => [ - q(3158), + q(3157), q(0), ], q(jus) => [ - q(3159), + q(3158), q(0), ], q(jut) => [ - q(3160), + q(3159), q(0), ], q(juu) => [ - q(3161), + q(3160), q(0), ], q(juw) => [ - q(3162), + q(3161), q(0), ], q(juy) => [ - q(3163), + q(3162), q(0), ], q(jvd) => [ - q(3164), + q(3163), q(0), ], q(jvn) => [ - q(3165), + q(3164), q(0), ], q(jwi) => [ - q(3166), + q(3165), q(0), ], q(jya) => [ - q(3167), + q(3166), q(0), ], q(jye) => [ - q(3168), + q(3167), q(0), ], q(jyy) => [ - q(3169), + q(3168), q(0), ], q(kaa) => [ @@ -69712,35 +69762,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kad) => [ - q(3170), + q(3169), q(0), ], q(kae) => [ - q(3171), + q(3170), q(0), ], q(kaf) => [ - q(3172), + q(3171), q(0), ], q(kag) => [ - q(3173), + q(3172), q(0), ], q(kah) => [ - q(3174), + q(3173), q(0), ], q(kai) => [ - q(3175), + q(3174), q(0), ], q(kaj) => [ - q(3176), + q(3175), q(0), ], q(kak) => [ - q(3177), + q(3176), q(0), ], q(kal) => [ @@ -69756,15 +69806,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kao) => [ - q(3178), + q(3177), q(0), ], q(kap) => [ - q(3179), + q(3178), q(0), ], q(kaq) => [ - q(3180), + q(3179), q(0), ], q(kar) => [ @@ -69780,7 +69830,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kav) => [ - q(3181), + q(3180), q(0), ], q(kaw) => [ @@ -69788,11 +69838,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kax) => [ - q(3182), + q(3181), q(0), ], q(kay) => [ - q(3183), + q(3182), q(0), ], q(kaz) => [ @@ -69800,15 +69850,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kba) => [ - q(3184), + q(3183), q(0), ], q(kbb) => [ - q(3185), + q(3184), q(0), ], q(kbc) => [ - q(3186), + q(3185), q(0), ], q(kbd) => [ @@ -69816,243 +69866,243 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kbe) => [ - q(3187), + q(3186), q(0), ], q(kbg) => [ - q(3188), + q(3187), q(0), ], q(kbh) => [ - q(3189), + q(3188), q(0), ], q(kbi) => [ - q(3190), + q(3189), q(0), ], q(kbj) => [ - q(3191), + q(3190), q(0), ], q(kbk) => [ - q(3192), + q(3191), q(0), ], q(kbl) => [ - q(3193), + q(3192), q(0), ], q(kbm) => [ - q(3194), + q(3193), q(0), ], q(kbn) => [ - q(3195), + q(3194), q(0), ], q(kbo) => [ - q(3196), + q(3195), q(0), ], q(kbp) => [ - q(3197), + q(3196), q(0), ], q(kbq) => [ - q(3198), + q(3197), q(0), ], q(kbr) => [ - q(3199), + q(3198), q(0), ], q(kbs) => [ - q(3200), + q(3199), q(0), ], q(kbt) => [ - q(3201), + q(3200), q(0), ], q(kbu) => [ - q(3202), + q(3201), q(0), ], q(kbv) => [ - q(3203), + q(3202), q(0), ], q(kbw) => [ - q(3204), + q(3203), q(0), ], q(kbx) => [ - q(3205), + q(3204), q(0), ], q(kby) => [ - q(3206), + q(3205), q(0), ], q(kbz) => [ - q(3207), + q(3206), q(0), ], q(kca) => [ - q(3208), + q(3207), q(0), ], q(kcb) => [ - q(3209), + q(3208), q(0), ], q(kcc) => [ - q(3210), + q(3209), q(0), ], q(kcd) => [ - q(3211), + q(3210), q(0), ], q(kce) => [ - q(3212), + q(3211), q(0), ], q(kcf) => [ - q(3213), + q(3212), q(0), ], q(kcg) => [ - q(3214), + q(3213), q(0), ], q(kch) => [ - q(3215), + q(3214), q(0), ], q(kci) => [ - q(3216), + q(3215), q(0), ], q(kcj) => [ - q(3217), + q(3216), q(0), ], q(kck) => [ - q(3218), + q(3217), q(0), ], q(kcl) => [ - q(3219), + q(3218), q(0), ], q(kcm) => [ - q(3220), + q(3219), q(0), ], q(kcn) => [ - q(3221), + q(3220), q(0), ], q(kco) => [ - q(3222), + q(3221), q(0), ], q(kcp) => [ - q(3223), + q(3222), q(0), ], q(kcq) => [ - q(3224), + q(3223), q(0), ], q(kcr) => [ - q(3225), + q(3224), q(0), ], q(kcs) => [ - q(3226), + q(3225), q(0), ], q(kct) => [ - q(3227), + q(3226), q(0), ], q(kcu) => [ - q(3228), + q(3227), q(0), ], q(kcv) => [ - q(3229), + q(3228), q(0), ], q(kcw) => [ - q(3230), + q(3229), q(0), ], q(kcx) => [ - q(3231), + q(3230), q(0), ], q(kcy) => [ - q(3232), + q(3231), q(0), ], q(kcz) => [ - q(3233), + q(3232), q(0), ], q(kda) => [ - q(3234), + q(3233), q(0), ], q(kdc) => [ - q(3235), + q(3234), q(0), ], q(kdd) => [ - q(3236), + q(3235), q(0), ], q(kde) => [ - q(3237), + q(3236), q(0), ], q(kdf) => [ - q(3238), + q(3237), q(0), ], q(kdg) => [ - q(3239), + q(3238), q(0), ], q(kdh) => [ - q(3240), + q(3239), q(0), ], q(kdi) => [ - q(3241), + q(3240), q(0), ], q(kdj) => [ - q(3242), + q(3241), q(0), ], q(kdk) => [ - q(3243), + q(3242), q(0), ], q(kdl) => [ - q(3244), + q(3243), q(0), ], q(kdm) => [ - q(3245), + q(3244), q(0), ], q(kdn) => [ - q(3246), + q(3245), q(0), ], q(kdo) => [ @@ -70060,343 +70110,343 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kdp) => [ - q(3247), + q(3246), q(0), ], q(kdq) => [ - q(3248), + q(3247), q(0), ], q(kdr) => [ - q(3249), + q(3248), q(0), ], q(kdt) => [ - q(3250), + q(3249), q(0), ], q(kdu) => [ - q(3251), + q(3250), q(0), ], q(kdw) => [ - q(3252), + q(3251), q(0), ], q(kdx) => [ - q(3253), + q(3252), q(0), ], q(kdy) => [ - q(3254), + q(3253), q(0), ], q(kdz) => [ - q(3255), + q(3254), q(0), ], q(kea) => [ - q(3256), + q(3255), q(0), ], q(keb) => [ - q(3257), + q(3256), q(0), ], q(kec) => [ - q(3258), + q(3257), q(0), ], q(ked) => [ - q(3259), + q(3258), q(0), ], q(kee) => [ - q(3260), + q(3259), q(0), ], q(kef) => [ - q(3261), + q(3260), q(0), ], q(keg) => [ - q(3262), + q(3261), q(0), ], q(keh) => [ - q(3263), + q(3262), q(0), ], q(kei) => [ - q(3264), + q(3263), q(0), ], q(kej) => [ - q(3265), + q(3264), q(0), ], q(kek) => [ - q(3266), + q(3265), q(0), ], q(kel) => [ - q(3267), + q(3266), q(0), ], q(kem) => [ - q(3268), + q(3267), q(0), ], q(ken) => [ - q(3269), + q(3268), q(0), ], q(keo) => [ - q(3270), + q(3269), q(0), ], q(kep) => [ - q(3271), + q(3270), q(0), ], q(keq) => [ - q(3272), + q(3271), q(0), ], q(ker) => [ - q(3273), + q(3272), q(0), ], q(kes) => [ - q(3274), + q(3273), q(0), ], q(ket) => [ - q(3275), + q(3274), q(0), ], q(keu) => [ - q(3276), + q(3275), q(0), ], q(kev) => [ - q(3277), + q(3276), q(0), ], q(kew) => [ - q(3278), + q(3277), q(0), ], q(kex) => [ - q(3279), + q(3278), q(0), ], q(key) => [ - q(3280), + q(3279), q(0), ], q(kez) => [ - q(3281), + q(3280), q(0), ], q(kfa) => [ - q(3282), + q(3281), q(0), ], q(kfb) => [ - q(3283), + q(3282), q(0), ], q(kfc) => [ - q(3284), + q(3283), q(0), ], q(kfd) => [ - q(3285), + q(3284), q(0), ], q(kfe) => [ - q(3286), + q(3285), q(0), ], q(kff) => [ - q(3287), + q(3286), q(0), ], q(kfg) => [ - q(3288), + q(3287), q(0), ], q(kfh) => [ - q(3289), + q(3288), q(0), ], q(kfi) => [ - q(3290), + q(3289), q(0), ], q(kfj) => [ - q(3291), + q(3290), q(0), ], q(kfk) => [ - q(3292), + q(3291), q(0), ], q(kfl) => [ - q(3293), + q(3292), q(0), ], q(kfm) => [ - q(3294), + q(3293), q(0), ], q(kfn) => [ - q(3295), + q(3294), q(0), ], q(kfo) => [ - q(3296), + q(3295), q(0), ], q(kfp) => [ - q(3297), + q(3296), q(0), ], q(kfq) => [ - q(3298), + q(3297), q(0), ], q(kfr) => [ - q(3299), + q(3298), q(0), ], q(kfs) => [ - q(3300), + q(3299), q(0), ], q(kft) => [ - q(3301), + q(3300), q(0), ], q(kfu) => [ - q(3302), + q(3301), q(0), ], q(kfv) => [ - q(3303), + q(3302), q(0), ], q(kfw) => [ - q(3304), + q(3303), q(0), ], q(kfx) => [ - q(3305), + q(3304), q(0), ], q(kfy) => [ - q(3306), + q(3305), q(0), ], q(kfz) => [ - q(3307), + q(3306), q(0), ], q(kga) => [ - q(3308), + q(3307), q(0), ], q(kgb) => [ - q(3309), + q(3308), q(0), ], q(kgc) => [ - q(3310), + q(3309), q(0), ], q(kgd) => [ - q(3311), + q(3310), q(0), ], q(kge) => [ - q(3312), + q(3311), q(0), ], q(kgf) => [ - q(3313), + q(3312), q(0), ], q(kgg) => [ - q(3314), + q(3313), q(0), ], q(kgi) => [ - q(3315), + q(3314), q(0), ], q(kgj) => [ - q(3316), + q(3315), q(0), ], q(kgk) => [ - q(3317), + q(3316), q(0), ], q(kgl) => [ - q(3318), + q(3317), q(0), ], q(kgm) => [ - q(3319), + q(3318), q(0), ], q(kgn) => [ - q(3320), + q(3319), q(0), ], q(kgo) => [ - q(3321), + q(3320), q(0), ], q(kgp) => [ - q(3322), + q(3321), q(0), ], q(kgq) => [ - q(3323), + q(3322), q(0), ], q(kgr) => [ - q(3324), + q(3323), q(0), ], q(kgs) => [ - q(3325), + q(3324), q(0), ], q(kgt) => [ - q(3326), + q(3325), q(0), ], q(kgu) => [ - q(3327), + q(3326), q(0), ], q(kgv) => [ - q(3328), + q(3327), q(0), ], q(kgw) => [ - q(3329), + q(3328), q(0), ], q(kgx) => [ - q(3330), + q(3329), q(0), ], q(kgy) => [ - q(3331), + q(3330), q(0), ], q(kha) => [ @@ -70404,31 +70454,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(khb) => [ - q(3332), + q(3331), q(0), ], q(khc) => [ - q(3333), + q(3332), q(0), ], q(khd) => [ - q(3334), + q(3333), q(0), ], q(khe) => [ - q(3335), + q(3334), q(0), ], q(khf) => [ - q(3336), + q(3335), q(0), ], q(khg) => [ - q(3337), + q(3336), q(0), ], q(khh) => [ - q(3338), + q(3337), q(0), ], q(khi) => [ @@ -70436,15 +70486,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(khj) => [ - q(3339), + q(3338), q(0), ], q(khk) => [ - q(3340), + q(3339), q(0), ], q(khl) => [ - q(3341), + q(3340), q(0), ], q(khm) => [ @@ -70452,7 +70502,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(khn) => [ - q(3342), + q(3341), q(0), ], q(kho) => [ @@ -70460,87 +70510,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(khp) => [ - q(3343), + q(3342), q(0), ], q(khq) => [ - q(3344), + q(3343), q(0), ], q(khr) => [ - q(3345), + q(3344), q(0), ], q(khs) => [ - q(3346), + q(3345), q(0), ], q(kht) => [ - q(3347), + q(3346), q(0), ], q(khu) => [ - q(3348), + q(3347), q(0), ], q(khv) => [ - q(3349), + q(3348), q(0), ], q(khw) => [ - q(3350), + q(3349), q(0), ], q(khx) => [ - q(3351), + q(3350), q(0), ], q(khy) => [ - q(3352), + q(3351), q(0), ], q(khz) => [ - q(3353), + q(3352), q(0), ], q(kia) => [ - q(3354), + q(3353), q(0), ], q(kib) => [ - q(3355), + q(3354), q(0), ], q(kic) => [ - q(3356), + q(3355), q(0), ], q(kid) => [ - q(3357), + q(3356), q(0), ], q(kie) => [ - q(3358), + q(3357), q(0), ], q(kif) => [ - q(3359), + q(3358), q(0), ], q(kig) => [ - q(3360), + q(3359), q(0), ], q(kih) => [ - q(3361), + q(3360), q(0), ], q(kii) => [ - q(3362), + q(3361), q(0), ], q(kij) => [ - q(3363), + q(3362), q(0), ], q(kik) => [ @@ -70548,11 +70598,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kil) => [ - q(3364), + q(3363), q(0), ], q(kim) => [ - q(3365), + q(3364), q(0), ], q(kin) => [ @@ -70560,15 +70610,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kio) => [ - q(3366), + q(3365), q(0), ], q(kip) => [ - q(3367), + q(3366), q(0), ], q(kiq) => [ - q(3368), + q(3367), q(0), ], q(kir) => [ @@ -70576,347 +70626,347 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kis) => [ - q(3369), + q(3368), q(0), ], q(kit) => [ - q(3370), + q(3369), q(0), ], q(kiu) => [ - q(3371), + q(3370), q(0), ], q(kiv) => [ - q(3372), + q(3371), q(0), ], q(kiw) => [ - q(3373), + q(3372), q(0), ], q(kix) => [ - q(3374), + q(3373), q(0), ], q(kiy) => [ - q(3375), + q(3374), q(0), ], q(kiz) => [ - q(3376), + q(3375), q(0), ], q(kja) => [ - q(3377), + q(3376), q(0), ], q(kjb) => [ - q(3378), + q(3377), q(0), ], q(kjc) => [ - q(3379), + q(3378), q(0), ], q(kjd) => [ - q(3380), + q(3379), q(0), ], q(kje) => [ - q(3381), + q(3380), q(0), ], q(kjf) => [ - q(3382), + q(3381), q(0), ], q(kjg) => [ - q(3383), + q(3382), q(0), ], q(kjh) => [ - q(3384), + q(3383), q(0), ], q(kji) => [ - q(3385), + q(3384), q(0), ], q(kjj) => [ - q(3386), + q(3385), q(0), ], q(kjk) => [ - q(3387), + q(3386), q(0), ], q(kjl) => [ - q(3388), + q(3387), q(0), ], q(kjm) => [ - q(3389), + q(3388), q(0), ], q(kjn) => [ - q(3390), + q(3389), q(0), ], q(kjo) => [ - q(3391), + q(3390), q(0), ], q(kjp) => [ - q(3392), + q(3391), q(0), ], q(kjq) => [ - q(3393), + q(3392), q(0), ], q(kjr) => [ - q(3394), + q(3393), q(0), ], q(kjs) => [ - q(3395), + q(3394), q(0), ], q(kjt) => [ - q(3396), + q(3395), q(0), ], q(kju) => [ - q(3397), + q(3396), q(0), ], q(kjv) => [ - q(3398), + q(3397), q(0), ], q(kjx) => [ - q(3399), + q(3398), q(0), ], q(kjy) => [ - q(3400), + q(3399), q(0), ], q(kjz) => [ - q(3401), + q(3400), q(0), ], q(kka) => [ - q(3402), + q(3401), q(0), ], q(kkb) => [ - q(3403), + q(3402), q(0), ], q(kkc) => [ - q(3404), + q(3403), q(0), ], q(kkd) => [ - q(3405), + q(3404), q(0), ], q(kke) => [ - q(3406), + q(3405), q(0), ], q(kkf) => [ - q(3407), + q(3406), q(0), ], q(kkg) => [ - q(3408), + q(3407), q(0), ], q(kkh) => [ - q(3409), + q(3408), q(0), ], q(kki) => [ - q(3410), + q(3409), q(0), ], q(kkj) => [ - q(3411), + q(3410), q(0), ], q(kkk) => [ - q(3412), + q(3411), q(0), ], q(kkl) => [ - q(3413), + q(3412), q(0), ], q(kkm) => [ - q(3414), + q(3413), q(0), ], q(kkn) => [ - q(3415), + q(3414), q(0), ], q(kko) => [ - q(3416), + q(3415), q(0), ], q(kkp) => [ - q(3417), + q(3416), q(0), ], q(kkq) => [ - q(3418), + q(3417), q(0), ], q(kkr) => [ - q(3419), + q(3418), q(0), ], q(kks) => [ - q(3420), + q(3419), q(0), ], q(kkt) => [ - q(3421), + q(3420), q(0), ], q(kku) => [ - q(3422), + q(3421), q(0), ], q(kkv) => [ - q(3423), + q(3422), q(0), ], q(kkw) => [ - q(3424), + q(3423), q(0), ], q(kkx) => [ - q(3425), + q(3424), q(0), ], q(kky) => [ - q(3426), + q(3425), q(0), ], q(kkz) => [ - q(3427), + q(3426), q(0), ], q(kla) => [ - q(3428), + q(3427), q(0), ], q(klb) => [ - q(3429), + q(3428), q(0), ], q(klc) => [ - q(3430), + q(3429), q(0), ], q(kld) => [ - q(3431), + q(3430), q(0), ], q(kle) => [ - q(3432), + q(3431), q(0), ], q(klf) => [ - q(3433), + q(3432), q(0), ], q(klg) => [ - q(3434), + q(3433), q(0), ], q(klh) => [ - q(3435), + q(3434), q(0), ], q(kli) => [ - q(3436), + q(3435), q(0), ], q(klj) => [ - q(3437), + q(3436), q(0), ], q(klk) => [ - q(3438), + q(3437), q(0), ], q(kll) => [ - q(3439), + q(3438), q(0), ], q(klm) => [ - q(3440), + q(3439), q(0), ], q(kln) => [ - q(3441), + q(3440), q(0), ], q(klo) => [ - q(3442), + q(3441), q(0), ], q(klp) => [ - q(3443), + q(3442), q(0), ], q(klq) => [ - q(3444), + q(3443), q(0), ], q(klr) => [ - q(3445), + q(3444), q(0), ], q(kls) => [ - q(3446), + q(3445), q(0), ], q(klt) => [ - q(3447), + q(3446), q(0), ], q(klu) => [ - q(3448), + q(3447), q(0), ], q(klv) => [ - q(3449), + q(3448), q(0), ], q(klw) => [ - q(3450), + q(3449), q(0), ], q(klx) => [ - q(3451), + q(3450), q(0), ], q(kly) => [ - q(3452), + q(3451), q(0), ], q(klz) => [ - q(3453), + q(3452), q(0), ], q(kma) => [ - q(3454), + q(3453), q(0), ], q(kmb) => [ @@ -70924,231 +70974,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kmc) => [ - q(3455), + q(3454), q(0), ], q(kmd) => [ - q(3456), + q(3455), q(0), ], q(kme) => [ - q(3457), + q(3456), q(0), ], q(kmf) => [ - q(3458), + q(3457), q(0), ], q(kmg) => [ - q(3459), + q(3458), q(0), ], q(kmh) => [ - q(3460), + q(3459), q(0), ], q(kmi) => [ - q(3461), + q(3460), q(0), ], q(kmj) => [ - q(3462), + q(3461), q(0), ], q(kmk) => [ - q(3463), + q(3462), q(0), ], q(kml) => [ - q(3464), + q(3463), q(0), ], q(kmm) => [ - q(3465), + q(3464), q(0), ], q(kmn) => [ - q(3466), + q(3465), q(0), ], q(kmo) => [ - q(3467), + q(3466), q(0), ], q(kmp) => [ - q(3468), + q(3467), q(0), ], q(kmq) => [ - q(3469), + q(3468), q(0), ], q(kmr) => [ - q(3470), + q(3469), q(0), ], q(kms) => [ - q(3471), + q(3470), q(0), ], q(kmt) => [ - q(3472), + q(3471), q(0), ], q(kmu) => [ - q(3473), + q(3472), q(0), ], q(kmv) => [ - q(3474), + q(3473), q(0), ], q(kmw) => [ - q(3475), + q(3474), q(0), ], q(kmx) => [ - q(3476), + q(3475), q(0), ], q(kmy) => [ - q(3477), + q(3476), q(0), ], q(kmz) => [ - q(3478), + q(3477), q(0), ], q(kna) => [ - q(3479), + q(3478), q(0), ], q(knb) => [ - q(3480), + q(3479), q(0), ], q(knc) => [ - q(3481), + q(3480), q(0), ], q(knd) => [ - q(3482), + q(3481), q(0), ], q(kne) => [ - q(3483), + q(3482), q(0), ], q(knf) => [ - q(3484), + q(3483), q(0), ], q(kng) => [ - q(3485), + q(3484), q(0), ], q(kni) => [ - q(3486), + q(3485), q(0), ], q(knj) => [ - q(3487), + q(3486), q(0), ], q(knk) => [ - q(3488), + q(3487), q(0), ], q(knl) => [ - q(3489), + q(3488), q(0), ], q(knm) => [ - q(3490), + q(3489), q(0), ], q(knn) => [ - q(3491), + q(3490), q(0), ], q(kno) => [ - q(3492), + q(3491), q(0), ], q(knp) => [ - q(3493), + q(3492), q(0), ], q(knq) => [ - q(3494), + q(3493), q(0), ], q(knr) => [ - q(3495), + q(3494), q(0), ], q(kns) => [ - q(3496), + q(3495), q(0), ], q(knt) => [ - q(3497), + q(3496), q(0), ], q(knu) => [ - q(3498), + q(3497), q(0), ], q(knv) => [ - q(3499), + q(3498), q(0), ], q(knw) => [ - q(3500), + q(3499), q(0), ], q(knx) => [ - q(3501), + q(3500), q(0), ], q(kny) => [ - q(3502), + q(3501), q(0), ], q(knz) => [ - q(3503), + q(3502), q(0), ], q(koa) => [ - q(3504), + q(3503), q(0), ], q(koc) => [ - q(3505), + q(3504), q(0), ], q(kod) => [ - q(3506), + q(3505), q(0), ], q(koe) => [ - q(3507), + q(3506), q(0), ], q(kof) => [ - q(3508), + q(3507), q(0), ], q(kog) => [ - q(3509), + q(3508), q(0), ], q(koh) => [ - q(3510), + q(3509), q(0), ], q(koi) => [ - q(3511), + q(3510), q(0), ], q(kok) => [ @@ -71156,7 +71206,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(1), ], q(kol) => [ - q(3512), + q(3511), q(0), ], q(kom) => [ @@ -71168,15 +71218,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(koo) => [ - q(3513), + q(3512), q(0), ], q(kop) => [ - q(3514), + q(3513), q(0), ], q(koq) => [ - q(3515), + q(3514), q(0), ], q(kor) => [ @@ -71188,47 +71238,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kot) => [ - q(3516), + q(3515), q(0), ], q(kou) => [ - q(3517), + q(3516), q(0), ], q(kov) => [ - q(3518), + q(3517), q(0), ], q(kow) => [ - q(3519), + q(3518), q(0), ], q(kox) => [ - q(3520), + q(3519), q(0), ], q(koy) => [ - q(3521), + q(3520), q(0), ], q(koz) => [ - q(3522), + q(3521), q(0), ], q(kpa) => [ - q(3523), + q(3522), q(0), ], q(kpb) => [ - q(3524), + q(3523), q(0), ], q(kpc) => [ - q(3525), + q(3524), q(0), ], q(kpd) => [ - q(3526), + q(3525), q(0), ], q(kpe) => [ @@ -71236,195 +71286,195 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kpf) => [ - q(3527), + q(3526), q(0), ], q(kpg) => [ - q(3528), + q(3527), q(0), ], q(kph) => [ - q(3529), + q(3528), q(0), ], q(kpi) => [ - q(3530), + q(3529), q(0), ], q(kpj) => [ - q(3531), + q(3530), q(0), ], q(kpk) => [ - q(3532), + q(3531), q(0), ], q(kpl) => [ - q(3533), + q(3532), q(0), ], q(kpm) => [ - q(3534), + q(3533), q(0), ], q(kpn) => [ - q(3535), + q(3534), q(0), ], q(kpo) => [ - q(3536), + q(3535), q(0), ], q(kpq) => [ - q(3537), + q(3536), q(0), ], q(kpr) => [ - q(3538), + q(3537), q(0), ], q(kps) => [ - q(3539), + q(3538), q(0), ], q(kpt) => [ - q(3540), + q(3539), q(0), ], q(kpu) => [ - q(3541), + q(3540), q(0), ], q(kpv) => [ - q(3542), + q(3541), q(0), ], q(kpw) => [ - q(3543), + q(3542), q(0), ], q(kpx) => [ - q(3544), + q(3543), q(0), ], q(kpy) => [ - q(3545), + q(3544), q(0), ], q(kpz) => [ - q(3546), + q(3545), q(0), ], q(kqa) => [ - q(3547), + q(3546), q(0), ], q(kqb) => [ - q(3548), + q(3547), q(0), ], q(kqc) => [ - q(3549), + q(3548), q(0), ], q(kqd) => [ - q(3550), + q(3549), q(0), ], q(kqe) => [ - q(3551), + q(3550), q(0), ], q(kqf) => [ - q(3552), + q(3551), q(0), ], q(kqg) => [ - q(3553), + q(3552), q(0), ], q(kqh) => [ - q(3554), + q(3553), q(0), ], q(kqi) => [ - q(3555), + q(3554), q(0), ], q(kqj) => [ - q(3556), + q(3555), q(0), ], q(kqk) => [ - q(3557), + q(3556), q(0), ], q(kql) => [ - q(3558), + q(3557), q(0), ], q(kqm) => [ - q(3559), + q(3558), q(0), ], q(kqn) => [ - q(3560), + q(3559), q(0), ], q(kqo) => [ - q(3561), + q(3560), q(0), ], q(kqp) => [ - q(3562), + q(3561), q(0), ], q(kqq) => [ - q(3563), + q(3562), q(0), ], q(kqr) => [ - q(3564), + q(3563), q(0), ], q(kqs) => [ - q(3565), + q(3564), q(0), ], q(kqt) => [ - q(3566), + q(3565), q(0), ], q(kqu) => [ - q(3567), + q(3566), q(0), ], q(kqv) => [ - q(3568), + q(3567), q(0), ], q(kqw) => [ - q(3569), + q(3568), q(0), ], q(kqx) => [ - q(3570), + q(3569), q(0), ], q(kqy) => [ - q(3571), + q(3570), q(0), ], q(kqz) => [ - q(3572), + q(3571), q(0), ], q(kra) => [ - q(3573), + q(3572), q(0), ], q(krb) => [ - q(3574), + q(3573), q(0), ], q(krc) => [ @@ -71432,31 +71482,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(krd) => [ - q(3575), + q(3574), q(0), ], q(kre) => [ - q(3576), + q(3575), q(0), ], q(krf) => [ - q(3577), + q(3576), q(0), ], q(krh) => [ - q(3578), + q(3577), q(0), ], q(kri) => [ - q(3579), + q(3578), q(0), ], q(krj) => [ - q(3580), + q(3579), q(0), ], q(krk) => [ - q(3581), + q(3580), q(0), ], q(krl) => [ @@ -71464,11 +71514,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(krm) => [ - q(3582), + q(3581), q(0), ], q(krn) => [ - q(3583), + q(3582), q(0), ], q(kro) => [ @@ -71476,19 +71526,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(krp) => [ - q(3584), + q(3583), q(0), ], q(krr) => [ - q(3585), + q(3584), q(0), ], q(krs) => [ - q(3586), + q(3585), q(0), ], q(krt) => [ - q(3587), + q(3586), q(0), ], q(kru) => [ @@ -71496,231 +71546,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(krv) => [ - q(3588), + q(3587), q(0), ], q(krw) => [ - q(3589), + q(3588), q(0), ], q(krx) => [ - q(3590), + q(3589), q(0), ], q(kry) => [ - q(3591), + q(3590), q(0), ], q(krz) => [ - q(3592), + q(3591), q(0), ], q(ksa) => [ - q(3593), + q(3592), q(0), ], q(ksb) => [ - q(3594), + q(3593), q(0), ], q(ksc) => [ - q(3595), + q(3594), q(0), ], q(ksd) => [ - q(3596), + q(3595), q(0), ], q(kse) => [ - q(3597), + q(3596), q(0), ], q(ksf) => [ - q(3598), + q(3597), q(0), ], q(ksg) => [ - q(3599), + q(3598), q(0), ], q(ksh) => [ - q(3600), + q(3599), q(0), ], q(ksi) => [ - q(3601), + q(3600), q(0), ], q(ksj) => [ - q(3602), + q(3601), q(0), ], q(ksk) => [ - q(3603), + q(3602), q(0), ], q(ksl) => [ - q(3604), + q(3603), q(0), ], q(ksm) => [ - q(3605), + q(3604), q(0), ], q(ksn) => [ - q(3606), + q(3605), q(0), ], q(kso) => [ - q(3607), + q(3606), q(0), ], q(ksp) => [ - q(3608), + q(3607), q(0), ], q(ksq) => [ - q(3609), + q(3608), q(0), ], q(ksr) => [ - q(3610), + q(3609), q(0), ], q(kss) => [ - q(3611), + q(3610), q(0), ], q(kst) => [ - q(3612), + q(3611), q(0), ], q(ksu) => [ - q(3613), + q(3612), q(0), ], q(ksv) => [ - q(3614), + q(3613), q(0), ], q(ksw) => [ - q(3615), + q(3614), q(0), ], q(ksx) => [ - q(3616), + q(3615), q(0), ], q(ksy) => [ - q(3617), + q(3616), q(0), ], q(ksz) => [ - q(3618), + q(3617), q(0), ], q(kta) => [ - q(3619), + q(3618), q(0), ], q(ktb) => [ - q(3620), + q(3619), q(0), ], q(ktc) => [ - q(3621), + q(3620), q(0), ], q(ktd) => [ - q(3622), + q(3621), q(0), ], q(kte) => [ - q(3623), + q(3622), q(0), ], q(ktf) => [ - q(3624), + q(3623), q(0), ], q(ktg) => [ - q(3625), + q(3624), q(0), ], q(kth) => [ - q(3626), + q(3625), q(0), ], q(kti) => [ - q(3627), + q(3626), q(0), ], q(ktj) => [ - q(3628), + q(3627), q(0), ], q(ktk) => [ - q(3629), + q(3628), q(0), ], q(ktl) => [ - q(3630), + q(3629), q(0), ], q(ktm) => [ - q(3631), + q(3630), q(0), ], q(ktn) => [ - q(3632), + q(3631), q(0), ], q(kto) => [ - q(3633), + q(3632), q(0), ], q(ktp) => [ - q(3634), + q(3633), q(0), ], q(ktq) => [ - q(3635), + q(3634), q(0), ], q(ktr) => [ - q(3636), + q(3635), q(0), ], q(kts) => [ - q(3637), + q(3636), q(0), ], q(ktt) => [ - q(3638), + q(3637), q(0), ], q(ktu) => [ - q(3639), + q(3638), q(0), ], q(ktv) => [ - q(3640), + q(3639), q(0), ], q(ktw) => [ - q(3641), + q(3640), q(0), ], q(ktx) => [ - q(3642), + q(3641), q(0), ], q(kty) => [ - q(3643), + q(3642), q(0), ], q(ktz) => [ - q(3644), + q(3643), q(0), ], q(kua) => [ @@ -71728,47 +71778,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kub) => [ - q(3645), + q(3644), q(0), ], q(kuc) => [ - q(3646), + q(3645), q(0), ], q(kud) => [ - q(3647), + q(3646), q(0), ], q(kue) => [ - q(3648), + q(3647), q(0), ], q(kuf) => [ - q(3649), + q(3648), q(0), ], q(kug) => [ - q(3650), + q(3649), q(0), ], q(kuh) => [ - q(3651), + q(3650), q(0), ], q(kui) => [ - q(3652), + q(3651), q(0), ], q(kuj) => [ - q(3653), + q(3652), q(0), ], q(kuk) => [ - q(3654), + q(3653), q(0), ], q(kul) => [ - q(3655), + q(3654), q(0), ], q(kum) => [ @@ -71776,19 +71826,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kun) => [ - q(3656), + q(3655), q(0), ], q(kuo) => [ - q(3657), + q(3656), q(0), ], q(kup) => [ - q(3658), + q(3657), q(0), ], q(kuq) => [ - q(3319), + q(3318), q(0), ], q(kur) => [ @@ -71796,7 +71846,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kus) => [ - q(3659), + q(3658), q(0), ], q(kut) => [ @@ -71804,543 +71854,543 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(kuu) => [ - q(3660), + q(3659), q(0), ], q(kuv) => [ - q(3661), + q(3660), q(0), ], q(kuw) => [ - q(3662), + q(3661), q(0), ], q(kux) => [ - q(3663), + q(3662), q(0), ], q(kuy) => [ - q(3664), + q(3663), q(0), ], q(kuz) => [ - q(3665), + q(3664), q(0), ], q(kva) => [ - q(3666), + q(3665), q(0), ], q(kvb) => [ - q(3667), + q(3666), q(0), ], q(kvc) => [ - q(3668), + q(3667), q(0), ], q(kvd) => [ - q(3669), + q(3668), q(0), ], q(kve) => [ - q(3670), + q(3669), q(0), ], q(kvf) => [ - q(3671), + q(3670), q(0), ], q(kvg) => [ - q(3672), + q(3671), q(0), ], q(kvh) => [ - q(3673), + q(3672), q(0), ], q(kvi) => [ - q(3674), + q(3673), q(0), ], q(kvj) => [ - q(3675), + q(3674), q(0), ], q(kvk) => [ - q(3676), + q(3675), q(0), ], q(kvl) => [ - q(3677), + q(3676), q(0), ], q(kvm) => [ - q(3678), + q(3677), q(0), ], q(kvn) => [ - q(3679), + q(3678), q(0), ], q(kvo) => [ - q(3680), + q(3679), q(0), ], q(kvp) => [ - q(3681), + q(3680), q(0), ], q(kvq) => [ - q(3682), + q(3681), q(0), ], q(kvr) => [ - q(3683), + q(3682), q(0), ], q(kvs) => [ - q(3684), + q(3683), q(0), ], q(kvt) => [ - q(3685), + q(3684), q(0), ], q(kvu) => [ - q(3686), + q(3685), q(0), ], q(kvv) => [ - q(3687), + q(3686), q(0), ], q(kvw) => [ - q(3688), + q(3687), q(0), ], q(kvx) => [ - q(3689), + q(3688), q(0), ], q(kvy) => [ - q(3690), + q(3689), q(0), ], q(kvz) => [ - q(3691), + q(3690), q(0), ], q(kwa) => [ - q(3692), + q(3691), q(0), ], q(kwb) => [ - q(3693), + q(3692), q(0), ], q(kwc) => [ - q(3694), + q(3693), q(0), ], q(kwd) => [ - q(3695), + q(3694), q(0), ], q(kwe) => [ - q(3696), + q(3695), q(0), ], q(kwf) => [ - q(3697), + q(3696), q(0), ], q(kwg) => [ - q(3698), + q(3697), q(0), ], q(kwh) => [ - q(3699), + q(3698), q(0), ], q(kwi) => [ - q(3700), + q(3699), q(0), ], q(kwj) => [ - q(3701), + q(3700), q(0), ], q(kwk) => [ - q(3702), + q(3701), q(0), ], q(kwl) => [ - q(3703), + q(3702), q(0), ], q(kwm) => [ - q(3704), + q(3703), q(0), ], q(kwn) => [ - q(3705), + q(3704), q(0), ], q(kwo) => [ - q(3706), + q(3705), q(0), ], q(kwp) => [ - q(3707), + q(3706), q(0), ], q(kwr) => [ - q(3708), + q(3707), q(0), ], q(kws) => [ - q(3709), + q(3708), q(0), ], q(kwt) => [ - q(3710), + q(3709), q(0), ], q(kwu) => [ - q(3711), + q(3710), q(0), ], q(kwv) => [ - q(3712), + q(3711), q(0), ], q(kww) => [ - q(3713), + q(3712), q(0), ], q(kwx) => [ - q(3714), + q(3713), q(0), ], q(kwy) => [ - q(3715), + q(3714), q(0), ], q(kwz) => [ - q(3716), + q(3715), q(0), ], q(kxa) => [ - q(3717), + q(3716), q(0), ], q(kxb) => [ - q(3718), + q(3717), q(0), ], q(kxc) => [ - q(3719), + q(3718), q(0), ], q(kxd) => [ - q(3720), + q(3719), q(0), ], q(kxf) => [ - q(3721), + q(3720), q(0), ], q(kxh) => [ - q(3722), + q(3721), q(0), ], q(kxi) => [ - q(3723), + q(3722), q(0), ], q(kxj) => [ - q(3724), + q(3723), q(0), ], q(kxk) => [ - q(3725), + q(3724), q(0), ], q(kxl) => [ - q(3726), + q(3725), q(0), ], q(kxm) => [ - q(3727), + q(3726), q(0), ], q(kxn) => [ - q(3728), + q(3727), q(0), ], q(kxo) => [ - q(3729), + q(3728), q(0), ], q(kxp) => [ - q(3730), + q(3729), q(0), ], q(kxq) => [ - q(3731), + q(3730), q(0), ], q(kxr) => [ - q(3732), + q(3731), q(0), ], q(kxs) => [ - q(3733), + q(3732), q(0), ], q(kxt) => [ - q(3734), + q(3733), q(0), ], q(kxu) => [ - q(3735), + q(3734), q(0), ], q(kxv) => [ - q(3736), + q(3735), q(0), ], q(kxw) => [ - q(3737), + q(3736), q(0), ], q(kxx) => [ - q(3738), + q(3737), q(0), ], q(kxy) => [ - q(3739), + q(3738), q(0), ], q(kxz) => [ - q(3740), + q(3739), q(0), ], q(kya) => [ - q(3741), + q(3740), q(0), ], q(kyb) => [ - q(3742), + q(3741), q(0), ], q(kyc) => [ - q(3743), + q(3742), q(0), ], q(kyd) => [ - q(3744), + q(3743), q(0), ], q(kye) => [ - q(3745), + q(3744), q(0), ], q(kyf) => [ - q(3746), + q(3745), q(0), ], q(kyg) => [ - q(3747), + q(3746), q(0), ], q(kyh) => [ - q(3748), + q(3747), q(0), ], q(kyi) => [ - q(3749), + q(3748), q(0), ], q(kyj) => [ - q(3750), + q(3749), q(0), ], q(kyk) => [ - q(3751), + q(3750), q(0), ], q(kyl) => [ - q(3752), + q(3751), q(0), ], q(kym) => [ - q(3753), + q(3752), q(0), ], q(kyn) => [ - q(3754), + q(3753), q(0), ], q(kyo) => [ - q(3755), + q(3754), q(0), ], q(kyp) => [ - q(3756), + q(3755), q(0), ], q(kyq) => [ - q(3757), + q(3756), q(0), ], q(kyr) => [ - q(3758), + q(3757), q(0), ], q(kys) => [ - q(3759), + q(3758), q(0), ], q(kyt) => [ - q(3760), + q(3759), q(0), ], q(kyu) => [ - q(3761), + q(3760), q(0), ], q(kyv) => [ - q(3762), + q(3761), q(0), ], q(kyw) => [ - q(3763), + q(3762), q(0), ], q(kyx) => [ - q(3764), + q(3763), q(0), ], q(kyy) => [ - q(3765), + q(3764), q(0), ], q(kyz) => [ - q(3766), + q(3765), q(0), ], q(kza) => [ - q(3767), + q(3766), q(0), ], q(kzb) => [ - q(3768), + q(3767), q(0), ], q(kzc) => [ - q(3769), + q(3768), q(0), ], q(kzd) => [ - q(3770), + q(3769), q(0), ], q(kze) => [ - q(3771), + q(3770), q(0), ], q(kzf) => [ - q(3772), + q(3771), q(0), ], q(kzg) => [ - q(3773), + q(3772), q(0), ], q(kzi) => [ - q(3774), + q(3773), q(0), ], q(kzj) => [ - q(3775), + q(3774), q(0), ], q(kzk) => [ - q(3776), + q(3775), q(0), ], q(kzl) => [ - q(3777), + q(3776), q(0), ], q(kzm) => [ - q(3778), + q(3777), q(0), ], q(kzn) => [ - q(3779), + q(3778), q(0), ], q(kzo) => [ - q(3780), + q(3779), q(0), ], q(kzp) => [ - q(3781), + q(3780), q(0), ], q(kzq) => [ - q(3782), + q(3781), q(0), ], q(kzr) => [ - q(3783), + q(3782), q(0), ], q(kzs) => [ - q(3784), + q(3783), q(0), ], q(kzt) => [ - q(3785), + q(3784), q(0), ], q(kzu) => [ - q(3786), + q(3785), q(0), ], q(kzv) => [ - q(3787), + q(3786), q(0), ], q(kzw) => [ - q(3788), + q(3787), q(0), ], q(kzx) => [ - q(3789), + q(3788), q(0), ], q(kzy) => [ - q(3790), + q(3789), q(0), ], q(kzz) => [ - q(3791), + q(3790), q(0), ], q(laa) => [ - q(3792), + q(3791), q(0), ], q(lab) => [ - q(3793), + q(3792), q(0), ], q(lac) => [ - q(3794), + q(3793), q(0), ], q(lad) => [ @@ -72348,15 +72398,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(lae) => [ - q(3795), + q(3794), q(0), ], q(laf) => [ - q(3796), + q(3795), q(0), ], q(lag) => [ - q(3797), + q(3796), q(0), ], q(lah) => [ @@ -72364,19 +72414,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(lai) => [ - q(3798), + q(3797), q(0), ], q(laj) => [ - q(3799), + q(3798), q(0), ], q(lak) => [ - q(3800), + q(3799), q(0), ], q(lal) => [ - q(3801), + q(3800), q(0), ], q(lam) => [ @@ -72384,7 +72434,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(lan) => [ - q(3802), + q(3801), q(0), ], q(lao) => [ @@ -72392,19 +72442,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(lap) => [ - q(3803), + q(3802), q(0), ], q(laq) => [ - q(3804), + q(3803), q(0), ], q(lar) => [ - q(3805), + q(3804), q(0), ], q(las) => [ - q(3806), + q(3805), q(0), ], q(lat) => [ @@ -72412,7 +72462,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(lau) => [ - q(3807), + q(3806), q(0), ], q(lav) => [ @@ -72420,303 +72470,303 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(law) => [ - q(3808), + q(3807), q(0), ], q(lax) => [ - q(3809), + q(3808), q(0), ], q(lay) => [ - q(3810), + q(3809), q(0), ], q(laz) => [ - q(3811), + q(3810), q(0), ], q(lba) => [ - q(3812), + q(3811), q(0), ], q(lbb) => [ - q(3813), + q(3812), q(0), ], q(lbc) => [ - q(3814), + q(3813), q(0), ], q(lbe) => [ - q(3815), + q(3814), q(0), ], q(lbf) => [ - q(3816), + q(3815), q(0), ], q(lbg) => [ - q(3817), + q(3816), q(0), ], q(lbi) => [ - q(3818), + q(3817), q(0), ], q(lbj) => [ - q(3819), + q(3818), q(0), ], q(lbk) => [ - q(3820), + q(3819), q(0), ], q(lbl) => [ - q(3821), + q(3820), q(0), ], q(lbm) => [ - q(3822), + q(3821), q(0), ], q(lbn) => [ - q(3823), + q(3822), q(0), ], q(lbo) => [ - q(3824), + q(3823), q(0), ], q(lbq) => [ - q(3825), + q(3824), q(0), ], q(lbr) => [ - q(3826), + q(3825), q(0), ], q(lbs) => [ - q(3827), + q(3826), q(0), ], q(lbt) => [ - q(3828), + q(3827), q(0), ], q(lbu) => [ - q(3829), + q(3828), q(0), ], q(lbv) => [ - q(3830), + q(3829), q(0), ], q(lbw) => [ - q(3831), + q(3830), q(0), ], q(lbx) => [ - q(3832), + q(3831), q(0), ], q(lby) => [ - q(3833), + q(3832), q(0), ], q(lbz) => [ - q(3834), + q(3833), q(0), ], q(lcc) => [ - q(3835), + q(3834), q(0), ], q(lcd) => [ - q(3836), + q(3835), q(0), ], q(lce) => [ - q(3837), + q(3836), q(0), ], q(lcf) => [ - q(3838), + q(3837), q(0), ], q(lch) => [ - q(3839), + q(3838), q(0), ], q(lcl) => [ - q(3840), + q(3839), q(0), ], q(lcm) => [ - q(3841), + q(3840), q(0), ], q(lcp) => [ - q(3842), + q(3841), q(0), ], q(lcq) => [ - q(3843), + q(3842), q(0), ], q(lcs) => [ - q(3844), + q(3843), q(0), ], q(lda) => [ - q(3845), + q(3844), q(0), ], q(ldb) => [ - q(3846), + q(3845), q(0), ], q(ldd) => [ - q(3847), + q(3846), q(0), ], q(ldg) => [ - q(3848), + q(3847), q(0), ], q(ldh) => [ - q(3849), + q(3848), q(0), ], q(ldi) => [ - q(3850), + q(3849), q(0), ], q(ldj) => [ - q(3851), + q(3850), q(0), ], q(ldk) => [ - q(3852), + q(3851), q(0), ], q(ldl) => [ - q(3853), + q(3852), q(0), ], q(ldm) => [ - q(3854), + q(3853), q(0), ], q(ldn) => [ - q(3855), + q(3854), q(0), ], q(ldo) => [ - q(3856), + q(3855), q(0), ], q(ldp) => [ - q(3857), + q(3856), q(0), ], q(ldq) => [ - q(3858), + q(3857), q(0), ], q(lea) => [ - q(3859), + q(3858), q(0), ], q(leb) => [ - q(3860), + q(3859), q(0), ], q(lec) => [ - q(3861), + q(3860), q(0), ], q(led) => [ - q(3862), + q(3861), q(0), ], q(lee) => [ - q(3863), + q(3862), q(0), ], q(lef) => [ - q(3864), + q(3863), q(0), ], q(leh) => [ - q(3865), + q(3864), q(0), ], q(lei) => [ - q(3866), + q(3865), q(0), ], q(lej) => [ - q(3867), + q(3866), q(0), ], q(lek) => [ - q(3868), + q(3867), q(0), ], q(lel) => [ - q(3869), + q(3868), q(0), ], q(lem) => [ - q(3870), + q(3869), q(0), ], q(len) => [ - q(3871), + q(3870), q(0), ], q(leo) => [ - q(3872), + q(3871), q(0), ], q(lep) => [ - q(3873), + q(3872), q(0), ], q(leq) => [ - q(3874), + q(3873), q(0), ], q(ler) => [ - q(3875), + q(3874), q(0), ], q(les) => [ - q(3876), + q(3875), q(0), ], q(let) => [ - q(3877), + q(3876), q(0), ], q(leu) => [ - q(3878), + q(3877), q(0), ], q(lev) => [ - q(3879), + q(3878), q(0), ], q(lew) => [ - q(3880), + q(3879), q(0), ], q(lex) => [ - q(3881), + q(3880), q(0), ], q(ley) => [ - q(3882), + q(3881), q(0), ], q(lez) => [ @@ -72724,151 +72774,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(lfa) => [ - q(3883), + q(3882), q(0), ], q(lfn) => [ - q(3884), + q(3883), q(0), ], q(lga) => [ - q(3885), + q(3884), q(0), ], q(lgb) => [ - q(3886), + q(3885), q(0), ], q(lgg) => [ - q(3887), + q(3886), q(0), ], q(lgh) => [ - q(3888), + q(3887), q(0), ], q(lgi) => [ - q(3889), + q(3888), q(0), ], q(lgk) => [ - q(3890), + q(3889), q(0), ], q(lgl) => [ - q(3891), + q(3890), q(0), ], q(lgm) => [ - q(3892), + q(3891), q(0), ], q(lgn) => [ - q(3893), + q(3892), q(0), ], q(lgq) => [ - q(3894), + q(3893), q(0), ], q(lgr) => [ - q(3895), + q(3894), q(0), ], q(lgt) => [ - q(3896), + q(3895), q(0), ], q(lgu) => [ - q(3897), + q(3896), q(0), ], q(lgz) => [ - q(3898), + q(3897), q(0), ], q(lha) => [ - q(3899), + q(3898), q(0), ], q(lhh) => [ - q(3900), + q(3899), q(0), ], q(lhi) => [ - q(3901), + q(3900), q(0), ], q(lhl) => [ - q(3902), + q(3901), q(0), ], q(lhm) => [ - q(3903), + q(3902), q(0), ], q(lhn) => [ - q(3904), + q(3903), q(0), ], q(lhp) => [ - q(3905), + q(3904), q(0), ], q(lhs) => [ - q(3906), + q(3905), q(0), ], q(lht) => [ - q(3907), + q(3906), q(0), ], q(lhu) => [ - q(3908), + q(3907), q(0), ], q(lia) => [ - q(3909), + q(3908), q(0), ], q(lib) => [ - q(3910), + q(3909), q(0), ], q(lic) => [ - q(3911), + q(3910), q(0), ], q(lid) => [ - q(3912), + q(3911), q(0), ], q(lie) => [ - q(3913), + q(3912), q(0), ], q(lif) => [ - q(3914), + q(3913), q(0), ], q(lig) => [ - q(3915), + q(3914), q(0), ], q(lih) => [ - q(3916), + q(3915), q(0), ], q(lij) => [ - q(3917), + q(3916), q(0), ], q(lik) => [ - q(3918), + q(3917), q(0), ], q(lil) => [ - q(3919), + q(3918), q(0), ], q(lim) => [ @@ -72880,23 +72930,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(lio) => [ - q(3920), + q(3919), q(0), ], q(lip) => [ - q(3921), + q(3920), q(0), ], q(liq) => [ - q(3922), + q(3921), q(0), ], q(lir) => [ - q(3923), + q(3922), q(0), ], q(lis) => [ - q(3924), + q(3923), q(0), ], q(lit) => [ @@ -72904,395 +72954,395 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(liu) => [ - q(3925), + q(3924), q(0), ], q(liv) => [ - q(3926), + q(3925), q(0), ], q(liw) => [ - q(3927), + q(3926), q(0), ], q(lix) => [ - q(3928), + q(3927), q(0), ], q(liy) => [ - q(3929), + q(3928), q(0), ], q(liz) => [ - q(3930), + q(3929), q(0), ], q(lja) => [ - q(3931), + q(3930), q(0), ], q(lje) => [ - q(3932), + q(3931), q(0), ], q(lji) => [ - q(3933), + q(3932), q(0), ], q(ljl) => [ - q(3934), + q(3933), q(0), ], q(ljp) => [ - q(3935), + q(3934), q(0), ], q(ljw) => [ - q(3936), + q(3935), q(0), ], q(ljx) => [ - q(3937), + q(3936), q(0), ], q(lka) => [ - q(3938), + q(3937), q(0), ], q(lkb) => [ - q(3939), + q(3938), q(0), ], q(lkc) => [ - q(3940), + q(3939), q(0), ], q(lkd) => [ - q(3941), + q(3940), q(0), ], q(lke) => [ - q(3942), + q(3941), q(0), ], q(lkh) => [ - q(3943), + q(3942), q(0), ], q(lki) => [ - q(3944), + q(3943), q(0), ], q(lkj) => [ - q(3945), + q(3944), q(0), ], q(lkl) => [ - q(3946), + q(3945), q(0), ], q(lkm) => [ - q(3947), + q(3946), q(0), ], q(lkn) => [ - q(3948), + q(3947), q(0), ], q(lko) => [ - q(3949), + q(3948), q(0), ], q(lkr) => [ - q(3950), + q(3949), q(0), ], q(lks) => [ - q(3951), + q(3950), q(0), ], q(lkt) => [ - q(3952), + q(3951), q(0), ], q(lku) => [ - q(3953), + q(3952), q(0), ], q(lky) => [ - q(3954), + q(3953), q(0), ], q(lla) => [ - q(3955), + q(3954), q(0), ], q(llb) => [ - q(3956), + q(3955), q(0), ], q(llc) => [ - q(3957), + q(3956), q(0), ], q(lld) => [ - q(3958), + q(3957), q(0), ], q(lle) => [ - q(3959), + q(3958), q(0), ], q(llf) => [ - q(3960), + q(3959), q(0), ], q(llg) => [ - q(3961), + q(3960), q(0), ], q(llh) => [ - q(3962), + q(3961), q(0), ], q(lli) => [ - q(3963), + q(3962), q(0), ], q(llj) => [ - q(3964), + q(3963), q(0), ], q(llk) => [ - q(3965), + q(3964), q(0), ], q(lll) => [ - q(3966), + q(3965), q(0), ], q(llm) => [ - q(3967), + q(3966), q(0), ], q(lln) => [ - q(3968), + q(3967), q(0), ], q(llo) => [ - q(3969), + q(3968), q(0), ], q(llp) => [ - q(3970), + q(3969), q(0), ], q(llq) => [ - q(3971), + q(3970), q(0), ], q(lls) => [ - q(3972), + q(3971), q(0), ], q(llu) => [ - q(3973), + q(3972), q(0), ], q(llx) => [ - q(3974), + q(3973), q(0), ], q(lma) => [ - q(3975), + q(3974), q(0), ], q(lmb) => [ - q(3976), + q(3975), q(0), ], q(lmc) => [ - q(3977), + q(3976), q(0), ], q(lmd) => [ - q(3978), + q(3977), q(0), ], q(lme) => [ - q(3979), + q(3978), q(0), ], q(lmf) => [ - q(3980), + q(3979), q(0), ], q(lmg) => [ - q(3981), + q(3980), q(0), ], q(lmh) => [ - q(3982), + q(3981), q(0), ], q(lmi) => [ - q(3983), + q(3982), q(0), ], q(lmj) => [ - q(3984), + q(3983), q(0), ], q(lmk) => [ - q(3985), + q(3984), q(0), ], q(lml) => [ - q(3986), + q(3985), q(0), ], q(lmn) => [ - q(3987), + q(3986), q(0), ], q(lmo) => [ - q(3988), + q(3987), q(0), ], q(lmp) => [ - q(3989), + q(3988), q(0), ], q(lmq) => [ - q(3990), + q(3989), q(0), ], q(lmr) => [ - q(3991), + q(3990), q(0), ], q(lmu) => [ - q(3992), + q(3991), q(0), ], q(lmv) => [ - q(3993), + q(3992), q(0), ], q(lmw) => [ - q(3994), + q(3993), q(0), ], q(lmx) => [ - q(3995), + q(3994), q(0), ], q(lmy) => [ - q(3996), + q(3995), q(0), ], q(lmz) => [ - q(3997), + q(3996), q(0), ], q(lna) => [ - q(3998), + q(3997), q(0), ], q(lnb) => [ - q(3999), + q(3998), q(0), ], q(lnd) => [ - q(4000), + q(3999), q(0), ], q(lng) => [ - q(4001), + q(4000), q(0), ], q(lnh) => [ - q(4002), + q(4001), q(0), ], q(lni) => [ - q(4003), + q(4002), q(0), ], q(lnj) => [ - q(4004), + q(4003), q(0), ], q(lnl) => [ - q(4005), + q(4004), q(0), ], q(lnm) => [ - q(4006), + q(4005), q(0), ], q(lnn) => [ - q(4007), + q(4006), q(0), ], q(lno) => [ - q(4008), + q(4007), q(0), ], q(lns) => [ - q(4009), + q(4008), q(0), ], q(lnu) => [ - q(4010), + q(4009), q(0), ], q(lnw) => [ - q(4011), + q(4010), q(0), ], q(lnz) => [ - q(4012), + q(4011), q(0), ], q(loa) => [ - q(4013), + q(4012), q(0), ], q(lob) => [ - q(4014), + q(4013), q(0), ], q(loc) => [ - q(4015), + q(4014), q(0), ], q(loe) => [ - q(4016), + q(4015), q(0), ], q(lof) => [ - q(4017), + q(4016), q(0), ], q(log) => [ - q(4018), + q(4017), q(0), ], q(loh) => [ - q(4019), + q(4018), q(0), ], q(loi) => [ - q(4020), + q(4019), q(0), ], q(loj) => [ - q(4021), + q(4020), q(0), ], q(lok) => [ - q(4022), + q(4021), q(0), ], q(lol) => [ @@ -73300,55 +73350,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(lom) => [ - q(4023), + q(4022), q(0), ], q(lon) => [ - q(4024), + q(4023), q(0), ], q(loo) => [ - q(4025), + q(4024), q(0), ], q(lop) => [ - q(4026), + q(4025), q(0), ], q(loq) => [ - q(4027), + q(4026), q(0), ], q(lor) => [ - q(4028), + q(4027), q(0), ], q(los) => [ - q(4029), + q(4028), q(0), ], q(lot) => [ - q(4030), + q(4029), q(0), ], q(lou) => [ - q(4031), + q(4030), q(0), ], q(lov) => [ - q(4032), + q(4031), q(0), ], q(low) => [ - q(4033), + q(4032), q(0), ], q(lox) => [ - q(4034), + q(4033), q(0), ], q(loy) => [ - q(4035), + q(4034), q(0), ], q(loz) => [ @@ -73356,163 +73406,163 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(lpa) => [ - q(4036), + q(4035), q(0), ], q(lpe) => [ - q(4037), + q(4036), q(0), ], q(lpn) => [ - q(4038), + q(4037), q(0), ], q(lpo) => [ - q(4039), + q(4038), q(0), ], q(lpx) => [ - q(4040), + q(4039), q(0), ], q(lra) => [ - q(4041), + q(4040), q(0), ], q(lrc) => [ - q(4042), + q(4041), q(0), ], q(lre) => [ - q(4043), + q(4042), q(0), ], q(lrg) => [ - q(4044), + q(4043), q(0), ], q(lri) => [ - q(4045), + q(4044), q(0), ], q(lrk) => [ - q(4046), + q(4045), q(0), ], q(lrl) => [ - q(4047), + q(4046), q(0), ], q(lrm) => [ - q(4048), + q(4047), q(0), ], q(lrn) => [ - q(4049), + q(4048), q(0), ], q(lro) => [ - q(4050), + q(4049), q(0), ], q(lrr) => [ - q(4051), + q(4050), q(0), ], q(lrt) => [ - q(4052), + q(4051), q(0), ], q(lrv) => [ - q(4053), + q(4052), q(0), ], q(lrz) => [ - q(4054), + q(4053), q(0), ], q(lsa) => [ - q(4055), + q(4054), q(0), ], q(lsd) => [ - q(4056), + q(4055), q(0), ], q(lse) => [ - q(4057), + q(4056), q(0), ], q(lsg) => [ - q(4058), + q(4057), q(0), ], q(lsh) => [ - q(4059), + q(4058), q(0), ], q(lsi) => [ - q(4060), + q(4059), q(0), ], q(lsl) => [ - q(4061), + q(4060), q(0), ], q(lsm) => [ - q(4062), + q(4061), q(0), ], q(lso) => [ - q(4063), + q(4062), q(0), ], q(lsp) => [ - q(4064), + q(4063), q(0), ], q(lsr) => [ - q(4065), + q(4064), q(0), ], q(lss) => [ - q(4066), + q(4065), q(0), ], q(lst) => [ - q(4067), + q(4066), q(0), ], q(lsy) => [ - q(4068), + q(4067), q(0), ], q(ltc) => [ - q(4069), + q(4068), q(0), ], q(ltg) => [ - q(4070), + q(4069), q(0), ], q(lti) => [ - q(4071), + q(4070), q(0), ], q(ltn) => [ - q(4072), + q(4071), q(0), ], q(lto) => [ - q(4073), + q(4072), q(0), ], q(lts) => [ - q(4074), + q(4073), q(0), ], q(ltu) => [ - q(4075), + q(4074), q(0), ], q(ltz) => [ @@ -73528,19 +73578,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(luc) => [ - q(4076), + q(4075), q(0), ], q(lud) => [ - q(4077), + q(4076), q(0), ], q(lue) => [ - q(4078), + q(4077), q(0), ], q(luf) => [ - q(4079), + q(4078), q(0), ], q(lug) => [ @@ -73552,19 +73602,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(luj) => [ - q(4080), + q(4079), q(0), ], q(luk) => [ - q(4081), + q(4080), q(0), ], q(lul) => [ - q(4082), + q(4081), q(0), ], q(lum) => [ - q(4083), + q(4082), q(0), ], q(lun) => [ @@ -73576,15 +73626,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(lup) => [ - q(4084), + q(4083), q(0), ], q(luq) => [ - q(4085), + q(4084), q(0), ], q(lur) => [ - q(4086), + q(4085), q(0), ], q(lus) => [ @@ -73592,119 +73642,119 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(lut) => [ - q(4087), + q(4086), q(0), ], q(luu) => [ - q(4088), + q(4087), q(0), ], q(luv) => [ - q(4089), + q(4088), q(0), ], q(luw) => [ - q(4090), + q(4089), q(0), ], q(luy) => [ - q(4091), + q(4090), q(0), ], q(luz) => [ - q(4092), + q(4091), q(0), ], q(lva) => [ - q(4093), + q(4092), q(0), ], q(lvk) => [ - q(4094), + q(4093), q(0), ], q(lvs) => [ - q(4095), + q(4094), q(0), ], q(lvu) => [ - q(4096), + q(4095), q(0), ], q(lwa) => [ - q(4097), + q(4096), q(0), ], q(lwe) => [ - q(4098), + q(4097), q(0), ], q(lwg) => [ - q(4099), + q(4098), q(0), ], q(lwh) => [ - q(4100), + q(4099), q(0), ], q(lwl) => [ - q(4101), + q(4100), q(0), ], q(lwm) => [ - q(4102), + q(4101), q(0), ], q(lwo) => [ - q(4103), + q(4102), q(0), ], q(lwt) => [ - q(4104), + q(4103), q(0), ], q(lwu) => [ - q(4105), + q(4104), q(0), ], q(lww) => [ - q(4106), + q(4105), q(0), ], q(lya) => [ - q(4107), + q(4106), q(0), ], q(lyg) => [ - q(4108), + q(4107), q(0), ], q(lyn) => [ - q(4109), + q(4108), q(0), ], q(lzh) => [ - q(4110), + q(4109), q(0), ], q(lzl) => [ - q(4111), + q(4110), q(0), ], q(lzn) => [ - q(4112), + q(4111), q(0), ], q(lzz) => [ - q(4113), + q(4112), q(0), ], q(maa) => [ - q(4114), + q(4113), q(0), ], q(mab) => [ - q(4115), + q(4114), q(0), ], q(mac) => [ @@ -73716,11 +73766,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mae) => [ - q(4116), + q(4115), q(0), ], q(maf) => [ - q(4117), + q(4116), q(0), ], q(mag) => [ @@ -73736,7 +73786,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(maj) => [ - q(4118), + q(4117), q(0), ], q(mak) => [ @@ -73748,7 +73798,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mam) => [ - q(4119), + q(4118), q(0), ], q(man) => [ @@ -73764,7 +73814,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(maq) => [ - q(4120), + q(4119), q(0), ], q(mar) => [ @@ -73776,23 +73826,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mat) => [ - q(4121), + q(4120), q(0), ], q(mau) => [ - q(4122), + q(4121), q(0), ], q(mav) => [ - q(4123), + q(4122), q(0), ], q(maw) => [ - q(4124), + q(4123), q(0), ], q(max) => [ - q(4125), + q(4124), q(0), ], q(may) => [ @@ -73800,231 +73850,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(maz) => [ - q(4126), + q(4125), q(0), ], q(mba) => [ - q(4127), + q(4126), q(0), ], q(mbb) => [ - q(4128), + q(4127), q(0), ], q(mbc) => [ - q(4129), + q(4128), q(0), ], q(mbd) => [ - q(4130), + q(4129), q(0), ], q(mbe) => [ - q(4131), + q(4130), q(0), ], q(mbf) => [ - q(4132), + q(4131), q(0), ], q(mbh) => [ - q(4133), + q(4132), q(0), ], q(mbi) => [ - q(4134), + q(4133), q(0), ], q(mbj) => [ - q(4135), + q(4134), q(0), ], q(mbk) => [ - q(4136), + q(4135), q(0), ], q(mbl) => [ - q(4137), + q(4136), q(0), ], q(mbm) => [ - q(4138), + q(4137), q(0), ], q(mbn) => [ - q(4139), + q(4138), q(0), ], q(mbo) => [ - q(4140), + q(4139), q(0), ], q(mbp) => [ - q(4141), + q(4140), q(0), ], q(mbq) => [ - q(4142), + q(4141), q(0), ], q(mbr) => [ - q(4143), + q(4142), q(0), ], q(mbs) => [ - q(4144), + q(4143), q(0), ], q(mbt) => [ - q(4145), + q(4144), q(0), ], q(mbu) => [ - q(4146), + q(4145), q(0), ], q(mbv) => [ - q(4147), + q(4146), q(0), ], q(mbw) => [ - q(4148), + q(4147), q(0), ], q(mbx) => [ - q(4149), + q(4148), q(0), ], q(mby) => [ - q(4150), + q(4149), q(0), ], q(mbz) => [ - q(4151), + q(4150), q(0), ], q(mca) => [ - q(4152), + q(4151), q(0), ], q(mcb) => [ - q(4153), + q(4152), q(0), ], q(mcc) => [ - q(4154), + q(4153), q(0), ], q(mcd) => [ - q(4155), + q(4154), q(0), ], q(mce) => [ - q(4156), + q(4155), q(0), ], q(mcf) => [ - q(4157), + q(4156), q(0), ], q(mcg) => [ - q(4158), + q(4157), q(0), ], q(mch) => [ - q(4159), + q(4158), q(0), ], q(mci) => [ - q(4160), + q(4159), q(0), ], q(mcj) => [ - q(4161), + q(4160), q(0), ], q(mck) => [ - q(4162), + q(4161), q(0), ], q(mcl) => [ - q(4163), + q(4162), q(0), ], q(mcm) => [ - q(4164), + q(4163), q(0), ], q(mcn) => [ - q(4165), + q(4164), q(0), ], q(mco) => [ - q(4166), + q(4165), q(0), ], q(mcp) => [ - q(4167), + q(4166), q(0), ], q(mcq) => [ - q(4168), + q(4167), q(0), ], q(mcr) => [ - q(4169), + q(4168), q(0), ], q(mcs) => [ - q(4170), + q(4169), q(0), ], q(mct) => [ - q(4171), + q(4170), q(0), ], q(mcu) => [ - q(4172), + q(4171), q(0), ], q(mcv) => [ - q(4173), + q(4172), q(0), ], q(mcw) => [ - q(4174), + q(4173), q(0), ], q(mcx) => [ - q(4175), + q(4174), q(0), ], q(mcy) => [ - q(4176), + q(4175), q(0), ], q(mcz) => [ - q(4177), + q(4176), q(0), ], q(mda) => [ - q(4178), + q(4177), q(0), ], q(mdb) => [ - q(4179), + q(4178), q(0), ], q(mdc) => [ - q(4180), + q(4179), q(0), ], q(mdd) => [ - q(4181), + q(4180), q(0), ], q(mde) => [ - q(4182), + q(4181), q(0), ], q(mdf) => [ @@ -74032,43 +74082,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mdg) => [ - q(4183), + q(4182), q(0), ], q(mdh) => [ - q(4184), + q(4183), q(0), ], q(mdi) => [ - q(4185), + q(4184), q(0), ], q(mdj) => [ - q(4186), + q(4185), q(0), ], q(mdk) => [ - q(4187), + q(4186), q(0), ], q(mdl) => [ - q(4188), + q(4187), q(0), ], q(mdm) => [ - q(4189), + q(4188), q(0), ], q(mdn) => [ - q(4190), + q(4189), q(0), ], q(mdp) => [ - q(4191), + q(4190), q(0), ], q(mdq) => [ - q(4192), + q(4191), q(0), ], q(mdr) => [ @@ -74076,83 +74126,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mds) => [ - q(4193), + q(4192), q(0), ], q(mdt) => [ - q(4194), + q(4193), q(0), ], q(mdu) => [ - q(4195), + q(4194), q(0), ], q(mdv) => [ - q(4196), + q(4195), q(0), ], q(mdw) => [ - q(4197), + q(4196), q(0), ], q(mdx) => [ - q(4198), + q(4197), q(0), ], q(mdy) => [ - q(4199), + q(4198), q(0), ], q(mdz) => [ - q(4200), + q(4199), q(0), ], q(mea) => [ - q(4201), + q(4200), q(0), ], q(meb) => [ - q(4202), + q(4201), q(0), ], q(mec) => [ - q(4203), + q(4202), q(0), ], q(med) => [ - q(4204), + q(4203), q(0), ], q(mee) => [ - q(4205), + q(4204), q(0), ], q(mef) => [ - q(4206), + q(4205), q(0), ], q(meh) => [ - q(4207), + q(4206), q(0), ], q(mei) => [ - q(4208), + q(4207), q(0), ], q(mej) => [ - q(4209), + q(4208), q(0), ], q(mek) => [ - q(4210), + q(4209), q(0), ], q(mel) => [ - q(4211), + q(4210), q(0), ], q(mem) => [ - q(4212), + q(4211), q(0), ], q(men) => [ @@ -74160,151 +74210,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(1), ], q(meo) => [ - q(4213), + q(4212), q(0), ], q(mep) => [ - q(4214), + q(4213), q(0), ], q(meq) => [ - q(4215), + q(4214), q(0), ], q(mer) => [ - q(4216), + q(4215), q(0), ], q(mes) => [ - q(4217), + q(4216), q(0), ], q(met) => [ - q(4218), + q(4217), q(0), ], q(meu) => [ - q(4219), + q(4218), q(0), ], q(mev) => [ - q(4220), + q(4219), q(0), ], q(mew) => [ - q(4221), + q(4220), q(0), ], q(mey) => [ - q(4222), + q(4221), q(0), ], q(mez) => [ - q(4223), + q(4222), q(0), ], q(mfa) => [ - q(4224), + q(4223), q(0), ], q(mfb) => [ - q(4225), + q(4224), q(0), ], q(mfc) => [ - q(4226), + q(4225), q(0), ], q(mfd) => [ - q(4227), + q(4226), q(0), ], q(mfe) => [ - q(4228), + q(4227), q(0), ], q(mff) => [ - q(4229), + q(4228), q(0), ], q(mfg) => [ - q(4230), + q(4229), q(0), ], q(mfh) => [ - q(4231), + q(4230), q(0), ], q(mfi) => [ - q(4232), + q(4231), q(0), ], q(mfj) => [ - q(4233), + q(4232), q(0), ], q(mfk) => [ - q(4234), + q(4233), q(0), ], q(mfl) => [ - q(4235), + q(4234), q(0), ], q(mfm) => [ - q(4236), + q(4235), q(0), ], q(mfn) => [ - q(4237), + q(4236), q(0), ], q(mfo) => [ - q(4238), + q(4237), q(0), ], q(mfp) => [ - q(4239), + q(4238), q(0), ], q(mfq) => [ - q(4240), + q(4239), q(0), ], q(mfr) => [ - q(4241), + q(4240), q(0), ], q(mfs) => [ - q(4242), + q(4241), q(0), ], q(mft) => [ - q(4243), + q(4242), q(0), ], q(mfu) => [ - q(4244), + q(4243), q(0), ], q(mfv) => [ - q(4245), + q(4244), q(0), ], q(mfw) => [ - q(4246), + q(4245), q(0), ], q(mfx) => [ - q(4247), + q(4246), q(0), ], q(mfy) => [ - q(4248), + q(4247), q(0), ], q(mfz) => [ - q(4249), + q(4248), q(0), ], q(mga) => [ @@ -74312,203 +74362,203 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(1), ], q(mgb) => [ - q(4250), + q(4249), q(0), ], q(mgc) => [ - q(4251), + q(4250), q(0), ], q(mgd) => [ - q(4252), + q(4251), q(0), ], q(mge) => [ - q(4253), + q(4252), q(0), ], q(mgf) => [ - q(4254), + q(4253), q(0), ], q(mgg) => [ - q(4255), + q(4254), q(0), ], q(mgh) => [ - q(4256), + q(4255), q(0), ], q(mgi) => [ - q(4257), + q(4256), q(0), ], q(mgj) => [ - q(4258), + q(4257), q(0), ], q(mgk) => [ - q(4259), + q(4258), q(0), ], q(mgl) => [ - q(4260), + q(4259), q(0), ], q(mgm) => [ - q(4261), + q(4260), q(0), ], q(mgn) => [ - q(4262), + q(4261), q(0), ], q(mgo) => [ - q(4263), + q(4262), q(0), ], q(mgp) => [ - q(4264), + q(4263), q(0), ], q(mgq) => [ - q(4265), + q(4264), q(0), ], q(mgr) => [ - q(4266), + q(4265), q(0), ], q(mgs) => [ - q(4267), + q(4266), q(0), ], q(mgt) => [ - q(4268), + q(4267), q(0), ], q(mgu) => [ - q(4269), + q(4268), q(0), ], q(mgv) => [ - q(4270), + q(4269), q(0), ], q(mgw) => [ - q(4271), + q(4270), q(0), ], q(mgy) => [ - q(4272), + q(4271), q(0), ], q(mgz) => [ - q(4273), + q(4272), q(0), ], q(mha) => [ - q(4274), + q(4273), q(0), ], q(mhb) => [ - q(4275), + q(4274), q(0), ], q(mhc) => [ - q(4276), + q(4275), q(0), ], q(mhd) => [ - q(4277), + q(4276), q(0), ], q(mhe) => [ - q(4278), + q(4277), q(0), ], q(mhf) => [ - q(4279), + q(4278), q(0), ], q(mhg) => [ - q(4280), + q(4279), q(0), ], q(mhi) => [ - q(4281), + q(4280), q(0), ], q(mhj) => [ - q(4282), + q(4281), q(0), ], q(mhk) => [ - q(4283), + q(4282), q(0), ], q(mhl) => [ - q(4284), + q(4283), q(0), ], q(mhm) => [ - q(4285), + q(4284), q(0), ], q(mhn) => [ - q(4286), + q(4285), q(0), ], q(mho) => [ - q(4287), + q(4286), q(0), ], q(mhp) => [ - q(4288), + q(4287), q(0), ], q(mhq) => [ - q(4289), + q(4288), q(0), ], q(mhr) => [ - q(4290), + q(4289), q(0), ], q(mhs) => [ - q(4291), + q(4290), q(0), ], q(mht) => [ - q(4292), + q(4291), q(0), ], q(mhu) => [ - q(4293), + q(4292), q(0), ], q(mhw) => [ - q(4294), + q(4293), q(0), ], q(mhx) => [ - q(4295), + q(4294), q(0), ], q(mhy) => [ - q(4296), + q(4295), q(0), ], q(mhz) => [ - q(4297), + q(4296), q(0), ], q(mia) => [ - q(4298), + q(4297), q(0), ], q(mib) => [ - q(4299), + q(4298), q(0), ], q(mic) => [ @@ -74516,43 +74566,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mid) => [ - q(4300), + q(4299), q(0), ], q(mie) => [ - q(4301), + q(4300), q(0), ], q(mif) => [ - q(4302), + q(4301), q(0), ], q(mig) => [ - q(4303), + q(4302), q(0), ], q(mih) => [ - q(4304), + q(4303), q(0), ], q(mii) => [ - q(4305), + q(4304), q(0), ], q(mij) => [ - q(4306), + q(4305), q(0), ], q(mik) => [ - q(4307), + q(4306), q(0), ], q(mil) => [ - q(4308), + q(4307), q(0), ], q(mim) => [ - q(4309), + q(4308), q(0), ], q(min) => [ @@ -74560,19 +74610,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mio) => [ - q(4310), + q(4309), q(0), ], q(mip) => [ - q(4311), + q(4310), q(0), ], q(miq) => [ - q(4312), + q(4311), q(0), ], q(mir) => [ - q(4313), + q(4312), q(0), ], q(mis) => [ @@ -74580,143 +74630,143 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mit) => [ - q(4314), + q(4313), q(0), ], q(miu) => [ - q(4315), + q(4314), q(0), ], q(miw) => [ - q(4316), + q(4315), q(0), ], q(mix) => [ - q(4317), + q(4316), q(0), ], q(miy) => [ - q(4318), + q(4317), q(0), ], q(miz) => [ - q(4319), + q(4318), q(0), ], q(mjc) => [ - q(4320), + q(4319), q(0), ], q(mjd) => [ - q(4321), + q(4320), q(0), ], q(mje) => [ - q(4322), + q(4321), q(0), ], q(mjg) => [ - q(4323), + q(4322), q(0), ], q(mjh) => [ - q(4324), + q(4323), q(0), ], q(mji) => [ - q(4325), + q(4324), q(0), ], q(mjj) => [ - q(4326), + q(4325), q(0), ], q(mjk) => [ - q(4327), + q(4326), q(0), ], q(mjl) => [ - q(4328), + q(4327), q(0), ], q(mjm) => [ - q(4329), + q(4328), q(0), ], q(mjn) => [ - q(4330), + q(4329), q(0), ], q(mjo) => [ - q(4331), + q(4330), q(0), ], q(mjp) => [ - q(4332), + q(4331), q(0), ], q(mjq) => [ - q(4333), + q(4332), q(0), ], q(mjr) => [ - q(4334), + q(4333), q(0), ], q(mjs) => [ - q(4335), + q(4334), q(0), ], q(mjt) => [ - q(4336), + q(4335), q(0), ], q(mju) => [ - q(4337), + q(4336), q(0), ], q(mjv) => [ - q(4338), + q(4337), q(0), ], q(mjw) => [ - q(4339), + q(4338), q(0), ], q(mjx) => [ - q(4340), + q(4339), q(0), ], q(mjy) => [ - q(4341), + q(4340), q(0), ], q(mjz) => [ - q(4342), + q(4341), q(0), ], q(mka) => [ - q(4343), + q(4342), q(0), ], q(mkb) => [ - q(4344), + q(4343), q(0), ], q(mkc) => [ - q(4345), + q(4344), q(0), ], q(mke) => [ - q(4346), + q(4345), q(0), ], q(mkf) => [ - q(4347), + q(4346), q(0), ], q(mkg) => [ - q(4348), + q(4347), q(0), ], q(mkh) => [ @@ -74724,95 +74774,95 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mki) => [ - q(4349), + q(4348), q(0), ], q(mkj) => [ - q(4350), + q(4349), q(0), ], q(mkk) => [ - q(4351), + q(4350), q(0), ], q(mkl) => [ - q(4352), + q(4351), q(0), ], q(mkm) => [ - q(4353), + q(4352), q(0), ], q(mkn) => [ - q(4354), + q(4353), q(0), ], q(mko) => [ - q(4355), + q(4354), q(0), ], q(mkp) => [ - q(4356), + q(4355), q(0), ], q(mkq) => [ - q(4357), + q(4356), q(0), ], q(mkr) => [ - q(4358), + q(4357), q(0), ], q(mks) => [ - q(4359), + q(4358), q(0), ], q(mkt) => [ - q(4360), + q(4359), q(0), ], q(mku) => [ - q(4361), + q(4360), q(0), ], q(mkv) => [ - q(4362), + q(4361), q(0), ], q(mkw) => [ - q(4363), + q(4362), q(0), ], q(mkx) => [ - q(4364), + q(4363), q(0), ], q(mky) => [ - q(4365), + q(4364), q(0), ], q(mkz) => [ - q(4366), + q(4365), q(0), ], q(mla) => [ - q(4367), + q(4366), q(0), ], q(mlb) => [ - q(4368), + q(4367), q(0), ], q(mlc) => [ - q(4369), + q(4368), q(0), ], q(mle) => [ - q(4370), + q(4369), q(0), ], q(mlf) => [ - q(4371), + q(4370), q(0), ], q(mlg) => [ @@ -74820,51 +74870,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mlh) => [ - q(4372), + q(4371), q(0), ], q(mli) => [ - q(4373), + q(4372), q(0), ], q(mlj) => [ - q(4374), + q(4373), q(0), ], q(mlk) => [ - q(4375), + q(4374), q(0), ], q(mll) => [ - q(4376), + q(4375), q(0), ], q(mlm) => [ - q(4377), + q(4376), q(0), ], q(mln) => [ - q(4378), + q(4377), q(0), ], q(mlo) => [ - q(4379), + q(4378), q(0), ], q(mlp) => [ - q(4380), + q(4379), q(0), ], q(mlq) => [ - q(4381), + q(4380), q(0), ], q(mlr) => [ - q(4382), + q(4381), q(0), ], q(mls) => [ - q(4383), + q(4382), q(0), ], q(mlt) => [ @@ -74872,131 +74922,131 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mlu) => [ - q(4384), + q(4383), q(0), ], q(mlv) => [ - q(4385), + q(4384), q(0), ], q(mlw) => [ - q(4386), + q(4385), q(0), ], q(mlx) => [ - q(4387), + q(4386), q(0), ], q(mlz) => [ - q(4388), + q(4387), q(0), ], q(mma) => [ - q(4389), + q(4388), q(0), ], q(mmb) => [ - q(4390), + q(4389), q(0), ], q(mmc) => [ - q(4391), + q(4390), q(0), ], q(mmd) => [ - q(4392), + q(4391), q(0), ], q(mme) => [ - q(4393), + q(4392), q(0), ], q(mmf) => [ - q(4394), + q(4393), q(0), ], q(mmg) => [ - q(4395), + q(4394), q(0), ], q(mmh) => [ - q(4396), + q(4395), q(0), ], q(mmi) => [ - q(4397), + q(4396), q(0), ], q(mmj) => [ - q(4398), + q(4397), q(0), ], q(mmk) => [ - q(4399), + q(4398), q(0), ], q(mml) => [ - q(4400), + q(4399), q(0), ], q(mmm) => [ - q(4401), + q(4400), q(0), ], q(mmn) => [ - q(4402), + q(4401), q(0), ], q(mmo) => [ - q(4403), + q(4402), q(0), ], q(mmp) => [ - q(4404), + q(4403), q(0), ], q(mmq) => [ - q(4405), + q(4404), q(0), ], q(mmr) => [ - q(4406), + q(4405), q(0), ], q(mmt) => [ - q(4407), + q(4406), q(0), ], q(mmu) => [ - q(4408), + q(4407), q(0), ], q(mmv) => [ - q(4409), + q(4408), q(0), ], q(mmw) => [ - q(4410), + q(4409), q(0), ], q(mmx) => [ - q(4411), + q(4410), q(0), ], q(mmy) => [ - q(4412), + q(4411), q(0), ], q(mmz) => [ - q(4413), + q(4412), q(0), ], q(mna) => [ - q(4414), + q(4413), q(0), ], q(mnb) => [ - q(4415), + q(4414), q(0), ], q(mnc) => [ @@ -75004,23 +75054,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mnd) => [ - q(4416), + q(4415), q(0), ], q(mne) => [ - q(4417), + q(4416), q(0), ], q(mnf) => [ - q(4418), + q(4417), q(0), ], q(mng) => [ - q(4419), + q(4418), q(0), ], q(mnh) => [ - q(4420), + q(4419), q(0), ], q(mni) => [ @@ -75028,23 +75078,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mnj) => [ - q(4421), + q(4420), q(0), ], q(mnk) => [ - q(4422), + q(4421), q(0), ], q(mnl) => [ - q(4423), + q(4422), q(0), ], q(mnm) => [ - q(4424), + q(4423), q(0), ], q(mnn) => [ - q(4425), + q(4424), q(0), ], q(mno) => [ @@ -75052,63 +75102,63 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mnp) => [ - q(4426), + q(4425), q(0), ], q(mnq) => [ - q(4427), + q(4426), q(0), ], q(mnr) => [ - q(4428), + q(4427), q(0), ], q(mns) => [ - q(4429), + q(4428), q(0), ], q(mnu) => [ - q(4430), + q(4429), q(0), ], q(mnv) => [ - q(4431), + q(4430), q(0), ], q(mnw) => [ - q(4432), + q(4431), q(0), ], q(mnx) => [ - q(4433), + q(4432), q(0), ], q(mny) => [ - q(4434), + q(4433), q(0), ], q(mnz) => [ - q(4435), + q(4434), q(0), ], q(moa) => [ - q(4436), + q(4435), q(0), ], q(moc) => [ - q(4437), + q(4436), q(0), ], q(mod) => [ - q(4438), + q(4437), q(0), ], q(moe) => [ - q(4439), + q(4438), q(0), ], q(mog) => [ - q(4440), + q(4439), q(0), ], q(moh) => [ @@ -75116,19 +75166,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(moi) => [ - q(4441), + q(4440), q(0), ], q(moj) => [ - q(4442), + q(4441), q(0), ], q(mok) => [ - q(4443), + q(4442), q(0), ], q(mom) => [ - q(4444), + q(4443), q(0), ], q(mon) => [ @@ -75136,19 +75186,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(moo) => [ - q(4445), + q(4444), q(0), ], q(mop) => [ - q(4446), + q(4445), q(0), ], q(moq) => [ - q(4447), + q(4446), q(0), ], q(mor) => [ - q(4448), + q(4447), q(0), ], q(mos) => [ @@ -75160,563 +75210,563 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mou) => [ - q(4449), + q(4448), q(0), ], q(mov) => [ - q(4450), + q(4449), q(0), ], q(mow) => [ - q(4451), + q(4450), q(0), ], q(mox) => [ - q(4452), + q(4451), q(0), ], q(moy) => [ - q(4453), + q(4452), q(0), ], q(moz) => [ - q(4454), + q(4453), q(0), ], q(mpa) => [ - q(4455), + q(4454), q(0), ], q(mpb) => [ - q(4456), + q(4455), q(0), ], q(mpc) => [ - q(4457), + q(4456), q(0), ], q(mpd) => [ - q(4458), + q(4457), q(0), ], q(mpe) => [ - q(4459), + q(4458), q(0), ], q(mpg) => [ - q(4460), + q(4459), q(0), ], q(mph) => [ - q(4461), + q(4460), q(0), ], q(mpi) => [ - q(4462), + q(4461), q(0), ], q(mpj) => [ - q(4463), + q(4462), q(0), ], q(mpk) => [ - q(4464), + q(4463), q(0), ], q(mpl) => [ - q(4465), + q(4464), q(0), ], q(mpm) => [ - q(4466), + q(4465), q(0), ], q(mpn) => [ - q(4467), + q(4466), q(0), ], q(mpo) => [ - q(4468), + q(4467), q(0), ], q(mpp) => [ - q(4469), + q(4468), q(0), ], q(mpq) => [ - q(4470), + q(4469), q(0), ], q(mpr) => [ - q(4471), + q(4470), q(0), ], q(mps) => [ - q(4472), + q(4471), q(0), ], q(mpt) => [ - q(4473), + q(4472), q(0), ], q(mpu) => [ - q(4474), + q(4473), q(0), ], q(mpv) => [ - q(4475), + q(4474), q(0), ], q(mpw) => [ - q(4476), + q(4475), q(0), ], q(mpx) => [ - q(4477), + q(4476), q(0), ], q(mpy) => [ - q(4478), + q(4477), q(0), ], q(mpz) => [ - q(4479), + q(4478), q(0), ], q(mqa) => [ - q(4480), + q(4479), q(0), ], q(mqb) => [ - q(4481), + q(4480), q(0), ], q(mqc) => [ - q(4482), + q(4481), q(0), ], q(mqe) => [ - q(4483), + q(4482), q(0), ], q(mqf) => [ - q(4484), + q(4483), q(0), ], q(mqg) => [ - q(4485), + q(4484), q(0), ], q(mqh) => [ - q(4486), + q(4485), q(0), ], q(mqi) => [ - q(4487), + q(4486), q(0), ], q(mqj) => [ - q(4488), + q(4487), q(0), ], q(mqk) => [ - q(4489), + q(4488), q(0), ], q(mql) => [ - q(4490), + q(4489), q(0), ], q(mqm) => [ - q(4491), + q(4490), q(0), ], q(mqn) => [ - q(4492), + q(4491), q(0), ], q(mqo) => [ - q(4493), + q(4492), q(0), ], q(mqp) => [ - q(4494), + q(4493), q(0), ], q(mqq) => [ - q(4495), + q(4494), q(0), ], q(mqr) => [ - q(4496), + q(4495), q(0), ], q(mqs) => [ - q(4497), + q(4496), q(0), ], q(mqt) => [ - q(4498), + q(4497), q(0), ], q(mqu) => [ - q(4499), + q(4498), q(0), ], q(mqv) => [ - q(4500), + q(4499), q(0), ], q(mqw) => [ - q(4501), + q(4500), q(0), ], q(mqx) => [ - q(4502), + q(4501), q(0), ], q(mqy) => [ - q(4503), + q(4502), q(0), ], q(mqz) => [ - q(4504), + q(4503), q(0), ], q(mra) => [ - q(4505), + q(4504), q(0), ], q(mrb) => [ - q(4506), + q(4505), q(0), ], q(mrc) => [ - q(4507), + q(4506), q(0), ], q(mrd) => [ - q(4508), + q(4507), q(0), ], q(mre) => [ - q(4509), + q(4508), q(0), ], q(mrf) => [ - q(4510), + q(4509), q(0), ], q(mrg) => [ - q(4511), + q(4510), q(0), ], q(mrh) => [ - q(4512), + q(4511), q(0), ], q(mrj) => [ - q(4513), + q(4512), q(0), ], q(mrk) => [ - q(4514), + q(4513), q(0), ], q(mrl) => [ - q(4515), + q(4514), q(0), ], q(mrm) => [ - q(4516), + q(4515), q(0), ], q(mrn) => [ - q(4517), + q(4516), q(0), ], q(mro) => [ - q(4518), + q(4517), q(0), ], q(mrp) => [ - q(4519), + q(4518), q(0), ], q(mrq) => [ - q(4520), + q(4519), q(0), ], q(mrr) => [ - q(4521), + q(4520), q(0), ], q(mrs) => [ - q(4522), + q(4521), q(0), ], q(mrt) => [ - q(4523), + q(4522), q(0), ], q(mru) => [ - q(4524), + q(4523), q(0), ], q(mrv) => [ - q(4525), + q(4524), q(0), ], q(mrw) => [ - q(4526), + q(4525), q(0), ], q(mrx) => [ - q(4527), + q(4526), q(0), ], q(mry) => [ - q(4528), + q(4527), q(0), ], q(mrz) => [ - q(4529), + q(4528), q(0), ], q(msb) => [ - q(4530), + q(4529), q(0), ], q(msc) => [ - q(4531), + q(4530), q(0), ], q(msd) => [ - q(4532), + q(4531), q(0), ], q(mse) => [ - q(4533), + q(4532), q(0), ], q(msf) => [ - q(4534), + q(4533), q(0), ], q(msg) => [ - q(4535), + q(4534), q(0), ], q(msh) => [ - q(4536), + q(4535), q(0), ], q(msi) => [ - q(4537), + q(4536), q(0), ], q(msj) => [ - q(4538), + q(4537), q(0), ], q(msk) => [ - q(4539), + q(4538), q(0), ], q(msl) => [ - q(4540), + q(4539), q(0), ], q(msm) => [ - q(4541), + q(4540), q(0), ], q(msn) => [ - q(4542), + q(4541), q(0), ], q(mso) => [ - q(4543), + q(4542), q(0), ], q(msp) => [ - q(4544), + q(4543), q(0), ], q(msq) => [ - q(4545), + q(4544), q(0), ], q(msr) => [ - q(4546), + q(4545), q(0), ], q(mss) => [ - q(4547), + q(4546), q(0), ], q(msu) => [ - q(4548), + q(4547), q(0), ], q(msv) => [ - q(4549), + q(4548), q(0), ], q(msw) => [ - q(4550), + q(4549), q(0), ], q(msx) => [ - q(4551), + q(4550), q(0), ], q(msy) => [ - q(4552), + q(4551), q(0), ], q(msz) => [ - q(4553), + q(4552), q(0), ], q(mta) => [ - q(4554), + q(4553), q(0), ], q(mtb) => [ - q(4555), + q(4554), q(0), ], q(mtc) => [ - q(4556), + q(4555), q(0), ], q(mtd) => [ - q(4557), + q(4556), q(0), ], q(mte) => [ - q(4558), + q(4557), q(0), ], q(mtf) => [ - q(4559), + q(4558), q(0), ], q(mtg) => [ - q(4560), + q(4559), q(0), ], q(mth) => [ - q(4561), + q(4560), q(0), ], q(mti) => [ - q(4562), + q(4561), q(0), ], q(mtj) => [ - q(4563), + q(4562), q(0), ], q(mtk) => [ - q(4564), + q(4563), q(0), ], q(mtl) => [ - q(4565), + q(4564), q(0), ], q(mtm) => [ - q(4566), + q(4565), q(0), ], q(mtn) => [ - q(4567), + q(4566), q(0), ], q(mto) => [ - q(4568), + q(4567), q(0), ], q(mtp) => [ - q(4569), + q(4568), q(0), ], q(mtq) => [ - q(4570), + q(4569), q(0), ], q(mtr) => [ - q(4571), + q(4570), q(0), ], q(mts) => [ - q(4572), + q(4571), q(0), ], q(mtt) => [ - q(4573), + q(4572), q(0), ], q(mtu) => [ - q(4574), + q(4573), q(0), ], q(mtv) => [ - q(4575), + q(4574), q(0), ], q(mtw) => [ - q(4576), + q(4575), q(0), ], q(mtx) => [ - q(4577), + q(4576), q(0), ], q(mty) => [ - q(4578), + q(4577), q(0), ], q(mua) => [ - q(4579), + q(4578), q(0), ], q(mub) => [ - q(4580), + q(4579), q(0), ], q(muc) => [ - q(4581), + q(4580), q(0), ], q(mud) => [ - q(4582), + q(4581), q(0), ], q(mue) => [ - q(4583), + q(4582), q(0), ], q(mug) => [ - q(4584), + q(4583), q(0), ], q(muh) => [ - q(4585), + q(4584), q(0), ], q(mui) => [ - q(4586), + q(4585), q(0), ], q(muj) => [ - q(4587), + q(4586), q(0), ], q(muk) => [ - q(4588), + q(4587), q(0), ], q(mul) => [ @@ -75724,7 +75774,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mum) => [ - q(4589), + q(4588), q(0), ], q(mun) => [ @@ -75732,19 +75782,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(muo) => [ - q(4590), + q(4589), q(0), ], q(mup) => [ - q(4591), + q(4590), q(0), ], q(muq) => [ - q(4592), + q(4591), q(0), ], q(mur) => [ - q(4593), + q(4592), q(0), ], q(mus) => [ @@ -75752,159 +75802,159 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mut) => [ - q(4594), + q(4593), q(0), ], q(muu) => [ - q(4595), + q(4594), q(0), ], q(muv) => [ - q(4596), + q(4595), q(0), ], q(mux) => [ - q(4597), + q(4596), q(0), ], q(muy) => [ - q(4598), + q(4597), q(0), ], q(muz) => [ - q(4599), + q(4598), q(0), ], q(mva) => [ - q(4600), + q(4599), q(0), ], q(mvb) => [ - q(4601), + q(4600), q(0), ], q(mvd) => [ - q(4602), + q(4601), q(0), ], q(mve) => [ - q(4603), + q(4602), q(0), ], q(mvf) => [ - q(4604), + q(4603), q(0), ], q(mvg) => [ - q(4605), + q(4604), q(0), ], q(mvh) => [ - q(4606), + q(4605), q(0), ], q(mvi) => [ - q(4607), + q(4606), q(0), ], q(mvk) => [ - q(4608), + q(4607), q(0), ], q(mvl) => [ - q(4609), + q(4608), q(0), ], q(mvm) => [ - q(4610), + q(4609), q(0), ], q(mvn) => [ - q(4611), + q(4610), q(0), ], q(mvo) => [ - q(4612), + q(4611), q(0), ], q(mvp) => [ - q(4613), + q(4612), q(0), ], q(mvq) => [ - q(4614), + q(4613), q(0), ], q(mvr) => [ - q(4615), + q(4614), q(0), ], q(mvs) => [ - q(4616), + q(4615), q(0), ], q(mvt) => [ - q(4617), + q(4616), q(0), ], q(mvu) => [ - q(4618), + q(4617), q(0), ], q(mvv) => [ - q(4619), + q(4618), q(0), ], q(mvw) => [ - q(4620), + q(4619), q(0), ], q(mvx) => [ - q(4621), + q(4620), q(0), ], q(mvy) => [ - q(4622), + q(4621), q(0), ], q(mvz) => [ - q(4623), + q(4622), q(0), ], q(mwa) => [ - q(4624), + q(4623), q(0), ], q(mwb) => [ - q(4625), + q(4624), q(0), ], q(mwc) => [ - q(4626), + q(4625), q(0), ], q(mwe) => [ - q(4627), + q(4626), q(0), ], q(mwf) => [ - q(4628), + q(4627), q(0), ], q(mwg) => [ - q(4629), + q(4628), q(0), ], q(mwh) => [ - q(4630), + q(4629), q(0), ], q(mwi) => [ - q(4631), + q(4630), q(0), ], q(mwk) => [ - q(4632), + q(4631), q(0), ], q(mwl) => [ @@ -75912,23 +75962,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mwm) => [ - q(4633), + q(4632), q(0), ], q(mwn) => [ - q(4634), + q(4633), q(0), ], q(mwo) => [ - q(4635), + q(4634), q(0), ], q(mwp) => [ - q(4636), + q(4635), q(0), ], q(mwq) => [ - q(4637), + q(4636), q(0), ], q(mwr) => [ @@ -75936,187 +75986,187 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(mws) => [ - q(4638), + q(4637), q(0), ], q(mwt) => [ - q(4639), + q(4638), q(0), ], q(mwu) => [ - q(4640), + q(4639), q(0), ], q(mwv) => [ - q(4641), + q(4640), q(0), ], q(mww) => [ - q(4642), + q(4641), q(0), ], q(mwx) => [ - q(4643), + q(4642), q(0), ], q(mwy) => [ - q(4644), + q(4643), q(0), ], q(mwz) => [ - q(4645), + q(4644), q(0), ], q(mxa) => [ - q(4646), + q(4645), q(0), ], q(mxb) => [ - q(4647), + q(4646), q(0), ], q(mxc) => [ - q(4648), + q(4647), q(0), ], q(mxd) => [ - q(4649), + q(4648), q(0), ], q(mxe) => [ - q(4650), + q(4649), q(0), ], q(mxf) => [ - q(4651), + q(4650), q(0), ], q(mxg) => [ - q(4652), + q(4651), q(0), ], q(mxh) => [ - q(4653), + q(4652), q(0), ], q(mxi) => [ - q(4654), + q(4653), q(0), ], q(mxj) => [ - q(4655), + q(4654), q(0), ], q(mxk) => [ - q(4656), + q(4655), q(0), ], q(mxl) => [ - q(4657), + q(4656), q(0), ], q(mxm) => [ - q(4658), + q(4657), q(0), ], q(mxn) => [ - q(4659), + q(4658), q(0), ], q(mxo) => [ - q(4660), + q(4659), q(0), ], q(mxp) => [ - q(4661), + q(4660), q(0), ], q(mxq) => [ - q(4662), + q(4661), q(0), ], q(mxr) => [ - q(4663), + q(4662), q(0), ], q(mxs) => [ - q(4664), + q(4663), q(0), ], q(mxt) => [ - q(4665), + q(4664), q(0), ], q(mxu) => [ - q(4666), + q(4665), q(0), ], q(mxv) => [ - q(4667), + q(4666), q(0), ], q(mxw) => [ - q(4668), + q(4667), q(0), ], q(mxx) => [ - q(4669), + q(4668), q(0), ], q(mxy) => [ - q(4670), + q(4669), q(0), ], q(mxz) => [ - q(4671), + q(4670), q(0), ], q(myb) => [ - q(4672), + q(4671), q(0), ], q(myc) => [ - q(4673), + q(4672), q(0), ], q(myd) => [ - q(4674), + q(4673), q(0), ], q(mye) => [ - q(4675), + q(4674), q(0), ], q(myf) => [ - q(4676), + q(4675), q(0), ], q(myg) => [ - q(4677), + q(4676), q(0), ], q(myh) => [ - q(4678), + q(4677), q(0), ], q(myi) => [ - q(4679), + q(4678), q(0), ], q(myj) => [ - q(4680), + q(4679), q(0), ], q(myk) => [ - q(4681), + q(4680), q(0), ], q(myl) => [ - q(4682), + q(4681), q(0), ], q(mym) => [ - q(4683), + q(4682), q(0), ], q(myn) => [ @@ -76124,23 +76174,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(myo) => [ - q(4684), + q(4683), q(0), ], q(myp) => [ - q(4685), + q(4684), q(0), ], q(myr) => [ - q(4686), + q(4685), q(0), ], q(mys) => [ - q(4687), + q(4686), q(0), ], q(myu) => [ - q(4688), + q(4687), q(0), ], q(myv) => [ @@ -76148,147 +76198,147 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(myw) => [ - q(4689), + q(4688), q(0), ], q(myx) => [ - q(4690), + q(4689), q(0), ], q(myy) => [ - q(4691), + q(4690), q(0), ], q(myz) => [ - q(4692), + q(4691), q(0), ], q(mza) => [ - q(4693), + q(4692), q(0), ], q(mzb) => [ - q(4694), + q(4693), q(0), ], q(mzc) => [ - q(4695), + q(4694), q(0), ], q(mzd) => [ - q(4696), + q(4695), q(0), ], q(mze) => [ - q(4697), + q(4696), q(0), ], q(mzg) => [ - q(4698), + q(4697), q(0), ], q(mzh) => [ - q(4699), + q(4698), q(0), ], q(mzi) => [ - q(4700), + q(4699), q(0), ], q(mzj) => [ - q(4701), + q(4700), q(0), ], q(mzk) => [ - q(4702), + q(4701), q(0), ], q(mzl) => [ - q(4703), + q(4702), q(0), ], q(mzm) => [ - q(4704), + q(4703), q(0), ], q(mzn) => [ - q(4705), + q(4704), q(0), ], q(mzo) => [ - q(4706), + q(4705), q(0), ], q(mzp) => [ - q(4707), + q(4706), q(0), ], q(mzq) => [ - q(4708), + q(4707), q(0), ], q(mzr) => [ - q(4709), + q(4708), q(0), ], q(mzs) => [ - q(4710), + q(4709), q(0), ], q(mzt) => [ - q(4711), + q(4710), q(0), ], q(mzu) => [ - q(4712), + q(4711), q(0), ], q(mzv) => [ - q(4713), + q(4712), q(0), ], q(mzw) => [ - q(4714), + q(4713), q(0), ], q(mzx) => [ - q(4715), + q(4714), q(0), ], q(mzy) => [ - q(4716), + q(4715), q(0), ], q(mzz) => [ - q(4717), + q(4716), q(0), ], q(naa) => [ - q(4718), + q(4717), q(0), ], q(nab) => [ - q(4719), + q(4718), q(0), ], q(nac) => [ - q(4720), + q(4719), q(0), ], q(nad) => [ - q(4721), + q(4720), q(0), ], q(nae) => [ - q(4722), + q(4721), q(0), ], q(naf) => [ - q(4723), + q(4722), q(0), ], q(nag) => [ - q(4724), + q(4723), q(0), ], q(nah) => [ @@ -76300,27 +76350,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(naj) => [ - q(4725), + q(4724), q(0), ], q(nak) => [ - q(4726), + q(4725), q(0), ], q(nal) => [ - q(4727), + q(4726), q(0), ], q(nam) => [ - q(4728), + q(4727), q(0), ], q(nan) => [ - q(4729), + q(4728), q(0), ], q(nao) => [ - q(4730), + q(4729), q(0), ], q(nap) => [ @@ -76328,19 +76378,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(naq) => [ - q(4731), + q(4730), q(0), ], q(nar) => [ - q(4732), + q(4731), q(0), ], q(nas) => [ - q(4733), + q(4732), q(0), ], q(nat) => [ - q(4734), + q(4733), q(0), ], q(nau) => [ @@ -76352,59 +76402,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(naw) => [ - q(4735), + q(4734), q(0), ], q(nax) => [ - q(4736), + q(4735), q(0), ], q(nay) => [ - q(4737), + q(4736), q(0), ], q(naz) => [ - q(4738), + q(4737), q(0), ], q(nba) => [ - q(4739), + q(4738), q(0), ], q(nbb) => [ - q(4740), + q(4739), q(0), ], q(nbc) => [ - q(4741), + q(4740), q(0), ], q(nbd) => [ - q(4742), + q(4741), q(0), ], q(nbe) => [ - q(4743), + q(4742), q(0), ], q(nbg) => [ - q(4744), + q(4743), q(0), ], q(nbh) => [ - q(4745), + q(4744), q(0), ], q(nbi) => [ - q(4746), + q(4745), q(0), ], q(nbj) => [ - q(4747), + q(4746), q(0), ], q(nbk) => [ - q(4748), + q(4747), q(0), ], q(nbl) => [ @@ -76412,155 +76462,155 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(nbm) => [ - q(4749), + q(4748), q(0), ], q(nbn) => [ - q(4750), + q(4749), q(0), ], q(nbo) => [ - q(4751), + q(4750), q(0), ], q(nbp) => [ - q(4752), + q(4751), q(0), ], q(nbq) => [ - q(4753), + q(4752), q(0), ], q(nbr) => [ - q(4754), + q(4753), q(0), ], q(nbs) => [ - q(4755), + q(4754), q(0), ], q(nbt) => [ - q(4756), + q(4755), q(0), ], q(nbu) => [ - q(4757), + q(4756), q(0), ], q(nbv) => [ - q(4758), + q(4757), q(0), ], q(nbw) => [ - q(4759), + q(4758), q(0), ], q(nby) => [ - q(4760), + q(4759), q(0), ], q(nca) => [ - q(4761), + q(4760), q(0), ], q(ncb) => [ - q(4762), + q(4761), q(0), ], q(ncc) => [ - q(4763), + q(4762), q(0), ], q(ncd) => [ - q(4764), + q(4763), q(0), ], q(nce) => [ - q(4765), + q(4764), q(0), ], q(ncf) => [ - q(4766), + q(4765), q(0), ], q(ncg) => [ - q(4767), + q(4766), q(0), ], q(nch) => [ - q(4768), + q(4767), q(0), ], q(nci) => [ - q(4769), + q(4768), q(0), ], q(ncj) => [ - q(4770), + q(4769), q(0), ], q(nck) => [ - q(4771), + q(4770), q(0), ], q(ncl) => [ - q(4772), + q(4771), q(0), ], q(ncm) => [ - q(4773), + q(4772), q(0), ], q(ncn) => [ - q(4774), + q(4773), q(0), ], q(nco) => [ - q(4775), + q(4774), q(0), ], q(ncp) => [ - q(4776), + q(4775), q(0), ], q(ncr) => [ - q(4777), + q(4776), q(0), ], q(ncs) => [ - q(4778), + q(4777), q(0), ], q(nct) => [ - q(4779), + q(4778), q(0), ], q(ncu) => [ - q(4780), + q(4779), q(0), ], q(ncx) => [ - q(4781), + q(4780), q(0), ], q(ncz) => [ - q(4782), + q(4781), q(0), ], q(nda) => [ - q(4783), + q(4782), q(0), ], q(ndb) => [ - q(4784), + q(4783), q(0), ], q(ndc) => [ - q(4785), + q(4784), q(0), ], q(ndd) => [ - q(4786), + q(4785), q(0), ], q(nde) => [ @@ -76568,39 +76618,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ndf) => [ - q(4787), + q(4786), q(0), ], q(ndg) => [ - q(4788), + q(4787), q(0), ], q(ndh) => [ - q(4789), + q(4788), q(0), ], q(ndi) => [ - q(4790), + q(4789), q(0), ], q(ndj) => [ - q(4791), + q(4790), q(0), ], q(ndk) => [ - q(4792), + q(4791), q(0), ], q(ndl) => [ - q(4793), + q(4792), q(0), ], q(ndm) => [ - q(4794), + q(4793), q(0), ], q(ndn) => [ - q(4795), + q(4794), q(0), ], q(ndo) => [ @@ -76608,15 +76658,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ndp) => [ - q(4796), + q(4795), q(0), ], q(ndq) => [ - q(4797), + q(4796), q(0), ], q(ndr) => [ - q(4798), + q(4797), q(0), ], q(nds) => [ @@ -76624,87 +76674,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ndt) => [ - q(4799), + q(4798), q(0), ], q(ndu) => [ - q(4800), + q(4799), q(0), ], q(ndv) => [ - q(4801), + q(4800), q(0), ], q(ndw) => [ - q(4802), + q(4801), q(0), ], q(ndx) => [ - q(4803), + q(4802), q(0), ], q(ndy) => [ - q(4804), + q(4803), q(0), ], q(ndz) => [ - q(4805), + q(4804), q(0), ], q(nea) => [ - q(4806), + q(4805), q(0), ], q(neb) => [ - q(4807), + q(4806), q(0), ], q(nec) => [ - q(4808), + q(4807), q(0), ], q(ned) => [ - q(4809), + q(4808), q(0), ], q(nee) => [ - q(4810), + q(4809), q(0), ], q(nef) => [ - q(4811), + q(4810), q(0), ], q(neg) => [ - q(4812), + q(4811), q(0), ], q(neh) => [ - q(4813), + q(4812), q(0), ], q(nei) => [ - q(4814), + q(4813), q(0), ], q(nej) => [ - q(4815), + q(4814), q(0), ], q(nek) => [ - q(4816), + q(4815), q(0), ], q(nem) => [ - q(4817), + q(4816), q(0), ], q(nen) => [ - q(4818), + q(4817), q(0), ], q(neo) => [ - q(4819), + q(4818), q(0), ], q(nep) => [ @@ -76712,27 +76762,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(neq) => [ - q(4820), + q(4819), q(0), ], q(ner) => [ - q(4821), + q(4820), q(0), ], q(nes) => [ - q(4822), + q(4821), q(0), ], q(net) => [ - q(4823), + q(4822), q(0), ], q(neu) => [ - q(4824), + q(4823), q(0), ], q(nev) => [ - q(4825), + q(4824), q(0), ], q(new) => [ @@ -76740,55 +76790,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(1), ], q(nex) => [ - q(4826), + q(4825), q(0), ], q(ney) => [ - q(4827), + q(4826), q(0), ], q(nez) => [ - q(4828), + q(4827), q(0), ], q(nfa) => [ - q(4829), + q(4828), q(0), ], q(nfd) => [ - q(4830), + q(4829), q(0), ], q(nfl) => [ - q(4831), + q(4830), q(0), ], q(nfr) => [ - q(4832), + q(4831), q(0), ], q(nfu) => [ - q(4833), + q(4832), q(0), ], q(nga) => [ - q(4834), + q(4833), q(0), ], q(ngb) => [ - q(4835), + q(4834), q(0), ], q(ngc) => [ - q(4836), + q(4835), q(0), ], q(ngd) => [ - q(4837), + q(4836), q(0), ], q(nge) => [ - q(4838), + q(4837), q(0), ], q(ngf) => [ @@ -76796,175 +76846,175 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ngg) => [ - q(4839), + q(4838), q(0), ], q(ngh) => [ - q(4840), + q(4839), q(0), ], q(ngi) => [ - q(4841), + q(4840), q(0), ], q(ngj) => [ - q(4842), + q(4841), q(0), ], q(ngk) => [ - q(4843), + q(4842), q(0), ], q(ngl) => [ - q(4844), + q(4843), q(0), ], q(ngm) => [ - q(4845), + q(4844), q(0), ], q(ngn) => [ - q(4846), + q(4845), q(0), ], q(ngo) => [ - q(4847), + q(4846), q(0), ], q(ngp) => [ - q(4848), + q(4847), q(0), ], q(ngq) => [ - q(4849), + q(4848), q(0), ], q(ngr) => [ - q(4850), + q(4849), q(0), ], q(ngs) => [ - q(4851), + q(4850), q(0), ], q(ngt) => [ - q(4852), + q(4851), q(0), ], q(ngu) => [ - q(4853), + q(4852), q(0), ], q(ngv) => [ - q(4854), + q(4853), q(0), ], q(ngw) => [ - q(4855), + q(4854), q(0), ], q(ngx) => [ - q(4856), + q(4855), q(0), ], q(ngy) => [ - q(4857), + q(4856), q(0), ], q(ngz) => [ - q(4858), + q(4857), q(0), ], q(nha) => [ - q(4859), + q(4858), q(0), ], q(nhb) => [ - q(4860), + q(4859), q(0), ], q(nhc) => [ - q(4861), + q(4860), q(0), ], q(nhd) => [ - q(4862), + q(4861), q(0), ], q(nhe) => [ - q(4863), + q(4862), q(0), ], q(nhf) => [ - q(4864), + q(4863), q(0), ], q(nhg) => [ - q(4865), + q(4864), q(0), ], q(nhh) => [ - q(4866), + q(4865), q(0), ], q(nhi) => [ - q(4867), + q(4866), q(0), ], q(nhk) => [ - q(4868), + q(4867), q(0), ], q(nhm) => [ - q(4869), + q(4868), q(0), ], q(nhn) => [ - q(4870), + q(4869), q(0), ], q(nho) => [ - q(4871), + q(4870), q(0), ], q(nhp) => [ - q(4872), + q(4871), q(0), ], q(nhq) => [ - q(4873), + q(4872), q(0), ], q(nhr) => [ - q(4874), + q(4873), q(0), ], q(nht) => [ - q(4875), + q(4874), q(0), ], q(nhu) => [ - q(4876), + q(4875), q(0), ], q(nhv) => [ - q(4877), + q(4876), q(0), ], q(nhw) => [ - q(4878), + q(4877), q(0), ], q(nhx) => [ - q(4879), + q(4878), q(0), ], q(nhy) => [ - q(4880), + q(4879), q(0), ], q(nhz) => [ - q(4881), + q(4880), q(0), ], q(nia) => [ @@ -76972,7 +77022,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(nib) => [ - q(4882), + q(4881), q(0), ], q(nic) => [ @@ -76980,67 +77030,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(nid) => [ - q(4883), + q(4882), q(0), ], q(nie) => [ - q(4884), + q(4883), q(0), ], q(nif) => [ - q(4885), + q(4884), q(0), ], q(nig) => [ - q(4886), + q(4885), q(0), ], q(nih) => [ - q(4887), + q(4886), q(0), ], q(nii) => [ - q(4888), + q(4887), q(0), ], q(nij) => [ - q(4889), + q(4888), q(0), ], q(nik) => [ - q(4890), + q(4889), q(0), ], q(nil) => [ - q(4891), + q(4890), q(0), ], q(nim) => [ - q(4892), + q(4891), q(0), ], q(nin) => [ - q(4893), + q(4892), q(0), ], q(nio) => [ - q(4894), + q(4893), q(0), ], q(niq) => [ - q(4895), + q(4894), q(0), ], q(nir) => [ - q(4896), + q(4895), q(0), ], q(nis) => [ - q(4897), + q(4896), q(0), ], q(nit) => [ - q(4898), + q(4897), q(0), ], q(niu) => [ @@ -77048,411 +77098,411 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(niv) => [ - q(4899), + q(4898), q(0), ], q(niw) => [ - q(4900), + q(4899), q(0), ], q(nix) => [ - q(4901), + q(4900), q(0), ], q(niy) => [ - q(4902), + q(4901), q(0), ], q(niz) => [ - q(4903), + q(4902), q(0), ], q(nja) => [ - q(4904), + q(4903), q(0), ], q(njb) => [ - q(4905), + q(4904), q(0), ], q(njd) => [ - q(4906), + q(4905), q(0), ], q(njh) => [ - q(4907), + q(4906), q(0), ], q(nji) => [ - q(4908), + q(4907), q(0), ], q(njj) => [ - q(4909), + q(4908), q(0), ], q(njl) => [ - q(4910), + q(4909), q(0), ], q(njm) => [ - q(4911), + q(4910), q(0), ], q(njn) => [ - q(4912), + q(4911), q(0), ], q(njo) => [ - q(4913), + q(4912), q(0), ], q(njr) => [ - q(4914), + q(4913), q(0), ], q(njs) => [ - q(4915), + q(4914), q(0), ], q(njt) => [ - q(4916), + q(4915), q(0), ], q(nju) => [ - q(4917), + q(4916), q(0), ], q(njx) => [ - q(4918), + q(4917), q(0), ], q(njy) => [ - q(4919), + q(4918), q(0), ], q(njz) => [ - q(4920), + q(4919), q(0), ], q(nka) => [ - q(4921), + q(4920), q(0), ], q(nkb) => [ - q(4922), + q(4921), q(0), ], q(nkc) => [ - q(4923), + q(4922), q(0), ], q(nkd) => [ - q(4924), + q(4923), q(0), ], q(nke) => [ - q(4925), + q(4924), q(0), ], q(nkf) => [ - q(4926), + q(4925), q(0), ], q(nkg) => [ - q(4927), + q(4926), q(0), ], q(nkh) => [ - q(4928), + q(4927), q(0), ], q(nki) => [ - q(4929), + q(4928), q(0), ], q(nkj) => [ - q(4930), + q(4929), q(0), ], q(nkk) => [ - q(4931), + q(4930), q(0), ], q(nkm) => [ - q(4932), + q(4931), q(0), ], q(nkn) => [ - q(4933), + q(4932), q(0), ], q(nko) => [ - q(4934), + q(4933), q(0), ], q(nkp) => [ - q(4935), + q(4934), q(0), ], q(nkq) => [ - q(4936), + q(4935), q(0), ], q(nkr) => [ - q(4937), + q(4936), q(0), ], q(nks) => [ - q(4938), + q(4937), q(0), ], q(nkt) => [ - q(4939), + q(4938), q(0), ], q(nku) => [ - q(4940), + q(4939), q(0), ], q(nkv) => [ - q(4941), + q(4940), q(0), ], q(nkw) => [ - q(4942), + q(4941), q(0), ], q(nkx) => [ - q(4943), + q(4942), q(0), ], q(nkz) => [ - q(4944), + q(4943), q(0), ], q(nla) => [ - q(4945), + q(4944), q(0), ], q(nlc) => [ - q(4946), + q(4945), q(0), ], q(nle) => [ - q(4947), + q(4946), q(0), ], q(nlg) => [ - q(4948), + q(4947), q(0), ], q(nli) => [ - q(4949), + q(4948), q(0), ], q(nlj) => [ - q(4950), + q(4949), q(0), ], q(nlk) => [ - q(4951), + q(4950), q(0), ], q(nll) => [ - q(4952), + q(4951), q(0), ], q(nlo) => [ - q(4953), + q(4952), q(0), ], q(nlq) => [ - q(4954), + q(4953), q(0), ], q(nlu) => [ - q(4955), + q(4954), q(0), ], q(nlv) => [ - q(4956), + q(4955), q(0), ], q(nlw) => [ - q(4957), + q(4956), q(0), ], q(nlx) => [ - q(4958), + q(4957), q(0), ], q(nly) => [ - q(4959), + q(4958), q(0), ], q(nlz) => [ - q(4960), + q(4959), q(0), ], q(nma) => [ - q(4961), + q(4960), q(0), ], q(nmb) => [ - q(4962), + q(4961), q(0), ], q(nmc) => [ - q(4963), + q(4962), q(0), ], q(nmd) => [ - q(4964), + q(4963), q(0), ], q(nme) => [ - q(4965), + q(4964), q(0), ], q(nmf) => [ - q(4966), + q(4965), q(0), ], q(nmg) => [ - q(4967), + q(4966), q(0), ], q(nmh) => [ - q(4968), + q(4967), q(0), ], q(nmi) => [ - q(4969), + q(4968), q(0), ], q(nmj) => [ - q(4970), + q(4969), q(0), ], q(nmk) => [ - q(4971), + q(4970), q(0), ], q(nml) => [ - q(4972), + q(4971), q(0), ], q(nmm) => [ - q(4973), + q(4972), q(0), ], q(nmn) => [ - q(4974), + q(4973), q(0), ], q(nmo) => [ - q(4975), + q(4974), q(0), ], q(nmp) => [ - q(4976), + q(4975), q(0), ], q(nmq) => [ - q(4977), + q(4976), q(0), ], q(nmr) => [ - q(4978), + q(4977), q(0), ], q(nms) => [ - q(4979), + q(4978), q(0), ], q(nmt) => [ - q(4980), + q(4979), q(0), ], q(nmu) => [ - q(4981), + q(4980), q(0), ], q(nmv) => [ - q(4982), + q(4981), q(0), ], q(nmw) => [ - q(4983), + q(4982), q(0), ], q(nmx) => [ - q(4984), + q(4983), q(0), ], q(nmy) => [ - q(4985), + q(4984), q(0), ], q(nmz) => [ - q(4986), + q(4985), q(0), ], q(nna) => [ - q(4987), + q(4986), q(0), ], q(nnb) => [ - q(4988), + q(4987), q(0), ], q(nnc) => [ - q(4989), + q(4988), q(0), ], q(nnd) => [ - q(4990), + q(4989), q(0), ], q(nne) => [ - q(4991), + q(4990), q(0), ], q(nnf) => [ - q(4992), + q(4991), q(0), ], q(nng) => [ - q(4993), + q(4992), q(0), ], q(nnh) => [ - q(4994), + q(4993), q(0), ], q(nni) => [ - q(4995), + q(4994), q(0), ], q(nnj) => [ - q(4996), + q(4995), q(0), ], q(nnk) => [ - q(4997), + q(4996), q(0), ], q(nnl) => [ - q(4998), + q(4997), q(0), ], q(nnm) => [ - q(4999), + q(4998), q(0), ], q(nnn) => [ - q(5000), + q(4999), q(0), ], q(nno) => [ @@ -77460,47 +77510,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(nnp) => [ - q(5001), + q(5000), q(0), ], q(nnq) => [ - q(5002), + q(5001), q(0), ], q(nnr) => [ - q(5003), + q(5002), q(0), ], q(nns) => [ - q(5004), + q(5003), q(0), ], q(nnt) => [ - q(5005), + q(5004), q(0), ], q(nnu) => [ - q(5006), + q(5005), q(0), ], q(nnv) => [ - q(5007), + q(5006), q(0), ], q(nnw) => [ - q(5008), + q(5007), q(0), ], q(nny) => [ - q(5009), + q(5008), q(0), ], q(nnz) => [ - q(5010), + q(5009), q(0), ], q(noa) => [ - q(5011), + q(5010), q(0), ], q(nob) => [ @@ -77508,19 +77558,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(noc) => [ - q(5012), + q(5011), q(0), ], q(nod) => [ - q(5013), + q(5012), q(0), ], q(noe) => [ - q(5014), + q(5013), q(0), ], q(nof) => [ - q(5015), + q(5014), q(0), ], q(nog) => [ @@ -77528,27 +77578,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(noh) => [ - q(5016), + q(5015), q(0), ], q(noi) => [ - q(5017), + q(5016), q(0), ], q(noj) => [ - q(5018), + q(5017), q(0), ], q(nok) => [ - q(5019), + q(5018), q(0), ], q(nol) => [ - q(5020), + q(5019), q(0), ], q(nom) => [ - q(5021), + q(5020), q(0), ], q(non) => [ @@ -77556,11 +77606,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(1), ], q(nop) => [ - q(5022), + q(5021), q(0), ], q(noq) => [ - q(5023), + q(5022), q(0), ], q(nor) => [ @@ -77568,91 +77618,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(nos) => [ - q(5024), + q(5023), q(0), ], q(not) => [ - q(5025), + q(5024), q(0), ], q(nou) => [ - q(5026), + q(5025), q(0), ], q(nov) => [ - q(5027), + q(5026), q(0), ], q(now) => [ - q(5028), + q(5027), q(0), ], q(noy) => [ - q(5029), + q(5028), q(0), ], q(noz) => [ - q(5030), + q(5029), q(0), ], q(npa) => [ - q(5031), + q(5030), q(0), ], q(npb) => [ - q(5032), + q(5031), q(0), ], q(npg) => [ - q(5033), + q(5032), q(0), ], q(nph) => [ - q(5034), + q(5033), q(0), ], q(npi) => [ - q(5035), + q(5034), q(0), ], q(npl) => [ - q(5036), + q(5035), q(0), ], q(npn) => [ - q(5037), + q(5036), q(0), ], q(npo) => [ - q(5038), + q(5037), q(0), ], q(nps) => [ - q(5039), + q(5038), q(0), ], q(npu) => [ - q(5040), + q(5039), q(0), ], q(npy) => [ - q(5041), + q(5040), q(0), ], q(nqg) => [ - q(5042), + q(5041), q(0), ], q(nqk) => [ - q(5043), + q(5042), q(0), ], q(nqm) => [ - q(5044), + q(5043), q(0), ], q(nqn) => [ - q(5045), + q(5044), q(0), ], q(nqo) => [ @@ -77660,127 +77710,127 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(nqq) => [ - q(5046), + q(5045), q(0), ], q(nqy) => [ - q(5047), + q(5046), q(0), ], q(nra) => [ - q(5048), + q(5047), q(0), ], q(nrb) => [ - q(5049), + q(5048), q(0), ], q(nrc) => [ - q(5050), + q(5049), q(0), ], q(nre) => [ - q(5051), + q(5050), q(0), ], q(nrf) => [ - q(5052), + q(5051), q(0), ], q(nrg) => [ - q(5053), + q(5052), q(0), ], q(nri) => [ - q(5054), + q(5053), q(0), ], q(nrk) => [ - q(5055), + q(5054), q(0), ], q(nrl) => [ - q(5056), + q(5055), q(0), ], q(nrm) => [ - q(5057), + q(5056), q(0), ], q(nrn) => [ - q(5058), + q(5057), q(0), ], q(nrp) => [ - q(5059), + q(5058), q(0), ], q(nrr) => [ - q(5060), + q(5059), q(0), ], q(nrt) => [ - q(5061), + q(5060), q(0), ], q(nru) => [ - q(5062), + q(5061), q(0), ], q(nrx) => [ - q(5063), + q(5062), q(0), ], q(nrz) => [ - q(5064), + q(5063), q(0), ], q(nsa) => [ - q(5065), + q(5064), q(0), ], q(nsc) => [ - q(5066), + q(5065), q(0), ], q(nsd) => [ - q(5067), + q(5066), q(0), ], q(nse) => [ - q(5068), + q(5067), q(0), ], q(nsf) => [ - q(5069), + q(5068), q(0), ], q(nsg) => [ - q(5070), + q(5069), q(0), ], q(nsh) => [ - q(5071), + q(5070), q(0), ], q(nsi) => [ - q(5072), + q(5071), q(0), ], q(nsk) => [ - q(5073), + q(5072), q(0), ], q(nsl) => [ - q(5074), + q(5073), q(0), ], q(nsm) => [ - q(5075), + q(5074), q(0), ], q(nsn) => [ - q(5076), + q(5075), q(0), ], q(nso) => [ @@ -77788,111 +77838,111 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(nsp) => [ - q(5077), + q(5076), q(0), ], q(nsq) => [ - q(5078), + q(5077), q(0), ], q(nsr) => [ - q(5079), + q(5078), q(0), ], q(nss) => [ - q(5080), + q(5079), q(0), ], q(nst) => [ - q(5081), + q(5080), q(0), ], q(nsu) => [ - q(5082), + q(5081), q(0), ], q(nsv) => [ - q(5083), + q(5082), q(0), ], q(nsw) => [ - q(5084), + q(5083), q(0), ], q(nsx) => [ - q(5085), + q(5084), q(0), ], q(nsy) => [ - q(5086), + q(5085), q(0), ], q(nsz) => [ - q(5087), + q(5086), q(0), ], q(nte) => [ - q(5088), + q(5087), q(0), ], q(ntg) => [ - q(5089), + q(5088), q(0), ], q(nti) => [ - q(5090), + q(5089), q(0), ], q(ntj) => [ - q(5091), + q(5090), q(0), ], q(ntk) => [ - q(5092), + q(5091), q(0), ], q(ntm) => [ - q(5093), + q(5092), q(0), ], q(nto) => [ - q(5094), + q(5093), q(0), ], q(ntp) => [ - q(5095), + q(5094), q(0), ], q(ntr) => [ - q(5096), + q(5095), q(0), ], q(nts) => [ - q(5097), + q(5096), q(0), ], q(ntu) => [ - q(5098), + q(5097), q(0), ], q(ntw) => [ - q(5099), + q(5098), q(0), ], q(ntx) => [ - q(5100), + q(5099), q(0), ], q(nty) => [ - q(5101), + q(5100), q(0), ], q(ntz) => [ - q(5102), + q(5101), q(0), ], q(nua) => [ - q(5103), + q(5102), q(0), ], q(nub) => [ @@ -77900,119 +77950,119 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(nuc) => [ - q(5104), + q(5103), q(0), ], q(nud) => [ - q(5105), + q(5104), q(0), ], q(nue) => [ - q(5106), + q(5105), q(0), ], q(nuf) => [ - q(5107), + q(5106), q(0), ], q(nug) => [ - q(5108), + q(5107), q(0), ], q(nuh) => [ - q(5109), + q(5108), q(0), ], q(nui) => [ - q(5110), + q(5109), q(0), ], q(nuj) => [ - q(5111), + q(5110), q(0), ], q(nuk) => [ - q(5112), + q(5111), q(0), ], q(nul) => [ - q(5113), + q(5112), q(0), ], q(num) => [ - q(5114), + q(5113), q(0), ], q(nun) => [ - q(5115), + q(5114), q(0), ], q(nuo) => [ - q(5116), + q(5115), q(0), ], q(nup) => [ - q(5117), + q(5116), q(0), ], q(nuq) => [ - q(5118), + q(5117), q(0), ], q(nur) => [ - q(5119), + q(5118), q(0), ], q(nus) => [ - q(5120), + q(5119), q(0), ], q(nut) => [ - q(5121), + q(5120), q(0), ], q(nuu) => [ - q(5122), + q(5121), q(0), ], q(nuv) => [ - q(5123), + q(5122), q(0), ], q(nuw) => [ - q(5124), + q(5123), q(0), ], q(nux) => [ - q(5125), + q(5124), q(0), ], q(nuy) => [ - q(5126), + q(5125), q(0), ], q(nuz) => [ - q(5127), + q(5126), q(0), ], q(nvh) => [ - q(5128), + q(5127), q(0), ], q(nvm) => [ - q(5129), + q(5128), q(0), ], q(nvo) => [ - q(5130), + q(5129), q(0), ], q(nwa) => [ - q(5131), + q(5130), q(0), ], q(nwb) => [ - q(5132), + q(5131), q(0), ], q(nwc) => [ @@ -78020,91 +78070,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(nwe) => [ - q(5133), + q(5132), q(0), ], q(nwg) => [ - q(5134), + q(5133), q(0), ], q(nwi) => [ - q(5135), + q(5134), q(0), ], q(nwm) => [ - q(5136), + q(5135), q(0), ], q(nwo) => [ - q(5137), + q(5136), q(0), ], q(nwr) => [ - q(5138), + q(5137), q(0), ], q(nwx) => [ - q(5139), + q(5138), q(0), ], q(nwy) => [ - q(5140), + q(5139), q(0), ], q(nxa) => [ - q(5141), + q(5140), q(0), ], q(nxd) => [ - q(5142), + q(5141), q(0), ], q(nxe) => [ - q(5143), + q(5142), q(0), ], q(nxg) => [ - q(5144), + q(5143), q(0), ], q(nxi) => [ - q(5145), + q(5144), q(0), ], q(nxk) => [ - q(5146), + q(5145), q(0), ], q(nxl) => [ - q(5147), + q(5146), q(0), ], q(nxm) => [ - q(5148), + q(5147), q(0), ], q(nxn) => [ - q(5149), + q(5148), q(0), ], q(nxo) => [ - q(5150), + q(5149), q(0), ], q(nxq) => [ - q(5151), + q(5150), q(0), ], q(nxr) => [ - q(5152), + q(5151), q(0), ], q(nxu) => [ - q(5153), + q(5152), q(0), ], q(nxx) => [ - q(5154), + q(5153), q(0), ], q(nya) => [ @@ -78112,47 +78162,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(nyb) => [ - q(5155), + q(5154), q(0), ], q(nyc) => [ - q(5156), + q(5155), q(0), ], q(nyd) => [ - q(5157), + q(5156), q(0), ], q(nye) => [ - q(5158), + q(5157), q(0), ], q(nyf) => [ - q(5159), + q(5158), q(0), ], q(nyg) => [ - q(5160), + q(5159), q(0), ], q(nyh) => [ - q(5161), + q(5160), q(0), ], q(nyi) => [ - q(5162), + q(5161), q(0), ], q(nyj) => [ - q(5163), + q(5162), q(0), ], q(nyk) => [ - q(5164), + q(5163), q(0), ], q(nyl) => [ - q(5165), + q(5164), q(0), ], q(nym) => [ @@ -78168,51 +78218,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(nyp) => [ - q(5166), + q(5165), q(0), ], q(nyq) => [ - q(5167), + q(5166), q(0), ], q(nyr) => [ - q(5168), + q(5167), q(0), ], q(nys) => [ - q(5169), + q(5168), q(0), ], q(nyt) => [ - q(5170), + q(5169), q(0), ], q(nyu) => [ - q(5171), + q(5170), q(0), ], q(nyv) => [ - q(5172), + q(5171), q(0), ], q(nyw) => [ - q(5173), + q(5172), q(0), ], q(nyx) => [ - q(5174), + q(5173), q(0), ], q(nyy) => [ - q(5175), + q(5174), q(0), ], q(nza) => [ - q(5176), + q(5175), q(0), ], q(nzb) => [ - q(5177), + q(5176), q(0), ], q(nzi) => [ @@ -78220,83 +78270,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(nzk) => [ - q(5178), + q(5177), q(0), ], q(nzm) => [ - q(5179), + q(5178), q(0), ], q(nzs) => [ - q(5180), + q(5179), q(0), ], q(nzu) => [ - q(5181), + q(5180), q(0), ], q(nzy) => [ - q(5182), + q(5181), q(0), ], q(nzz) => [ - q(5183), + q(5182), q(0), ], q(oaa) => [ - q(5184), + q(5183), q(0), ], q(oac) => [ - q(5185), + q(5184), q(0), ], q(oar) => [ - q(5186), + q(5185), q(0), ], q(oav) => [ - q(5187), + q(5186), q(0), ], q(obi) => [ - q(5188), + q(5187), q(0), ], q(obk) => [ - q(5189), + q(5188), q(0), ], q(obl) => [ - q(5190), + q(5189), q(0), ], q(obm) => [ - q(5191), + q(5190), q(0), ], q(obo) => [ - q(5192), + q(5191), q(0), ], q(obr) => [ - q(5193), + q(5192), q(0), ], q(obt) => [ - q(5194), + q(5193), q(0), ], q(obu) => [ - q(5195), + q(5194), q(0), ], q(oca) => [ - q(5196), + q(5195), q(0), ], q(och) => [ - q(5197), + q(5196), q(0), ], q(oci) => [ @@ -78304,91 +78354,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(oco) => [ - q(5198), + q(5197), q(0), ], q(ocu) => [ - q(5199), + q(5198), q(0), ], q(oda) => [ - q(5200), + q(5199), q(0), ], q(odk) => [ - q(5201), + q(5200), q(0), ], q(odt) => [ - q(5202), + q(5201), q(0), ], q(odu) => [ - q(5203), + q(5202), q(0), ], q(ofo) => [ - q(5204), + q(5203), q(0), ], q(ofs) => [ - q(5205), + q(5204), q(0), ], q(ofu) => [ - q(5206), + q(5205), q(0), ], q(ogb) => [ - q(5207), + q(5206), q(0), ], q(ogc) => [ - q(5208), + q(5207), q(0), ], q(oge) => [ - q(5209), + q(5208), q(0), ], q(ogg) => [ - q(5210), + q(5209), q(0), ], q(ogo) => [ - q(5211), + q(5210), q(0), ], q(ogu) => [ - q(5212), + q(5211), q(0), ], q(oht) => [ - q(5213), + q(5212), q(0), ], q(ohu) => [ - q(5214), + q(5213), q(0), ], q(oia) => [ - q(5215), + q(5214), q(0), ], q(oin) => [ - q(5216), + q(5215), q(0), ], q(ojb) => [ - q(5217), + q(5216), q(0), ], q(ojc) => [ - q(5218), + q(5217), q(0), ], q(ojg) => [ - q(5219), + q(5218), q(0), ], q(oji) => [ @@ -78396,167 +78446,167 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ojp) => [ - q(5220), + q(5219), q(0), ], q(ojs) => [ - q(5221), + q(5220), q(0), ], q(ojv) => [ - q(5222), + q(5221), q(0), ], q(ojw) => [ - q(5223), + q(5222), q(0), ], q(oka) => [ - q(5224), + q(5223), q(0), ], q(okb) => [ - q(5225), + q(5224), q(0), ], q(okd) => [ - q(5226), + q(5225), q(0), ], q(oke) => [ - q(5227), + q(5226), q(0), ], q(okg) => [ - q(5228), + q(5227), q(0), ], q(okh) => [ - q(5229), + q(5228), q(0), ], q(oki) => [ - q(5230), + q(5229), q(0), ], q(okj) => [ - q(5231), + q(5230), q(0), ], q(okk) => [ - q(5232), + q(5231), q(0), ], q(okl) => [ - q(5233), + q(5232), q(0), ], q(okm) => [ - q(5234), + q(5233), q(0), ], q(okn) => [ - q(5235), + q(5234), q(0), ], q(oko) => [ - q(5236), + q(5235), q(0), ], q(okr) => [ - q(5237), + q(5236), q(0), ], q(oks) => [ - q(5238), + q(5237), q(0), ], q(oku) => [ - q(5239), + q(5238), q(0), ], q(okv) => [ - q(5240), + q(5239), q(0), ], q(okx) => [ - q(5241), + q(5240), q(0), ], q(ola) => [ - q(5242), + q(5241), q(0), ], q(old) => [ - q(5243), + q(5242), q(0), ], q(ole) => [ - q(5244), + q(5243), q(0), ], q(olk) => [ - q(5245), + q(5244), q(0), ], q(olm) => [ - q(5246), + q(5245), q(0), ], q(olo) => [ - q(5247), + q(5246), q(0), ], q(olr) => [ - q(5248), + q(5247), q(0), ], q(olt) => [ - q(5249), + q(5248), q(0), ], q(oma) => [ - q(5250), + q(5249), q(0), ], q(omb) => [ - q(5251), + q(5250), q(0), ], q(omc) => [ - q(5252), + q(5251), q(0), ], q(ome) => [ - q(5253), + q(5252), q(0), ], q(omg) => [ - q(5254), + q(5253), q(0), ], q(omi) => [ - q(5255), + q(5254), q(0), ], q(omk) => [ - q(5256), + q(5255), q(0), ], q(oml) => [ - q(5257), + q(5256), q(0), ], q(omn) => [ - q(5258), + q(5257), q(0), ], q(omo) => [ - q(5259), + q(5258), q(0), ], q(omp) => [ - q(5260), + q(5259), q(0), ], q(omq) => [ @@ -78564,15 +78614,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(omr) => [ - q(5261), + q(5260), q(0), ], q(omt) => [ - q(5262), + q(5261), q(0), ], q(omu) => [ - q(5263), + q(5262), q(0), ], q(omv) => [ @@ -78580,139 +78630,139 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(omw) => [ - q(5264), + q(5263), q(0), ], q(omx) => [ - q(5265), + q(5264), q(0), ], q(ona) => [ - q(5266), + q(5265), q(0), ], q(onb) => [ - q(5267), + q(5266), q(0), ], q(one) => [ - q(5268), + q(5267), q(0), ], q(ong) => [ - q(5269), + q(5268), q(0), ], q(oni) => [ - q(5270), + q(5269), q(0), ], q(onj) => [ - q(5271), + q(5270), q(0), ], q(onk) => [ - q(5272), + q(5271), q(0), ], q(onn) => [ - q(5273), + q(5272), q(0), ], q(ono) => [ - q(5274), + q(5273), q(0), ], q(onp) => [ - q(5275), + q(5274), q(0), ], q(onr) => [ - q(5276), + q(5275), q(0), ], q(ons) => [ - q(5277), + q(5276), q(0), ], q(ont) => [ - q(5278), + q(5277), q(0), ], q(onu) => [ - q(5279), + q(5278), q(0), ], q(onw) => [ - q(5280), + q(5279), q(0), ], q(onx) => [ - q(5281), + q(5280), q(0), ], q(ood) => [ - q(5282), + q(5281), q(0), ], q(oog) => [ - q(5283), + q(5282), q(0), ], q(oon) => [ - q(5284), + q(5283), q(0), ], q(oor) => [ - q(5285), + q(5284), q(0), ], q(oos) => [ - q(5286), + q(5285), q(0), ], q(opa) => [ - q(5287), + q(5286), q(0), ], q(opk) => [ - q(5288), + q(5287), q(0), ], q(opm) => [ - q(5289), + q(5288), q(0), ], q(opo) => [ - q(5290), + q(5289), q(0), ], q(opt) => [ - q(5291), + q(5290), q(0), ], q(opy) => [ - q(5292), + q(5291), q(0), ], q(ora) => [ - q(5293), + q(5292), q(0), ], q(orc) => [ - q(5294), + q(5293), q(0), ], q(ore) => [ - q(5295), + q(5294), q(0), ], q(org) => [ - q(5296), + q(5295), q(0), ], q(orh) => [ - q(5297), + q(5296), q(0), ], q(ori) => [ @@ -78724,47 +78774,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(orn) => [ - q(5298), + q(5297), q(0), ], q(oro) => [ - q(5299), + q(5298), q(0), ], q(orr) => [ - q(5300), + q(5299), q(0), ], q(ors) => [ - q(5301), + q(5300), q(0), ], q(ort) => [ - q(5302), + q(5301), q(0), ], q(oru) => [ - q(5303), + q(5302), q(0), ], q(orv) => [ - q(5304), + q(5303), q(0), ], q(orw) => [ - q(5305), + q(5304), q(0), ], q(orx) => [ - q(5306), + q(5305), q(0), ], q(ory) => [ - q(5307), + q(5306), q(0), ], q(orz) => [ - q(5308), + q(5307), q(0), ], q(osa) => [ @@ -78772,19 +78822,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(osc) => [ - q(5309), + q(5308), q(0), ], q(osi) => [ - q(5310), + q(5309), q(0), ], q(oso) => [ - q(5311), + q(5310), q(0), ], q(osp) => [ - q(5312), + q(5311), q(0), ], q(oss) => [ @@ -78792,15 +78842,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ost) => [ - q(5313), + q(5312), q(0), ], q(osu) => [ - q(5314), + q(5313), q(0), ], q(osx) => [ - q(5315), + q(5314), q(0), ], q(ota) => [ @@ -78808,35 +78858,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(1), ], q(otb) => [ - q(5316), + q(5315), q(0), ], q(otd) => [ - q(5317), + q(5316), q(0), ], q(ote) => [ - q(5318), + q(5317), q(0), ], q(oti) => [ - q(5319), + q(5318), q(0), ], q(otk) => [ - q(5320), + q(5319), q(0), ], q(otl) => [ - q(5321), + q(5320), q(0), ], q(otm) => [ - q(5322), + q(5321), q(0), ], q(otn) => [ - q(5323), + q(5322), q(0), ], q(oto) => [ @@ -78844,87 +78894,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(otq) => [ - q(5324), + q(5323), q(0), ], q(otr) => [ - q(5325), + q(5324), q(0), ], q(ots) => [ - q(5326), + q(5325), q(0), ], q(ott) => [ - q(5327), + q(5326), q(0), ], q(otu) => [ - q(5328), + q(5327), q(0), ], q(otw) => [ - q(5329), + q(5328), q(0), ], q(otx) => [ - q(5330), + q(5329), q(0), ], q(oty) => [ - q(5331), + q(5330), q(0), ], q(otz) => [ - q(5332), + q(5331), q(0), ], q(oua) => [ - q(5333), + q(5332), q(0), ], q(oub) => [ - q(5334), + q(5333), q(0), ], q(oue) => [ - q(5335), + q(5334), q(0), ], q(oui) => [ - q(5336), + q(5335), q(0), ], q(oum) => [ - q(5337), + q(5336), q(0), ], q(owi) => [ - q(5338), + q(5337), q(0), ], q(owl) => [ - q(5339), + q(5338), q(0), ], q(oyb) => [ - q(5340), + q(5339), q(0), ], q(oyd) => [ - q(5341), + q(5340), q(0), ], q(oym) => [ - q(5342), + q(5341), q(0), ], q(oyy) => [ - q(5343), + q(5342), q(0), ], q(ozm) => [ - q(5344), + q(5343), q(0), ], q(paa) => [ @@ -78932,23 +78982,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(pab) => [ - q(5345), + q(5344), q(0), ], q(pac) => [ - q(5346), + q(5345), q(0), ], q(pad) => [ - q(5347), + q(5346), q(0), ], q(pae) => [ - q(5348), + q(5347), q(0), ], q(paf) => [ - q(5349), + q(5348), q(0), ], q(pag) => [ @@ -78956,15 +79006,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(pah) => [ - q(5350), + q(5349), q(0), ], q(pai) => [ - q(5351), + q(5350), q(0), ], q(pak) => [ - q(5352), + q(5351), q(0), ], q(pal) => [ @@ -78980,7 +79030,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(pao) => [ - q(5353), + q(5352), q(0), ], q(pap) => [ @@ -78988,19 +79038,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(paq) => [ - q(5354), + q(5353), q(0), ], q(par) => [ - q(5355), + q(5354), q(0), ], q(pas) => [ - q(5356), + q(5355), q(0), ], q(pat) => [ - q(5357), + q(5356), q(0), ], q(pau) => [ @@ -79008,231 +79058,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(pav) => [ - q(5358), + q(5357), q(0), ], q(paw) => [ - q(5359), + q(5358), q(0), ], q(pax) => [ - q(5360), + q(5359), q(0), ], q(pay) => [ - q(5361), + q(5360), q(0), ], q(paz) => [ - q(5362), + q(5361), q(0), ], q(pbb) => [ - q(5363), + q(5362), q(0), ], q(pbc) => [ - q(5364), + q(5363), q(0), ], q(pbe) => [ - q(5365), + q(5364), q(0), ], q(pbf) => [ - q(5366), + q(5365), q(0), ], q(pbg) => [ - q(5367), + q(5366), q(0), ], q(pbh) => [ - q(5368), + q(5367), q(0), ], q(pbi) => [ - q(5369), + q(5368), q(0), ], q(pbl) => [ - q(5370), + q(5369), q(0), ], q(pbn) => [ - q(5371), + q(5370), q(0), ], q(pbo) => [ - q(5372), + q(5371), q(0), ], q(pbp) => [ - q(5373), + q(5372), q(0), ], q(pbr) => [ - q(5374), + q(5373), q(0), ], q(pbs) => [ - q(5375), + q(5374), q(0), ], q(pbt) => [ - q(5376), + q(5375), q(0), ], q(pbu) => [ - q(5377), + q(5376), q(0), ], q(pbv) => [ - q(5378), + q(5377), q(0), ], q(pby) => [ - q(5379), + q(5378), q(0), ], q(pca) => [ - q(5380), + q(5379), q(0), ], q(pcb) => [ - q(5381), + q(5380), q(0), ], q(pcc) => [ - q(5382), + q(5381), q(0), ], q(pcd) => [ - q(5383), + q(5382), q(0), ], q(pce) => [ - q(5384), + q(5383), q(0), ], q(pcf) => [ - q(5385), + q(5384), q(0), ], q(pcg) => [ - q(5386), + q(5385), q(0), ], q(pch) => [ - q(5387), + q(5386), q(0), ], q(pci) => [ - q(5388), + q(5387), q(0), ], q(pcj) => [ - q(5389), + q(5388), q(0), ], q(pck) => [ - q(5390), + q(5389), q(0), ], q(pcl) => [ - q(5391), + q(5390), q(0), ], q(pcm) => [ - q(5392), + q(5391), q(0), ], q(pcn) => [ - q(5393), + q(5392), q(0), ], q(pcp) => [ - q(5394), + q(5393), q(0), ], q(pcw) => [ - q(5395), + q(5394), q(0), ], q(pda) => [ - q(5396), + q(5395), q(0), ], q(pdc) => [ - q(5397), + q(5396), q(0), ], q(pdi) => [ - q(5398), + q(5397), q(0), ], q(pdn) => [ - q(5399), + q(5398), q(0), ], q(pdo) => [ - q(5400), + q(5399), q(0), ], q(pdt) => [ - q(5401), + q(5400), q(0), ], q(pdu) => [ - q(5402), + q(5401), q(0), ], q(pea) => [ - q(5403), + q(5402), q(0), ], q(peb) => [ - q(5404), + q(5403), q(0), ], q(ped) => [ - q(5405), + q(5404), q(0), ], q(pee) => [ - q(5406), + q(5405), q(0), ], q(pef) => [ - q(5407), + q(5406), q(0), ], q(peg) => [ - q(5408), + q(5407), q(0), ], q(peh) => [ - q(5409), + q(5408), q(0), ], q(pei) => [ - q(5410), + q(5409), q(0), ], q(pej) => [ - q(5411), + q(5410), q(0), ], q(pek) => [ - q(5412), + q(5411), q(0), ], q(pel) => [ - q(5413), + q(5412), q(0), ], q(pem) => [ - q(5414), + q(5413), q(0), ], q(peo) => [ @@ -79240,11 +79290,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(1), ], q(pep) => [ - q(5415), + q(5414), q(0), ], q(peq) => [ - q(5416), + q(5415), q(0), ], q(per) => [ @@ -79252,87 +79302,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(pes) => [ - q(5417), + q(5416), q(0), ], q(pev) => [ - q(5418), + q(5417), q(0), ], q(pex) => [ - q(5419), + q(5418), q(0), ], q(pey) => [ - q(5420), + q(5419), q(0), ], q(pez) => [ - q(5421), + q(5420), q(0), ], q(pfa) => [ - q(5422), + q(5421), q(0), ], q(pfe) => [ - q(5423), + q(5422), q(0), ], q(pfl) => [ - q(5424), + q(5423), q(0), ], q(pga) => [ - q(5425), + q(5424), q(0), ], q(pgd) => [ - q(5426), + q(5425), q(0), ], q(pgg) => [ - q(5427), + q(5426), q(0), ], q(pgi) => [ - q(5428), + q(5427), q(0), ], q(pgk) => [ - q(5429), + q(5428), q(0), ], q(pgl) => [ - q(5430), + q(5429), q(0), ], q(pgn) => [ - q(5431), + q(5430), q(0), ], q(pgs) => [ - q(5432), + q(5431), q(0), ], q(pgu) => [ - q(5433), + q(5432), q(0), ], q(pha) => [ - q(5434), + q(5433), q(0), ], q(phd) => [ - q(5435), + q(5434), q(0), ], q(phg) => [ - q(5436), + q(5435), q(0), ], q(phh) => [ - q(5437), + q(5436), q(0), ], q(phi) => [ @@ -79340,15 +79390,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(phk) => [ - q(5438), + q(5437), q(0), ], q(phl) => [ - q(5439), + q(5438), q(0), ], q(phm) => [ - q(5440), + q(5439), q(0), ], q(phn) => [ @@ -79356,199 +79406,199 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(pho) => [ - q(5441), + q(5440), q(0), ], q(phq) => [ - q(5442), + q(5441), q(0), ], q(phr) => [ - q(5443), + q(5442), q(0), ], q(pht) => [ - q(5444), + q(5443), q(0), ], q(phu) => [ - q(5445), + q(5444), q(0), ], q(phv) => [ - q(5446), + q(5445), q(0), ], q(phw) => [ - q(5447), + q(5446), q(0), ], q(pia) => [ - q(5448), + q(5447), q(0), ], q(pib) => [ - q(5449), + q(5448), q(0), ], q(pic) => [ - q(5450), + q(5449), q(0), ], q(pid) => [ - q(5451), + q(5450), q(0), ], q(pie) => [ - q(5452), + q(5451), q(0), ], q(pif) => [ - q(5453), + q(5452), q(0), ], q(pig) => [ - q(5454), + q(5453), q(0), ], q(pih) => [ - q(5455), + q(5454), q(0), ], q(pii) => [ - q(5456), + q(5455), q(0), ], q(pij) => [ - q(5457), + q(5456), q(0), ], q(pil) => [ - q(5458), + q(5457), q(0), ], q(pim) => [ - q(5459), + q(5458), q(0), ], q(pin) => [ - q(5460), + q(5459), q(0), ], q(pio) => [ - q(5461), + q(5460), q(0), ], q(pip) => [ - q(5462), + q(5461), q(0), ], q(pir) => [ - q(5463), + q(5462), q(0), ], q(pis) => [ - q(5464), + q(5463), q(0), ], q(pit) => [ - q(5465), + q(5464), q(0), ], q(piu) => [ - q(5466), + q(5465), q(0), ], q(piv) => [ - q(5467), + q(5466), q(0), ], q(piw) => [ - q(5468), + q(5467), q(0), ], q(pix) => [ - q(5469), + q(5468), q(0), ], q(piy) => [ - q(5470), + q(5469), q(0), ], q(piz) => [ - q(5471), + q(5470), q(0), ], q(pjt) => [ - q(5472), + q(5471), q(0), ], q(pka) => [ - q(5473), + q(5472), q(0), ], q(pkb) => [ - q(5474), + q(5473), q(0), ], q(pkc) => [ - q(5475), + q(5474), q(0), ], q(pkg) => [ - q(5476), + q(5475), q(0), ], q(pkh) => [ - q(5477), + q(5476), q(0), ], q(pkn) => [ - q(5478), + q(5477), q(0), ], q(pko) => [ - q(5479), + q(5478), q(0), ], q(pkp) => [ - q(5480), + q(5479), q(0), ], q(pkr) => [ - q(5481), + q(5480), q(0), ], q(pks) => [ - q(5482), + q(5481), q(0), ], q(pkt) => [ - q(5483), + q(5482), q(0), ], q(pku) => [ - q(5484), + q(5483), q(0), ], q(pla) => [ - q(5485), + q(5484), q(0), ], q(plb) => [ - q(5486), + q(5485), q(0), ], q(plc) => [ - q(5487), + q(5486), q(0), ], q(pld) => [ - q(5488), + q(5487), q(0), ], q(ple) => [ - q(5489), + q(5488), q(0), ], q(plf) => [ @@ -79556,11 +79606,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(plg) => [ - q(5490), + q(5489), q(0), ], q(plh) => [ - q(5491), + q(5490), q(0), ], q(pli) => [ @@ -79568,279 +79618,279 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(plj) => [ - q(5492), + q(5491), q(0), ], q(plk) => [ - q(5493), + q(5492), q(0), ], q(pll) => [ - q(5494), + q(5493), q(0), ], q(pln) => [ - q(5495), + q(5494), q(0), ], q(plo) => [ - q(5496), + q(5495), q(0), ], q(plp) => [ - q(5497), + q(5496), q(0), ], q(plq) => [ - q(5498), + q(5497), q(0), ], q(plr) => [ - q(5499), + q(5498), q(0), ], q(pls) => [ - q(5500), + q(5499), q(0), ], q(plt) => [ - q(5501), + q(5500), q(0), ], q(plu) => [ - q(5502), + q(5501), q(0), ], q(plv) => [ - q(5503), + q(5502), q(0), ], q(plw) => [ - q(5504), + q(5503), q(0), ], q(ply) => [ - q(5505), + q(5504), q(0), ], q(plz) => [ - q(5506), + q(5505), q(0), ], q(pma) => [ - q(5507), + q(5506), q(0), ], q(pmb) => [ - q(5508), + q(5507), q(0), ], q(pmc) => [ - q(5509), + q(5508), q(0), ], q(pmd) => [ - q(5510), + q(5509), q(0), ], q(pme) => [ - q(5511), + q(5510), q(0), ], q(pmf) => [ - q(5512), + q(5511), q(0), ], q(pmh) => [ - q(5513), + q(5512), q(0), ], q(pmi) => [ - q(5514), + q(5513), q(0), ], q(pmj) => [ - q(5515), + q(5514), q(0), ], q(pmk) => [ - q(5516), + q(5515), q(0), ], q(pml) => [ - q(5517), + q(5516), q(0), ], q(pmm) => [ - q(5518), + q(5517), q(0), ], q(pmn) => [ - q(5519), + q(5518), q(0), ], q(pmo) => [ - q(5520), + q(5519), q(0), ], q(pmq) => [ - q(5521), + q(5520), q(0), ], q(pmr) => [ - q(5522), + q(5521), q(0), ], q(pms) => [ - q(5523), + q(5522), q(0), ], q(pmt) => [ - q(5524), + q(5523), q(0), ], q(pmw) => [ - q(5525), + q(5524), q(0), ], q(pmx) => [ - q(5526), + q(5525), q(0), ], q(pmy) => [ - q(5527), + q(5526), q(0), ], q(pmz) => [ - q(5528), + q(5527), q(0), ], q(pna) => [ - q(5529), + q(5528), q(0), ], q(pnb) => [ - q(5530), + q(5529), q(0), ], q(pnc) => [ - q(5531), + q(5530), q(0), ], q(pne) => [ - q(5532), + q(5531), q(0), ], q(png) => [ - q(5533), + q(5532), q(0), ], q(pnh) => [ - q(5534), + q(5533), q(0), ], q(pni) => [ - q(5535), + q(5534), q(0), ], q(pnj) => [ - q(5536), + q(5535), q(0), ], q(pnk) => [ - q(5537), + q(5536), q(0), ], q(pnl) => [ - q(5538), + q(5537), q(0), ], q(pnm) => [ - q(5539), + q(5538), q(0), ], q(pnn) => [ - q(5540), + q(5539), q(0), ], q(pno) => [ - q(5541), + q(5540), q(0), ], q(pnp) => [ - q(5542), + q(5541), q(0), ], q(pnq) => [ - q(5543), + q(5542), q(0), ], q(pnr) => [ - q(5544), + q(5543), q(0), ], q(pns) => [ - q(5545), + q(5544), q(0), ], q(pnt) => [ - q(5546), + q(5545), q(0), ], q(pnu) => [ - q(5547), + q(5546), q(0), ], q(pnv) => [ - q(5548), + q(5547), q(0), ], q(pnw) => [ - q(5549), + q(5548), q(0), ], q(pnx) => [ - q(5550), + q(5549), q(0), ], q(pny) => [ - q(5551), + q(5550), q(0), ], q(pnz) => [ - q(5552), + q(5551), q(0), ], q(poc) => [ - q(5553), + q(5552), q(0), ], q(pod) => [ - q(5554), + q(5553), q(0), ], q(poe) => [ - q(5555), + q(5554), q(0), ], q(pof) => [ - q(5556), + q(5555), q(0), ], q(pog) => [ - q(5557), + q(5556), q(0), ], q(poh) => [ - q(5558), + q(5557), q(0), ], q(poi) => [ - q(5559), + q(5558), q(0), ], q(pok) => [ - q(5560), + q(5559), q(0), ], q(pol) => [ @@ -79848,7 +79898,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(pom) => [ - q(5561), + q(5560), q(0), ], q(pon) => [ @@ -79856,15 +79906,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(poo) => [ - q(5562), + q(5561), q(0), ], q(pop) => [ - q(5563), + q(5562), q(0), ], q(poq) => [ - q(5564), + q(5563), q(0), ], q(por) => [ @@ -79872,27 +79922,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(pos) => [ - q(5565), + q(5564), q(0), ], q(pot) => [ - q(5566), + q(5565), q(0), ], q(pov) => [ - q(5567), + q(5566), q(0), ], q(pow) => [ - q(5568), + q(5567), q(0), ], q(pox) => [ - q(5569), + q(5568), q(0), ], q(poy) => [ - q(5570), + q(5569), q(0), ], q(poz) => [ @@ -79900,59 +79950,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ppa) => [ - q(5571), + q(5570), q(0), ], q(ppe) => [ - q(5572), + q(5571), q(0), ], q(ppi) => [ - q(5573), + q(5572), q(0), ], q(ppk) => [ - q(5574), + q(5573), q(0), ], q(ppl) => [ - q(5575), + q(5574), q(0), ], q(ppm) => [ - q(5576), + q(5575), q(0), ], q(ppn) => [ - q(5577), + q(5576), q(0), ], q(ppo) => [ - q(5578), + q(5577), q(0), ], q(ppp) => [ - q(5579), + q(5578), q(0), ], q(ppq) => [ - q(5580), + q(5579), q(0), ], q(pps) => [ - q(5581), + q(5580), q(0), ], q(ppt) => [ - q(5582), + q(5581), q(0), ], q(ppu) => [ - q(5583), + q(5582), q(0), ], q(pqa) => [ - q(5584), + q(5583), q(0), ], q(pqe) => [ @@ -79960,7 +80010,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(pqm) => [ - q(5585), + q(5584), q(0), ], q(pqw) => [ @@ -79972,51 +80022,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(prb) => [ - q(5586), + q(5585), q(0), ], q(prc) => [ - q(5587), + q(5586), q(0), ], q(prd) => [ - q(5588), + q(5587), q(0), ], q(pre) => [ - q(5589), + q(5588), q(0), ], q(prf) => [ - q(5590), + q(5589), q(0), ], q(prg) => [ - q(5591), + q(5590), q(0), ], q(prh) => [ - q(5592), + q(5591), q(0), ], q(pri) => [ - q(5593), + q(5592), q(0), ], q(prk) => [ - q(5594), + q(5593), q(0), ], q(prl) => [ - q(5595), + q(5594), q(0), ], q(prm) => [ - q(5596), + q(5595), q(0), ], q(prn) => [ - q(5597), + q(5596), q(0), ], q(pro) => [ @@ -80024,231 +80074,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(1), ], q(prp) => [ - q(5598), + q(5597), q(0), ], q(prq) => [ - q(5599), + q(5598), q(0), ], q(prr) => [ - q(5600), + q(5599), q(0), ], q(prs) => [ - q(5601), + q(5600), q(0), ], q(prt) => [ - q(5602), + q(5601), q(0), ], q(pru) => [ - q(5603), + q(5602), q(0), ], q(prw) => [ - q(5604), + q(5603), q(0), ], q(prx) => [ - q(5605), + q(5604), q(0), ], q(pry) => [ - q(5606), + q(5605), q(0), ], q(prz) => [ - q(5607), + q(5606), q(0), ], q(psa) => [ - q(5608), + q(5607), q(0), ], q(psc) => [ - q(5609), + q(5608), q(0), ], q(psd) => [ - q(5610), + q(5609), q(0), ], q(pse) => [ - q(5611), + q(5610), q(0), ], q(psg) => [ - q(5612), + q(5611), q(0), ], q(psh) => [ - q(5613), + q(5612), q(0), ], q(psi) => [ - q(5614), + q(5613), q(0), ], q(psl) => [ - q(5615), + q(5614), q(0), ], q(psm) => [ - q(5616), + q(5615), q(0), ], q(psn) => [ - q(5617), + q(5616), q(0), ], q(pso) => [ - q(5618), + q(5617), q(0), ], q(psp) => [ - q(5619), + q(5618), q(0), ], q(psq) => [ - q(5620), + q(5619), q(0), ], q(psr) => [ - q(5621), + q(5620), q(0), ], q(pss) => [ - q(5622), + q(5621), q(0), ], q(pst) => [ - q(5623), + q(5622), q(0), ], q(psu) => [ - q(5624), + q(5623), q(0), ], q(psw) => [ - q(5625), + q(5624), q(0), ], q(psy) => [ - q(5626), + q(5625), q(0), ], q(pta) => [ - q(5627), + q(5626), q(0), ], q(pth) => [ - q(5628), + q(5627), q(0), ], q(pti) => [ - q(5629), + q(5628), q(0), ], q(ptn) => [ - q(5630), + q(5629), q(0), ], q(pto) => [ - q(5631), + q(5630), q(0), ], q(ptp) => [ - q(5632), + q(5631), q(0), ], q(ptq) => [ - q(5633), + q(5632), q(0), ], q(ptr) => [ - q(5634), + q(5633), q(0), ], q(ptt) => [ - q(5635), + q(5634), q(0), ], q(ptu) => [ - q(5636), + q(5635), q(0), ], q(ptv) => [ - q(5637), + q(5636), q(0), ], q(ptw) => [ - q(5638), + q(5637), q(0), ], q(pty) => [ - q(5639), + q(5638), q(0), ], q(pua) => [ - q(5640), + q(5639), q(0), ], q(pub) => [ - q(5641), + q(5640), q(0), ], q(puc) => [ - q(5642), + q(5641), q(0), ], q(pud) => [ - q(5643), + q(5642), q(0), ], q(pue) => [ - q(5644), + q(5643), q(0), ], q(puf) => [ - q(5645), + q(5644), q(0), ], q(pug) => [ - q(5646), + q(5645), q(0), ], q(pui) => [ - q(5647), + q(5646), q(0), ], q(puj) => [ - q(5648), + q(5647), q(0), ], q(puk) => [ - q(5649), + q(5648), q(0), ], q(pum) => [ - q(5650), + q(5649), q(0), ], q(puo) => [ - q(5651), + q(5650), q(0), ], q(pup) => [ - q(5652), + q(5651), q(0), ], q(puq) => [ - q(5653), + q(5652), q(0), ], q(pur) => [ - q(5654), + q(5653), q(0), ], q(pus) => [ @@ -80256,95 +80306,95 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(put) => [ - q(5655), + q(5654), q(0), ], q(puu) => [ - q(5656), + q(5655), q(0), ], q(puw) => [ - q(5657), + q(5656), q(0), ], q(pux) => [ - q(5658), + q(5657), q(0), ], q(puy) => [ - q(5659), + q(5658), q(0), ], q(pwa) => [ - q(5660), + q(5659), q(0), ], q(pwb) => [ - q(5661), + q(5660), q(0), ], q(pwg) => [ - q(5662), + q(5661), q(0), ], q(pwi) => [ - q(5663), + q(5662), q(0), ], q(pwm) => [ - q(5664), + q(5663), q(0), ], q(pwn) => [ - q(5665), + q(5664), q(0), ], q(pwo) => [ - q(5666), + q(5665), q(0), ], q(pwr) => [ - q(5667), + q(5666), q(0), ], q(pww) => [ - q(5668), + q(5667), q(0), ], q(pxm) => [ - q(5669), + q(5668), q(0), ], q(pye) => [ - q(5670), + q(5669), q(0), ], q(pym) => [ - q(5671), + q(5670), q(0), ], q(pyn) => [ - q(5672), + q(5671), q(0), ], q(pys) => [ - q(5673), + q(5672), q(0), ], q(pyu) => [ - q(5674), + q(5673), q(0), ], q(pyx) => [ - q(5675), + q(5674), q(0), ], q(pyy) => [ - q(5676), + q(5675), q(0), ], q(pzn) => [ - q(5677), + q(5676), q(0), ], q(qtz) => [ @@ -80352,19 +80402,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(qua) => [ - q(5678), + q(5677), q(0), ], q(qub) => [ - q(5679), + q(5678), q(0), ], q(quc) => [ - q(5680), + q(5679), q(0), ], q(qud) => [ - q(5681), + q(5680), q(0), ], q(que) => [ @@ -80372,139 +80422,139 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(quf) => [ - q(5682), + q(5681), q(0), ], q(qug) => [ - q(5683), + q(5682), q(0), ], q(quh) => [ - q(5684), + q(5683), q(0), ], q(qui) => [ - q(5685), + q(5684), q(0), ], q(quk) => [ - q(5686), + q(5685), q(0), ], q(qul) => [ - q(5687), + q(5686), q(0), ], q(qum) => [ - q(5688), + q(5687), q(0), ], q(qun) => [ - q(5689), + q(5688), q(0), ], q(qup) => [ - q(5690), + q(5689), q(0), ], q(quq) => [ - q(5691), + q(5690), q(0), ], q(qur) => [ - q(5692), + q(5691), q(0), ], q(qus) => [ - q(5693), + q(5692), q(0), ], q(quv) => [ - q(5694), + q(5693), q(0), ], q(quw) => [ - q(5695), + q(5694), q(0), ], q(qux) => [ - q(5696), + q(5695), q(0), ], q(quy) => [ - q(5697), + q(5696), q(0), ], q(quz) => [ - q(5698), + q(5697), q(0), ], q(qva) => [ - q(5699), + q(5698), q(0), ], q(qvc) => [ - q(5700), + q(5699), q(0), ], q(qve) => [ - q(5701), + q(5700), q(0), ], q(qvh) => [ - q(5702), + q(5701), q(0), ], q(qvi) => [ - q(5703), + q(5702), q(0), ], q(qvj) => [ - q(5704), + q(5703), q(0), ], q(qvl) => [ - q(5705), + q(5704), q(0), ], q(qvm) => [ - q(5706), + q(5705), q(0), ], q(qvn) => [ - q(5707), + q(5706), q(0), ], q(qvo) => [ - q(5708), + q(5707), q(0), ], q(qvp) => [ - q(5709), + q(5708), q(0), ], q(qvs) => [ - q(5710), + q(5709), q(0), ], q(qvw) => [ - q(5711), + q(5710), q(0), ], q(qvy) => [ - q(5712), + q(5711), q(0), ], q(qvz) => [ - q(5713), + q(5712), q(0), ], q(qwa) => [ - q(5714), + q(5713), q(0), ], q(qwc) => [ - q(5715), + q(5714), q(0), ], q(qwe) => [ @@ -80512,111 +80562,111 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(qwh) => [ - q(5716), + q(5715), q(0), ], q(qwm) => [ - q(5717), + q(5716), q(0), ], q(qws) => [ - q(5718), + q(5717), q(0), ], q(qwt) => [ - q(5719), + q(5718), q(0), ], q(qxa) => [ - q(5720), + q(5719), q(0), ], q(qxc) => [ - q(5721), + q(5720), q(0), ], q(qxh) => [ - q(5722), + q(5721), q(0), ], q(qxl) => [ - q(5723), + q(5722), q(0), ], q(qxn) => [ - q(5724), + q(5723), q(0), ], q(qxo) => [ - q(5725), + q(5724), q(0), ], q(qxp) => [ - q(5726), + q(5725), q(0), ], q(qxq) => [ - q(5727), + q(5726), q(0), ], q(qxr) => [ - q(5728), + q(5727), q(0), ], q(qxs) => [ - q(5729), + q(5728), q(0), ], q(qxt) => [ - q(5730), + q(5729), q(0), ], q(qxu) => [ - q(5731), + q(5730), q(0), ], q(qxw) => [ - q(5732), + q(5731), q(0), ], q(qya) => [ - q(5733), + q(5732), q(0), ], q(qyp) => [ - q(5734), + q(5733), q(0), ], q(raa) => [ - q(5735), + q(5734), q(0), ], q(rab) => [ - q(5736), + q(5735), q(0), ], q(rac) => [ - q(5737), + q(5736), q(0), ], q(rad) => [ - q(5738), + q(5737), q(0), ], q(raf) => [ - q(5739), + q(5738), q(0), ], q(rag) => [ - q(5740), + q(5739), q(0), ], q(rah) => [ - q(5741), + q(5740), q(0), ], q(rai) => [ - q(5742), + q(5741), q(0), ], q(raj) => [ @@ -80624,23 +80674,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(rak) => [ - q(5743), + q(5742), q(0), ], q(ral) => [ - q(5744), + q(5743), q(0), ], q(ram) => [ - q(5745), + q(5744), q(0), ], q(ran) => [ - q(5746), + q(5745), q(0), ], q(rao) => [ - q(5747), + q(5746), q(0), ], q(rap) => [ @@ -80648,7 +80698,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(raq) => [ - q(5748), + q(5747), q(0), ], q(rar) => [ @@ -80656,351 +80706,351 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ras) => [ - q(5749), + q(5748), q(0), ], q(rat) => [ - q(5750), + q(5749), q(0), ], q(rau) => [ - q(5751), + q(5750), q(0), ], q(rav) => [ - q(5752), + q(5751), q(0), ], q(raw) => [ - q(5753), + q(5752), q(0), ], q(rax) => [ - q(5754), + q(5753), q(0), ], q(ray) => [ - q(5755), + q(5754), q(0), ], q(raz) => [ - q(5756), + q(5755), q(0), ], q(rbb) => [ - q(5757), + q(5756), q(0), ], q(rbk) => [ - q(5758), + q(5757), q(0), ], q(rbl) => [ - q(5759), + q(5758), q(0), ], q(rbp) => [ - q(5760), + q(5759), q(0), ], q(rcf) => [ - q(5761), + q(5760), q(0), ], q(rdb) => [ - q(5762), + q(5761), q(0), ], q(rea) => [ - q(5763), + q(5762), q(0), ], q(reb) => [ - q(5764), + q(5763), q(0), ], q(ree) => [ - q(5765), + q(5764), q(0), ], q(reg) => [ - q(5766), + q(5765), q(0), ], q(rei) => [ - q(5767), + q(5766), q(0), ], q(rej) => [ - q(5768), + q(5767), q(0), ], q(rel) => [ - q(5769), + q(5768), q(0), ], q(rem) => [ - q(5770), + q(5769), q(0), ], q(ren) => [ - q(5771), + q(5770), q(0), ], q(rer) => [ - q(5772), + q(5771), q(0), ], q(res) => [ - q(5773), + q(5772), q(0), ], q(ret) => [ - q(5774), + q(5773), q(0), ], q(rey) => [ - q(5775), + q(5774), q(0), ], q(rga) => [ - q(5776), + q(5775), q(0), ], q(rge) => [ - q(5777), + q(5776), q(0), ], q(rgk) => [ - q(5778), + q(5777), q(0), ], q(rgn) => [ - q(5779), + q(5778), q(0), ], q(rgr) => [ - q(5780), + q(5779), q(0), ], q(rgs) => [ - q(5781), + q(5780), q(0), ], q(rgu) => [ - q(5782), + q(5781), q(0), ], q(rhg) => [ - q(5783), + q(5782), q(0), ], q(rhp) => [ - q(5784), + q(5783), q(0), ], q(ria) => [ - q(5785), + q(5784), q(0), ], q(rie) => [ - q(5786), + q(5785), q(0), ], q(rif) => [ - q(5787), + q(5786), q(0), ], q(ril) => [ - q(5788), + q(5787), q(0), ], q(rim) => [ - q(5789), + q(5788), q(0), ], q(rin) => [ - q(5790), + q(5789), q(0), ], q(rir) => [ - q(5791), + q(5790), q(0), ], q(rit) => [ - q(5792), + q(5791), q(0), ], q(riu) => [ - q(5793), + q(5792), q(0), ], q(rjg) => [ - q(5794), + q(5793), q(0), ], q(rji) => [ - q(5795), + q(5794), q(0), ], q(rjs) => [ - q(5796), + q(5795), q(0), ], q(rka) => [ - q(5797), + q(5796), q(0), ], q(rkb) => [ - q(5798), + q(5797), q(0), ], q(rkh) => [ - q(5799), + q(5798), q(0), ], q(rki) => [ - q(5800), + q(5799), q(0), ], q(rkm) => [ - q(5801), + q(5800), q(0), ], q(rkt) => [ - q(5802), + q(5801), q(0), ], q(rkw) => [ - q(5803), + q(5802), q(0), ], q(rma) => [ - q(5804), + q(5803), q(0), ], q(rmb) => [ - q(5805), + q(5804), q(0), ], q(rmc) => [ - q(5806), + q(5805), q(0), ], q(rmd) => [ - q(5807), + q(5806), q(0), ], q(rme) => [ - q(5808), + q(5807), q(0), ], q(rmf) => [ - q(5809), + q(5808), q(0), ], q(rmg) => [ - q(5810), + q(5809), q(0), ], q(rmh) => [ - q(5811), + q(5810), q(0), ], q(rmi) => [ - q(5812), + q(5811), q(0), ], q(rmk) => [ - q(5813), + q(5812), q(0), ], q(rml) => [ - q(5814), + q(5813), q(0), ], q(rmm) => [ - q(5815), + q(5814), q(0), ], q(rmn) => [ - q(5816), + q(5815), q(0), ], q(rmo) => [ - q(5817), + q(5816), q(0), ], q(rmp) => [ - q(5818), + q(5817), q(0), ], q(rmq) => [ - q(5819), + q(5818), q(0), ], q(rms) => [ - q(5820), + q(5819), q(0), ], q(rmt) => [ - q(5821), + q(5820), q(0), ], q(rmu) => [ - q(5822), + q(5821), q(0), ], q(rmv) => [ - q(5823), + q(5822), q(0), ], q(rmw) => [ - q(5824), + q(5823), q(0), ], q(rmx) => [ - q(5825), + q(5824), q(0), ], q(rmy) => [ - q(5826), + q(5825), q(0), ], q(rmz) => [ - q(5827), + q(5826), q(0), ], q(rna) => [ - q(5828), + q(5827), q(0), ], q(rnd) => [ - q(5829), + q(5828), q(0), ], q(rng) => [ - q(5830), + q(5829), q(0), ], q(rnl) => [ - q(5831), + q(5830), q(0), ], q(rnn) => [ - q(5832), + q(5831), q(0), ], q(rnp) => [ - q(5833), + q(5832), q(0), ], q(rnr) => [ - q(5834), + q(5833), q(0), ], q(rnw) => [ - q(5835), + q(5834), q(0), ], q(roa) => [ @@ -81008,27 +81058,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(rob) => [ - q(5836), + q(5835), q(0), ], q(roc) => [ - q(5837), + q(5836), q(0), ], q(rod) => [ - q(5838), + q(5837), q(0), ], q(roe) => [ - q(5839), + q(5838), q(0), ], q(rof) => [ - q(5840), + q(5839), q(0), ], q(rog) => [ - q(5841), + q(5840), q(0), ], q(roh) => [ @@ -81036,7 +81086,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(rol) => [ - q(5842), + q(5841), q(0), ], q(rom) => [ @@ -81044,107 +81094,107 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(roo) => [ - q(5843), + q(5842), q(0), ], q(rop) => [ - q(5844), + q(5843), q(0), ], q(ror) => [ - q(5845), + q(5844), q(0), ], q(rou) => [ - q(5846), + q(5845), q(0), ], q(row) => [ - q(5847), + q(5846), q(0), ], q(rpn) => [ - q(5848), + q(5847), q(0), ], q(rpt) => [ - q(5849), + q(5848), q(0), ], q(rri) => [ - q(5850), + q(5849), q(0), ], q(rro) => [ - q(5851), + q(5850), q(0), ], q(rrt) => [ - q(5852), + q(5851), q(0), ], q(rsb) => [ - q(5853), + q(5852), q(0), ], q(rsi) => [ - q(5854), + q(5853), q(0), ], q(rsl) => [ - q(5855), + q(5854), q(0), ], q(rtc) => [ - q(5856), + q(5855), q(0), ], q(rth) => [ - q(5857), + q(5856), q(0), ], q(rtm) => [ - q(5858), + q(5857), q(0), ], q(rts) => [ - q(5859), + q(5858), q(0), ], q(rtw) => [ - q(5860), + q(5859), q(0), ], q(rub) => [ - q(5861), + q(5860), q(0), ], q(ruc) => [ - q(5862), + q(5861), q(0), ], q(rue) => [ - q(5863), + q(5862), q(0), ], q(ruf) => [ - q(5864), + q(5863), q(0), ], q(rug) => [ - q(5865), + q(5864), q(0), ], q(ruh) => [ - q(5866), + q(5865), q(0), ], q(rui) => [ - q(5867), + q(5866), q(0), ], q(ruk) => [ - q(5868), + q(5867), q(0), ], q(rum) => [ @@ -81156,7 +81206,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ruo) => [ - q(5869), + q(5868), q(0), ], q(rup) => [ @@ -81164,7 +81214,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(2), ], q(ruq) => [ - q(5870), + q(5869), q(0), ], q(rus) => [ @@ -81172,71 +81222,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(rut) => [ - q(5871), + q(5870), q(0), ], q(ruu) => [ - q(5872), + q(5871), q(0), ], q(ruy) => [ - q(5873), + q(5872), q(0), ], q(ruz) => [ - q(5874), + q(5873), q(0), ], q(rwa) => [ - q(5875), + q(5874), q(0), ], q(rwk) => [ - q(5876), + q(5875), q(0), ], q(rwm) => [ - q(5877), + q(5876), q(0), ], q(rwo) => [ - q(5878), + q(5877), q(0), ], q(rwr) => [ - q(5879), + q(5878), q(0), ], q(rxd) => [ - q(5880), + q(5879), q(0), ], q(rxw) => [ - q(5881), + q(5880), q(0), ], q(ryn) => [ - q(5882), + q(5881), q(0), ], q(rys) => [ - q(5883), + q(5882), q(0), ], q(ryu) => [ - q(5884), + q(5883), q(0), ], q(saa) => [ - q(5885), + q(5884), q(0), ], q(sab) => [ - q(5886), + q(5885), q(0), ], q(sac) => [ - q(5887), + q(5886), q(0), ], q(sad) => [ @@ -81244,11 +81294,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(sae) => [ - q(5888), + q(5887), q(0), ], q(saf) => [ - q(5889), + q(5888), q(0), ], q(sag) => [ @@ -81264,11 +81314,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(1), ], q(saj) => [ - q(5890), + q(5889), q(0), ], q(sak) => [ - q(5891), + q(5890), q(0), ], q(sal) => [ @@ -81284,15 +81334,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(sao) => [ - q(5892), + q(5891), q(0), ], q(saq) => [ - q(5893), + q(5892), q(0), ], q(sar) => [ - q(5894), + q(5893), q(0), ], q(sas) => [ @@ -81304,163 +81354,163 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(sau) => [ - q(5895), + q(5894), q(0), ], q(sav) => [ - q(5896), + q(5895), q(0), ], q(saw) => [ - q(5897), + q(5896), q(0), ], q(sax) => [ - q(5898), + q(5897), q(0), ], q(say) => [ - q(5899), + q(5898), q(0), ], q(saz) => [ - q(5900), + q(5899), q(0), ], q(sba) => [ - q(5901), + q(5900), q(0), ], q(sbb) => [ - q(5902), + q(5901), q(0), ], q(sbc) => [ - q(5903), + q(5902), q(0), ], q(sbd) => [ - q(5904), + q(5903), q(0), ], q(sbe) => [ - q(5905), + q(5904), q(0), ], q(sbf) => [ - q(5906), + q(5905), q(0), ], q(sbg) => [ - q(5907), + q(5906), q(0), ], q(sbh) => [ - q(5908), + q(5907), q(0), ], q(sbi) => [ - q(5909), + q(5908), q(0), ], q(sbj) => [ - q(5910), + q(5909), q(0), ], q(sbk) => [ - q(5911), + q(5910), q(0), ], q(sbl) => [ - q(5912), + q(5911), q(0), ], q(sbm) => [ - q(5913), + q(5912), q(0), ], q(sbn) => [ - q(5914), + q(5913), q(0), ], q(sbo) => [ - q(5915), + q(5914), q(0), ], q(sbp) => [ - q(5916), + q(5915), q(0), ], q(sbq) => [ - q(5917), + q(5916), q(0), ], q(sbr) => [ - q(5918), + q(5917), q(0), ], q(sbs) => [ - q(5919), + q(5918), q(0), ], q(sbt) => [ - q(5920), + q(5919), q(0), ], q(sbu) => [ - q(5921), + q(5920), q(0), ], q(sbv) => [ - q(5922), + q(5921), q(0), ], q(sbw) => [ - q(5923), + q(5922), q(0), ], q(sbx) => [ - q(5924), + q(5923), q(0), ], q(sby) => [ - q(5925), + q(5924), q(0), ], q(sbz) => [ - q(5926), + q(5925), q(0), ], q(scb) => [ - q(5927), + q(5926), q(0), ], q(sce) => [ - q(5928), + q(5927), q(0), ], q(scf) => [ - q(5929), + q(5928), q(0), ], q(scg) => [ - q(5930), + q(5929), q(0), ], q(sch) => [ - q(5931), + q(5930), q(0), ], q(sci) => [ - q(5932), + q(5931), q(0), ], q(sck) => [ - q(5933), + q(5932), q(0), ], q(scl) => [ - q(5934), + q(5933), q(0), ], q(scn) => [ @@ -81472,103 +81522,103 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(scp) => [ - q(5935), + q(5934), q(0), ], q(scq) => [ - q(5936), + q(5935), q(0), ], q(scs) => [ - q(5937), + q(5936), q(0), ], q(scu) => [ - q(5938), + q(5937), q(0), ], q(scv) => [ - q(5939), + q(5938), q(0), ], q(scw) => [ - q(5940), + q(5939), q(0), ], q(scx) => [ - q(5941), + q(5940), q(0), ], q(sda) => [ - q(5942), + q(5941), q(0), ], q(sdb) => [ - q(5943), + q(5942), q(0), ], q(sdc) => [ - q(5944), + q(5943), q(0), ], q(sde) => [ - q(5945), + q(5944), q(0), ], q(sdf) => [ - q(5946), + q(5945), q(0), ], q(sdg) => [ - q(5947), + q(5946), q(0), ], q(sdh) => [ - q(5948), + q(5947), q(0), ], q(sdj) => [ - q(5949), + q(5948), q(0), ], q(sdk) => [ - q(5950), + q(5949), q(0), ], q(sdl) => [ - q(5951), + q(5950), q(0), ], q(sdm) => [ - q(5952), + q(5951), q(0), ], q(sdn) => [ - q(5953), + q(5952), q(0), ], q(sdo) => [ - q(5954), + q(5953), q(0), ], q(sdp) => [ - q(5955), + q(5954), q(0), ], q(sdr) => [ - q(5956), + q(5955), q(0), ], q(sds) => [ - q(5957), + q(5956), q(0), ], q(sdt) => [ - q(5958), + q(5957), q(0), ], q(sdu) => [ - q(5959), + q(5958), q(0), ], q(sdv) => [ @@ -81576,55 +81626,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(sdx) => [ - q(5960), + q(5959), q(0), ], q(sdz) => [ - q(5961), + q(5960), q(0), ], q(sea) => [ - q(5962), + q(5961), q(0), ], q(seb) => [ - q(5963), + q(5962), q(0), ], q(sec) => [ - q(5964), + q(5963), q(0), ], q(sed) => [ - q(5965), + q(5964), q(0), ], q(see) => [ - q(5966), + q(5965), q(0), ], q(sef) => [ - q(5967), + q(5966), q(0), ], q(seg) => [ - q(5968), + q(5967), q(0), ], q(seh) => [ - q(5969), + q(5968), q(0), ], q(sei) => [ - q(5970), + q(5969), q(0), ], q(sej) => [ - q(5971), + q(5970), q(0), ], q(sek) => [ - q(5972), + q(5971), q(0), ], q(sel) => [ @@ -81636,71 +81686,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(sen) => [ - q(5973), + q(5972), q(0), ], q(seo) => [ - q(5974), + q(5973), q(0), ], q(sep) => [ - q(5975), + q(5974), q(0), ], q(seq) => [ - q(5976), + q(5975), q(0), ], q(ser) => [ - q(5977), + q(5976), q(0), ], q(ses) => [ - q(5978), + q(5977), q(0), ], q(set) => [ - q(5979), + q(5978), q(0), ], q(seu) => [ - q(5980), + q(5979), q(0), ], q(sev) => [ - q(5981), + q(5980), q(0), ], q(sew) => [ - q(5982), + q(5981), q(0), ], q(sey) => [ - q(5983), + q(5982), q(0), ], q(sez) => [ - q(5984), + q(5983), q(0), ], q(sfb) => [ - q(5985), + q(5984), q(0), ], q(sfe) => [ - q(5986), + q(5985), q(0), ], q(sfm) => [ - q(5987), + q(5986), q(0), ], q(sfs) => [ - q(5988), + q(5987), q(0), ], q(sfw) => [ - q(5989), + q(5988), q(0), ], q(sga) => [ @@ -81708,43 +81758,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(1), ], q(sgb) => [ - q(5990), + q(5989), q(0), ], q(sgc) => [ - q(5991), + q(5990), q(0), ], q(sgd) => [ - q(5992), + q(5991), q(0), ], q(sge) => [ - q(5993), + q(5992), q(0), ], q(sgg) => [ - q(5994), + q(5993), q(0), ], q(sgh) => [ - q(5995), + q(5994), q(0), ], q(sgi) => [ - q(5996), + q(5995), q(0), ], q(sgj) => [ - q(5997), + q(5996), q(0), ], q(sgk) => [ - q(5998), + q(5997), q(0), ], q(sgm) => [ - q(5999), + q(5998), q(0), ], q(sgn) => [ @@ -81752,87 +81802,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(sgp) => [ - q(6000), + q(5999), q(0), ], q(sgr) => [ - q(6001), + q(6000), q(0), ], q(sgs) => [ - q(6002), + q(6001), q(0), ], q(sgt) => [ - q(6003), + q(6002), q(0), ], q(sgu) => [ - q(6004), + q(6003), q(0), ], q(sgw) => [ - q(6005), + q(6004), q(0), ], q(sgx) => [ - q(6006), + q(6005), q(0), ], q(sgy) => [ - q(6007), + q(6006), q(0), ], q(sgz) => [ - q(6008), + q(6007), q(0), ], q(sha) => [ - q(6009), + q(6008), q(0), ], q(shb) => [ - q(6010), + q(6009), q(0), ], q(shc) => [ - q(6011), + q(6010), q(0), ], q(shd) => [ - q(6012), + q(6011), q(0), ], q(she) => [ - q(6013), + q(6012), q(0), ], q(shg) => [ - q(6014), + q(6013), q(0), ], q(shh) => [ - q(6015), + q(6014), q(0), ], q(shi) => [ - q(6016), + q(6015), q(0), ], q(shj) => [ - q(6017), + q(6016), q(0), ], q(shk) => [ - q(6018), + q(6017), q(0), ], q(shl) => [ - q(6019), + q(6018), q(0), ], q(shm) => [ - q(6020), + q(6019), q(0), ], q(shn) => [ @@ -81840,59 +81890,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(sho) => [ - q(6021), + q(6020), q(0), ], q(shp) => [ - q(6022), + q(6021), q(0), ], q(shq) => [ - q(6023), + q(6022), q(0), ], q(shr) => [ - q(6024), + q(6023), q(0), ], q(shs) => [ - q(6025), + q(6024), q(0), ], q(sht) => [ - q(6026), + q(6025), q(0), ], q(shu) => [ - q(6027), + q(6026), q(0), ], q(shv) => [ - q(6028), + q(6027), q(0), ], q(shw) => [ - q(6029), + q(6028), q(0), ], q(shx) => [ - q(6030), + q(6029), q(0), ], q(shy) => [ - q(6031), + q(6030), q(0), ], q(shz) => [ - q(6032), + q(6031), q(0), ], q(sia) => [ - q(6033), + q(6032), q(0), ], q(sib) => [ - q(6034), + q(6033), q(0), ], q(sid) => [ @@ -81900,39 +81950,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(sie) => [ - q(6035), + q(6034), q(0), ], q(sif) => [ - q(6036), + q(6035), q(0), ], q(sig) => [ - q(6037), + q(6036), q(0), ], q(sih) => [ - q(6038), + q(6037), q(0), ], q(sii) => [ - q(6039), + q(6038), q(0), ], q(sij) => [ - q(6040), + q(6039), q(0), ], q(sik) => [ - q(6041), + q(6040), q(0), ], q(sil) => [ - q(6042), + q(6041), q(0), ], q(sim) => [ - q(6043), + q(6042), q(0), ], q(sin) => [ @@ -81944,19 +81994,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(sip) => [ - q(6044), + q(6043), q(0), ], q(siq) => [ - q(6045), + q(6044), q(0), ], q(sir) => [ - q(6046), + q(6045), q(0), ], q(sis) => [ - q(6047), + q(6046), q(0), ], q(sit) => [ @@ -81964,191 +82014,191 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(siu) => [ - q(6048), + q(6047), q(0), ], q(siv) => [ - q(6049), + q(6048), q(0), ], q(siw) => [ - q(6050), + q(6049), q(0), ], q(six) => [ - q(6051), + q(6050), q(0), ], q(siy) => [ - q(6052), + q(6051), q(0), ], q(siz) => [ - q(6053), + q(6052), q(0), ], q(sja) => [ - q(6054), + q(6053), q(0), ], q(sjb) => [ - q(6055), + q(6054), q(0), ], q(sjd) => [ - q(6056), + q(6055), q(0), ], q(sje) => [ - q(6057), + q(6056), q(0), ], q(sjg) => [ - q(6058), + q(6057), q(0), ], q(sjk) => [ - q(6059), + q(6058), q(0), ], q(sjl) => [ - q(6060), + q(6059), q(0), ], q(sjm) => [ - q(6061), + q(6060), q(0), ], q(sjn) => [ - q(6062), + q(6061), q(0), ], q(sjo) => [ - q(6063), + q(6062), q(0), ], q(sjp) => [ - q(6064), + q(6063), q(0), ], q(sjr) => [ - q(6065), + q(6064), q(0), ], q(sjs) => [ - q(6066), + q(6065), q(0), ], q(sjt) => [ - q(6067), + q(6066), q(0), ], q(sju) => [ - q(6068), + q(6067), q(0), ], q(sjw) => [ - q(6069), + q(6068), q(0), ], q(ska) => [ - q(6070), + q(6069), q(0), ], q(skb) => [ - q(6071), + q(6070), q(0), ], q(skc) => [ - q(6072), + q(6071), q(0), ], q(skd) => [ - q(6073), + q(6072), q(0), ], q(ske) => [ - q(6074), + q(6073), q(0), ], q(skf) => [ - q(6075), + q(6074), q(0), ], q(skg) => [ - q(6076), + q(6075), q(0), ], q(skh) => [ - q(6077), + q(6076), q(0), ], q(ski) => [ - q(6078), + q(6077), q(0), ], q(skj) => [ - q(6079), + q(6078), q(0), ], q(skk) => [ - q(6080), + q(6079), q(0), ], q(skm) => [ - q(6081), + q(6080), q(0), ], q(skn) => [ - q(6082), + q(6081), q(0), ], q(sko) => [ - q(6083), + q(6082), q(0), ], q(skp) => [ - q(6084), + q(6083), q(0), ], q(skq) => [ - q(6085), + q(6084), q(0), ], q(skr) => [ - q(6086), + q(6085), q(0), ], q(sks) => [ - q(6087), + q(6086), q(0), ], q(skt) => [ - q(6088), + q(6087), q(0), ], q(sku) => [ - q(6089), + q(6088), q(0), ], q(skv) => [ - q(6090), + q(6089), q(0), ], q(skw) => [ - q(6091), + q(6090), q(0), ], q(skx) => [ - q(6092), + q(6091), q(0), ], q(sky) => [ - q(6093), + q(6092), q(0), ], q(skz) => [ - q(6094), + q(6093), q(0), ], q(sla) => [ @@ -82156,47 +82206,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(slc) => [ - q(5905), + q(5904), q(0), ], q(sld) => [ - q(6095), + q(6094), q(0), ], q(sle) => [ - q(6096), + q(6095), q(0), ], q(slf) => [ - q(6097), + q(6096), q(0), ], q(slg) => [ - q(6098), + q(6097), q(0), ], q(slh) => [ - q(6099), + q(6098), q(0), ], q(sli) => [ - q(6100), + q(6099), q(0), ], q(slj) => [ - q(6101), + q(6100), q(0), ], q(sll) => [ - q(6102), + q(6101), q(0), ], q(slm) => [ - q(6103), + q(6102), q(0), ], q(sln) => [ - q(6104), + q(6103), q(0), ], q(slo) => [ @@ -82204,27 +82254,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(slp) => [ - q(6105), + q(6104), q(0), ], q(slq) => [ - q(6106), + q(6105), q(0), ], q(slr) => [ - q(6107), + q(6106), q(0), ], q(sls) => [ - q(6108), + q(6107), q(0), ], q(slt) => [ - q(6109), + q(6108), q(0), ], q(slu) => [ - q(6110), + q(6109), q(0), ], q(slv) => [ @@ -82232,19 +82282,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(slw) => [ - q(6111), + q(6110), q(0), ], q(slx) => [ - q(6112), + q(6111), q(0), ], q(sly) => [ - q(6113), + q(6112), q(0), ], q(slz) => [ - q(6114), + q(6113), q(0), ], q(sma) => [ @@ -82252,15 +82302,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(smb) => [ - q(6115), + q(6114), q(0), ], q(smc) => [ - q(6116), + q(6115), q(0), ], q(smd) => [ - q(6117), + q(6116), q(0), ], q(sme) => [ @@ -82268,15 +82318,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(smf) => [ - q(6118), + q(6117), q(0), ], q(smg) => [ - q(6119), + q(6118), q(0), ], q(smh) => [ - q(6120), + q(6119), q(0), ], q(smi) => [ @@ -82288,15 +82338,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(smk) => [ - q(6121), + q(6120), q(0), ], q(sml) => [ - q(6122), + q(6121), q(0), ], q(smm) => [ - q(6123), + q(6122), q(0), ], q(smn) => [ @@ -82308,15 +82358,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(smp) => [ - q(6124), + q(6123), q(0), ], q(smq) => [ - q(6125), + q(6124), q(0), ], q(smr) => [ - q(6126), + q(6125), q(0), ], q(sms) => [ @@ -82324,31 +82374,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(smt) => [ - q(6127), + q(6126), q(0), ], q(smu) => [ - q(6128), + q(6127), q(0), ], q(smv) => [ - q(6129), + q(6128), q(0), ], q(smw) => [ - q(6130), + q(6129), q(0), ], q(smx) => [ - q(6131), + q(6130), q(0), ], q(smy) => [ - q(6132), + q(6131), q(0), ], q(smz) => [ - q(6133), + q(6132), q(0), ], q(sna) => [ @@ -82356,11 +82406,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(snb) => [ - q(6134), + q(6133), q(0), ], q(snc) => [ - q(6135), + q(6134), q(0), ], q(snd) => [ @@ -82368,27 +82418,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(sne) => [ - q(6136), + q(6135), q(0), ], q(snf) => [ - q(6137), + q(6136), q(0), ], q(sng) => [ - q(6138), + q(6137), q(0), ], q(snh) => [ - q(6139), + q(6138), q(0), ], q(sni) => [ - q(6140), + q(6139), q(0), ], q(snj) => [ - q(6141), + q(6140), q(0), ], q(snk) => [ @@ -82396,79 +82446,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(snl) => [ - q(6142), + q(6141), q(0), ], q(snm) => [ - q(6143), + q(6142), q(0), ], q(snn) => [ - q(6144), + q(6143), q(0), ], q(sno) => [ - q(6145), + q(6144), q(0), ], q(snp) => [ - q(6146), + q(6145), q(0), ], q(snq) => [ - q(6147), + q(6146), q(0), ], q(snr) => [ - q(6148), + q(6147), q(0), ], q(sns) => [ - q(6149), + q(6148), q(0), ], q(snu) => [ - q(6150), + q(6149), q(0), ], q(snv) => [ - q(6151), + q(6150), q(0), ], q(snw) => [ - q(6152), + q(6151), q(0), ], q(snx) => [ - q(6153), + q(6152), q(0), ], q(sny) => [ - q(6154), + q(6153), q(0), ], q(snz) => [ - q(6155), + q(6154), q(0), ], q(soa) => [ - q(6156), + q(6155), q(0), ], q(sob) => [ - q(6157), + q(6156), q(0), ], q(soc) => [ - q(6158), + q(6157), q(0), ], q(sod) => [ - q(6159), + q(6158), q(0), ], q(soe) => [ - q(6160), + q(6159), q(0), ], q(sog) => [ @@ -82476,23 +82526,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(soh) => [ - q(6161), + q(6160), q(0), ], q(soi) => [ - q(6162), + q(6161), q(0), ], q(soj) => [ - q(6163), + q(6162), q(0), ], q(sok) => [ - q(6164), + q(6163), q(0), ], q(sol) => [ - q(6165), + q(6164), q(0), ], q(som) => [ @@ -82504,23 +82554,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(soo) => [ - q(6166), + q(6165), q(0), ], q(sop) => [ - q(6167), + q(6166), q(0), ], q(soq) => [ - q(6168), + q(6167), q(0), ], q(sor) => [ - q(6169), + q(6168), q(0), ], q(sos) => [ - q(6170), + q(6169), q(0), ], q(sot) => [ @@ -82528,27 +82578,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(sou) => [ - q(6171), + q(6170), q(0), ], q(sov) => [ - q(6172), + q(6171), q(0), ], q(sow) => [ - q(6173), + q(6172), q(0), ], q(sox) => [ - q(6174), + q(6173), q(0), ], q(soy) => [ - q(6175), + q(6174), q(0), ], q(soz) => [ - q(6176), + q(6175), q(0), ], q(spa) => [ @@ -82556,91 +82606,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(spb) => [ - q(6177), + q(6176), q(0), ], q(spc) => [ - q(6178), + q(6177), q(0), ], q(spd) => [ - q(6179), + q(6178), q(0), ], q(spe) => [ - q(6180), + q(6179), q(0), ], q(spg) => [ - q(6181), + q(6180), q(0), ], q(spi) => [ - q(6182), + q(6181), q(0), ], q(spk) => [ - q(6183), + q(6182), q(0), ], q(spl) => [ - q(6184), + q(6183), q(0), ], q(spm) => [ - q(6185), + q(6184), q(0), ], q(spn) => [ - q(6186), + q(6185), q(0), ], q(spo) => [ - q(6187), + q(6186), q(0), ], q(spp) => [ - q(6188), + q(6187), q(0), ], q(spq) => [ - q(6189), + q(6188), q(0), ], q(spr) => [ - q(6190), + q(6189), q(0), ], q(sps) => [ - q(6191), + q(6190), q(0), ], q(spt) => [ - q(6192), + q(6191), q(0), ], q(spu) => [ - q(6193), + q(6192), q(0), ], q(spv) => [ - q(6194), + q(6193), q(0), ], q(spx) => [ - q(6195), + q(6194), q(0), ], q(spy) => [ - q(6196), + q(6195), q(0), ], q(sqa) => [ - q(6197), + q(6196), q(0), ], q(sqh) => [ - q(6198), + q(6197), q(0), ], q(sqj) => [ @@ -82648,51 +82698,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(sqk) => [ - q(6199), + q(6198), q(0), ], q(sqm) => [ - q(6200), + q(6199), q(0), ], q(sqn) => [ - q(6201), + q(6200), q(0), ], q(sqo) => [ - q(6202), + q(6201), q(0), ], q(sqq) => [ - q(6203), + q(6202), q(0), ], q(sqr) => [ - q(6204), + q(6203), q(0), ], q(sqs) => [ - q(6205), + q(6204), q(0), ], q(sqt) => [ - q(6206), + q(6205), q(0), ], q(squ) => [ - q(6207), + q(6206), q(0), ], q(sra) => [ - q(6208), + q(6207), q(0), ], q(srb) => [ - q(6209), + q(6208), q(0), ], q(src) => [ - q(6210), + q(6209), q(0), ], q(srd) => [ @@ -82700,35 +82750,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(sre) => [ - q(6211), + q(6210), q(0), ], q(srf) => [ - q(6212), + q(6211), q(0), ], q(srg) => [ - q(6213), + q(6212), q(0), ], q(srh) => [ - q(6214), + q(6213), q(0), ], q(sri) => [ - q(6215), + q(6214), q(0), ], q(srk) => [ - q(6216), + q(6215), q(0), ], q(srl) => [ - q(6217), + q(6216), q(0), ], q(srm) => [ - q(6218), + q(6217), q(0), ], q(srn) => [ @@ -82736,7 +82786,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(sro) => [ - q(6219), + q(6218), q(0), ], q(srp) => [ @@ -82744,7 +82794,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(srq) => [ - q(6220), + q(6219), q(0), ], q(srr) => [ @@ -82752,35 +82802,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(srs) => [ - q(6221), + q(6220), q(0), ], q(srt) => [ - q(6222), + q(6221), q(0), ], q(sru) => [ - q(6223), + q(6222), q(0), ], q(srv) => [ - q(6224), + q(6223), q(0), ], q(srw) => [ - q(6225), + q(6224), q(0), ], q(srx) => [ - q(6226), + q(6225), q(0), ], q(sry) => [ - q(6227), + q(6226), q(0), ], q(srz) => [ - q(6228), + q(6227), q(0), ], q(ssa) => [ @@ -82788,87 +82838,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ssb) => [ - q(6229), + q(6228), q(0), ], q(ssc) => [ - q(6230), + q(6229), q(0), ], q(ssd) => [ - q(6231), + q(6230), q(0), ], q(sse) => [ - q(6232), + q(6231), q(0), ], q(ssf) => [ - q(6233), + q(6232), q(0), ], q(ssg) => [ - q(6234), + q(6233), q(0), ], q(ssh) => [ - q(6235), + q(6234), q(0), ], q(ssi) => [ - q(6236), + q(6235), q(0), ], q(ssj) => [ - q(6237), + q(6236), q(0), ], q(ssk) => [ - q(6238), + q(6237), q(0), ], q(ssl) => [ - q(6239), + q(6238), q(0), ], q(ssm) => [ - q(6240), + q(6239), q(0), ], q(ssn) => [ - q(6241), + q(6240), q(0), ], q(sso) => [ - q(6242), + q(6241), q(0), ], q(ssp) => [ - q(6243), + q(6242), q(0), ], q(ssq) => [ - q(6244), + q(6243), q(0), ], q(ssr) => [ - q(6245), + q(6244), q(0), ], q(sss) => [ - q(6246), + q(6245), q(0), ], q(sst) => [ - q(6247), + q(6246), q(0), ], q(ssu) => [ - q(6248), + q(6247), q(0), ], q(ssv) => [ - q(6249), + q(6248), q(0), ], q(ssw) => [ @@ -82876,135 +82926,135 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ssx) => [ - q(6250), + q(6249), q(0), ], q(ssy) => [ - q(6251), + q(6250), q(0), ], q(ssz) => [ - q(6252), + q(6251), q(0), ], q(sta) => [ - q(6253), + q(6252), q(0), ], q(stb) => [ - q(6254), + q(6253), q(0), ], q(std) => [ - q(6255), + q(6254), q(0), ], q(ste) => [ - q(6256), + q(6255), q(0), ], q(stf) => [ - q(6257), + q(6256), q(0), ], q(stg) => [ - q(6258), + q(6257), q(0), ], q(sth) => [ - q(6259), + q(6258), q(0), ], q(sti) => [ - q(6260), + q(6259), q(0), ], q(stj) => [ - q(6261), + q(6260), q(0), ], q(stk) => [ - q(6262), + q(6261), q(0), ], q(stl) => [ - q(6263), + q(6262), q(0), ], q(stm) => [ - q(6264), + q(6263), q(0), ], q(stn) => [ - q(6265), + q(6264), q(0), ], q(sto) => [ - q(6266), + q(6265), q(0), ], q(stp) => [ - q(6267), + q(6266), q(0), ], q(stq) => [ - q(6268), + q(6267), q(0), ], q(str) => [ - q(6269), + q(6268), q(0), ], q(sts) => [ - q(6270), + q(6269), q(0), ], q(stt) => [ - q(6271), + q(6270), q(0), ], q(stu) => [ - q(6272), + q(6271), q(0), ], q(stv) => [ - q(6273), + q(6272), q(0), ], q(stw) => [ - q(6274), + q(6273), q(0), ], q(sty) => [ - q(6275), + q(6274), q(0), ], q(sua) => [ - q(6276), + q(6275), q(0), ], q(sub) => [ - q(6277), + q(6276), q(0), ], q(suc) => [ - q(6278), + q(6277), q(0), ], q(sue) => [ - q(6279), + q(6278), q(0), ], q(sug) => [ - q(6280), + q(6279), q(0), ], q(sui) => [ - q(6281), + q(6280), q(0), ], q(suj) => [ - q(6282), + q(6281), q(0), ], q(suk) => [ @@ -83016,11 +83066,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(suq) => [ - q(6283), + q(6282), q(0), ], q(sur) => [ - q(6284), + q(6283), q(0), ], q(sus) => [ @@ -83028,15 +83078,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(sut) => [ - q(6285), + q(6284), q(0), ], q(suv) => [ - q(6286), + q(6285), q(0), ], q(suw) => [ - q(6287), + q(6286), q(0), ], q(sux) => [ @@ -83044,47 +83094,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(suy) => [ - q(6288), + q(6287), q(0), ], q(suz) => [ - q(6289), + q(6288), q(0), ], q(sva) => [ - q(6290), + q(6289), q(0), ], q(svb) => [ - q(6291), + q(6290), q(0), ], q(svc) => [ - q(6292), + q(6291), q(0), ], q(sve) => [ - q(6293), + q(6292), q(0), ], q(svk) => [ - q(6294), + q(6293), q(0), ], q(svm) => [ - q(6295), + q(6294), q(0), ], q(svr) => [ - q(6296), + q(6295), q(0), ], q(svs) => [ - q(6297), + q(6296), q(0), ], q(svx) => [ - q(6298), + q(6297), q(0), ], q(swa) => [ @@ -83092,11 +83142,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(swb) => [ - q(6299), + q(6298), q(0), ], q(swc) => [ - q(6300), + q(6299), q(0), ], q(swe) => [ @@ -83104,143 +83154,143 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(swf) => [ - q(6301), + q(6300), q(0), ], q(swg) => [ - q(6302), + q(6301), q(0), ], q(swh) => [ - q(6303), + q(6302), q(0), ], q(swi) => [ - q(6304), + q(6303), q(0), ], q(swj) => [ - q(6305), + q(6304), q(0), ], q(swk) => [ - q(6306), + q(6305), q(0), ], q(swl) => [ - q(6307), + q(6306), q(0), ], q(swm) => [ - q(6308), + q(6307), q(0), ], q(swn) => [ - q(6309), + q(6308), q(0), ], q(swo) => [ - q(6310), + q(6309), q(0), ], q(swp) => [ - q(6311), + q(6310), q(0), ], q(swq) => [ - q(6312), + q(6311), q(0), ], q(swr) => [ - q(6313), + q(6312), q(0), ], q(sws) => [ - q(6314), + q(6313), q(0), ], q(swt) => [ - q(6315), + q(6314), q(0), ], q(swu) => [ - q(6316), + q(6315), q(0), ], q(swv) => [ - q(6317), + q(6316), q(0), ], q(sww) => [ - q(6318), + q(6317), q(0), ], q(swx) => [ - q(6319), + q(6318), q(0), ], q(swy) => [ - q(6320), + q(6319), q(0), ], q(sxb) => [ - q(6321), + q(6320), q(0), ], q(sxc) => [ - q(6322), + q(6321), q(0), ], q(sxe) => [ - q(6323), + q(6322), q(0), ], q(sxg) => [ - q(6324), + q(6323), q(0), ], q(sxk) => [ - q(6325), + q(6324), q(0), ], q(sxl) => [ - q(6326), + q(6325), q(0), ], q(sxm) => [ - q(6327), + q(6326), q(0), ], q(sxn) => [ - q(6328), + q(6327), q(0), ], q(sxo) => [ - q(6329), + q(6328), q(0), ], q(sxr) => [ - q(6330), + q(6329), q(0), ], q(sxs) => [ - q(6331), + q(6330), q(0), ], q(sxu) => [ - q(6332), + q(6331), q(0), ], q(sxw) => [ - q(6333), + q(6332), q(0), ], q(sya) => [ - q(6334), + q(6333), q(0), ], q(syb) => [ - q(6335), + q(6334), q(0), ], q(syc) => [ @@ -83252,27 +83302,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(syi) => [ - q(6336), + q(6335), q(0), ], q(syk) => [ - q(6337), + q(6336), q(0), ], q(syl) => [ - q(6338), + q(6337), q(0), ], q(sym) => [ - q(6339), + q(6338), q(0), ], q(syn) => [ - q(6340), + q(6339), q(0), ], q(syo) => [ - q(6341), + q(6340), q(0), ], q(syr) => [ @@ -83280,91 +83330,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(sys) => [ - q(6342), + q(6341), q(0), ], q(syw) => [ - q(6343), + q(6342), q(0), ], q(syx) => [ - q(6344), + q(6343), q(0), ], q(syy) => [ - q(6345), + q(6344), q(0), ], q(sza) => [ - q(6346), + q(6345), q(0), ], q(szb) => [ - q(6347), + q(6346), q(0), ], q(szc) => [ - q(6348), + q(6347), q(0), ], q(szd) => [ - q(6349), + q(6348), q(0), ], q(sze) => [ - q(6350), + q(6349), q(0), ], q(szg) => [ - q(6351), + q(6350), q(0), ], q(szl) => [ - q(6352), + q(6351), q(0), ], q(szn) => [ - q(6353), + q(6352), q(0), ], q(szp) => [ - q(6354), + q(6353), q(0), ], q(szv) => [ - q(6355), + q(6354), q(0), ], q(szw) => [ - q(6356), + q(6355), q(0), ], q(taa) => [ - q(6357), + q(6356), q(0), ], q(tab) => [ - q(6358), + q(6357), q(0), ], q(tac) => [ - q(6359), + q(6358), q(0), ], q(tad) => [ - q(6360), + q(6359), q(0), ], q(tae) => [ - q(6361), + q(6360), q(0), ], q(taf) => [ - q(6362), + q(6361), q(0), ], q(tag) => [ - q(6363), + q(6362), q(0), ], q(tah) => [ @@ -83376,15 +83426,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(taj) => [ - q(6364), + q(6363), q(0), ], q(tak) => [ - q(6365), + q(6364), q(0), ], q(tal) => [ - q(6366), + q(6365), q(0), ], q(tam) => [ @@ -83392,27 +83442,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tan) => [ - q(6367), + q(6366), q(0), ], q(tao) => [ - q(6368), + q(6367), q(0), ], q(tap) => [ - q(6369), + q(6368), q(0), ], q(taq) => [ - q(6370), + q(6369), q(0), ], q(tar) => [ - q(6371), + q(6370), q(0), ], q(tas) => [ - q(6372), + q(6371), q(0), ], q(tat) => [ @@ -83420,91 +83470,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tau) => [ - q(6373), + q(6372), q(0), ], q(tav) => [ - q(6374), + q(6373), q(0), ], q(taw) => [ - q(6375), + q(6374), q(0), ], q(tax) => [ - q(6376), + q(6375), q(0), ], q(tay) => [ - q(6377), + q(6376), q(0), ], q(taz) => [ - q(6378), + q(6377), q(0), ], q(tba) => [ - q(6379), + q(6378), q(0), ], q(tbb) => [ - q(6380), + q(6379), q(0), ], q(tbc) => [ - q(6381), + q(6380), q(0), ], q(tbd) => [ - q(6382), + q(6381), q(0), ], q(tbe) => [ - q(6383), + q(6382), q(0), ], q(tbf) => [ - q(6384), + q(6383), q(0), ], q(tbg) => [ - q(6385), + q(6384), q(0), ], q(tbh) => [ - q(6386), + q(6385), q(0), ], q(tbi) => [ - q(6387), + q(6386), q(0), ], q(tbj) => [ - q(6388), + q(6387), q(0), ], q(tbk) => [ - q(6389), + q(6388), q(0), ], q(tbl) => [ - q(6390), + q(6389), q(0), ], q(tbm) => [ - q(6391), + q(6390), q(0), ], q(tbn) => [ - q(6392), + q(6391), q(0), ], q(tbo) => [ - q(6393), + q(6392), q(0), ], q(tbp) => [ - q(6394), + q(6393), q(0), ], q(tbq) => [ @@ -83512,259 +83562,259 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tbr) => [ - q(6395), + q(6394), q(0), ], q(tbs) => [ - q(6396), + q(6395), q(0), ], q(tbt) => [ - q(6397), + q(6396), q(0), ], q(tbu) => [ - q(6398), + q(6397), q(0), ], q(tbv) => [ - q(6399), + q(6398), q(0), ], q(tbw) => [ - q(6400), + q(6399), q(0), ], q(tbx) => [ - q(6401), + q(6400), q(0), ], q(tby) => [ - q(6402), + q(6401), q(0), ], q(tbz) => [ - q(6403), + q(6402), q(0), ], q(tca) => [ - q(6404), + q(6403), q(0), ], q(tcb) => [ - q(6405), + q(6404), q(0), ], q(tcc) => [ - q(6406), + q(6405), q(0), ], q(tcd) => [ - q(6407), + q(6406), q(0), ], q(tce) => [ - q(6408), + q(6407), q(0), ], q(tcf) => [ - q(6409), + q(6408), q(0), ], q(tcg) => [ - q(6410), + q(6409), q(0), ], q(tch) => [ - q(6411), + q(6410), q(0), ], q(tci) => [ - q(6412), + q(6411), q(0), ], q(tck) => [ - q(6413), + q(6412), q(0), ], q(tcl) => [ - q(6414), + q(6413), q(0), ], q(tcm) => [ - q(6415), + q(6414), q(0), ], q(tcn) => [ - q(6416), + q(6415), q(0), ], q(tco) => [ - q(6417), + q(6416), q(0), ], q(tcp) => [ - q(6418), + q(6417), q(0), ], q(tcq) => [ - q(6419), + q(6418), q(0), ], q(tcs) => [ - q(6420), + q(6419), q(0), ], q(tct) => [ - q(6421), + q(6420), q(0), ], q(tcu) => [ - q(6422), + q(6421), q(0), ], q(tcw) => [ - q(6423), + q(6422), q(0), ], q(tcx) => [ - q(6424), + q(6423), q(0), ], q(tcy) => [ - q(6425), + q(6424), q(0), ], q(tcz) => [ - q(6426), + q(6425), q(0), ], q(tda) => [ - q(6427), + q(6426), q(0), ], q(tdb) => [ - q(6428), + q(6427), q(0), ], q(tdc) => [ - q(6429), + q(6428), q(0), ], q(tdd) => [ - q(6430), + q(6429), q(0), ], q(tde) => [ - q(6431), + q(6430), q(0), ], q(tdf) => [ - q(6432), + q(6431), q(0), ], q(tdg) => [ - q(6433), + q(6432), q(0), ], q(tdh) => [ - q(6434), + q(6433), q(0), ], q(tdi) => [ - q(6435), + q(6434), q(0), ], q(tdj) => [ - q(6436), + q(6435), q(0), ], q(tdk) => [ - q(6437), + q(6436), q(0), ], q(tdl) => [ - q(6438), + q(6437), q(0), ], q(tdn) => [ - q(6439), + q(6438), q(0), ], q(tdo) => [ - q(6440), + q(6439), q(0), ], q(tdq) => [ - q(6441), + q(6440), q(0), ], q(tdr) => [ - q(6442), + q(6441), q(0), ], q(tds) => [ - q(6443), + q(6442), q(0), ], q(tdt) => [ - q(6444), + q(6443), q(0), ], q(tdu) => [ - q(6445), + q(6444), q(0), ], q(tdv) => [ - q(6446), + q(6445), q(0), ], q(tdx) => [ - q(6447), + q(6446), q(0), ], q(tdy) => [ - q(6448), + q(6447), q(0), ], q(tea) => [ - q(6449), + q(6448), q(0), ], q(teb) => [ - q(6450), + q(6449), q(0), ], q(tec) => [ - q(6451), + q(6450), q(0), ], q(ted) => [ - q(6452), + q(6451), q(0), ], q(tee) => [ - q(6453), + q(6452), q(0), ], q(tef) => [ - q(6454), + q(6453), q(0), ], q(teg) => [ - q(6455), + q(6454), q(0), ], q(teh) => [ - q(6456), + q(6455), q(0), ], q(tei) => [ - q(6457), + q(6456), q(0), ], q(tek) => [ - q(6458), + q(6457), q(0), ], q(tel) => [ @@ -83776,19 +83826,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ten) => [ - q(6459), + q(6458), q(0), ], q(teo) => [ - q(6460), + q(6459), q(0), ], q(tep) => [ - q(6461), + q(6460), q(0), ], q(teq) => [ - q(6462), + q(6461), q(0), ], q(ter) => [ @@ -83796,7 +83846,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tes) => [ - q(6463), + q(6462), q(0), ], q(tet) => [ @@ -83804,79 +83854,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(teu) => [ - q(6464), + q(6463), q(0), ], q(tev) => [ - q(6465), + q(6464), q(0), ], q(tew) => [ - q(6466), + q(6465), q(0), ], q(tex) => [ - q(6467), + q(6466), q(0), ], q(tey) => [ - q(6468), + q(6467), q(0), ], q(tfi) => [ - q(6469), + q(6468), q(0), ], q(tfn) => [ - q(6470), + q(6469), q(0), ], q(tfo) => [ - q(6471), + q(6470), q(0), ], q(tfr) => [ - q(6472), + q(6471), q(0), ], q(tft) => [ - q(6473), + q(6472), q(0), ], q(tga) => [ - q(6474), + q(6473), q(0), ], q(tgb) => [ - q(6475), + q(6474), q(0), ], q(tgc) => [ - q(6476), + q(6475), q(0), ], q(tgd) => [ - q(6477), + q(6476), q(0), ], q(tge) => [ - q(6478), + q(6477), q(0), ], q(tgf) => [ - q(6479), + q(6478), q(0), ], q(tgh) => [ - q(6480), + q(6479), q(0), ], q(tgi) => [ - q(6481), + q(6480), q(0), ], q(tgj) => [ - q(6482), + q(6481), q(0), ], q(tgk) => [ @@ -83888,55 +83938,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tgn) => [ - q(6483), + q(6482), q(0), ], q(tgo) => [ - q(6484), + q(6483), q(0), ], q(tgp) => [ - q(6485), + q(6484), q(0), ], q(tgq) => [ - q(6486), + q(6485), q(0), ], q(tgr) => [ - q(6487), + q(6486), q(0), ], q(tgs) => [ - q(6488), + q(6487), q(0), ], q(tgt) => [ - q(6489), + q(6488), q(0), ], q(tgu) => [ - q(6490), + q(6489), q(0), ], q(tgv) => [ - q(6491), + q(6490), q(0), ], q(tgw) => [ - q(6492), + q(6491), q(0), ], q(tgx) => [ - q(6493), + q(6492), q(0), ], q(tgy) => [ - q(6494), + q(6493), q(0), ], q(tgz) => [ - q(6495), + q(6494), q(0), ], q(tha) => [ @@ -83944,87 +83994,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(thc) => [ - q(6496), + q(6495), q(0), ], q(thd) => [ - q(6497), + q(6496), q(0), ], q(the) => [ - q(6498), + q(6497), q(0), ], q(thf) => [ - q(6499), + q(6498), q(0), ], q(thh) => [ - q(6500), + q(6499), q(0), ], q(thi) => [ - q(6501), + q(6500), q(0), ], q(thk) => [ - q(6502), + q(6501), q(0), ], q(thl) => [ - q(6503), + q(6502), q(0), ], q(thm) => [ - q(6504), + q(6503), q(0), ], q(thn) => [ - q(6505), + q(6504), q(0), ], q(thp) => [ - q(6506), + q(6505), q(0), ], q(thq) => [ - q(6507), + q(6506), q(0), ], q(thr) => [ - q(6508), + q(6507), q(0), ], q(ths) => [ - q(6509), + q(6508), q(0), ], q(tht) => [ - q(6510), + q(6509), q(0), ], q(thu) => [ - q(6511), + q(6510), q(0), ], q(thv) => [ - q(6512), + q(6511), q(0), ], q(thw) => [ - q(6513), + q(6512), q(0), ], q(thy) => [ - q(6514), + q(6513), q(0), ], q(thz) => [ - q(6515), + q(6514), q(0), ], q(tia) => [ - q(6516), + q(6515), q(0), ], q(tib) => [ @@ -84032,15 +84082,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tic) => [ - q(6517), + q(6516), q(0), ], q(tid) => [ - q(6518), + q(6517), q(0), ], q(tif) => [ - q(6519), + q(6518), q(0), ], q(tig) => [ @@ -84048,43 +84098,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tih) => [ - q(6520), + q(6519), q(0), ], q(tii) => [ - q(6521), + q(6520), q(0), ], q(tij) => [ - q(6522), + q(6521), q(0), ], q(tik) => [ - q(6523), + q(6522), q(0), ], q(til) => [ - q(6524), + q(6523), q(0), ], q(tim) => [ - q(6525), + q(6524), q(0), ], q(tin) => [ - q(6526), + q(6525), q(0), ], q(tio) => [ - q(6527), + q(6526), q(0), ], q(tip) => [ - q(6528), + q(6527), q(0), ], q(tiq) => [ - q(6529), + q(6528), q(0), ], q(tir) => [ @@ -84092,15 +84142,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tis) => [ - q(6530), + q(6529), q(0), ], q(tit) => [ - q(6531), + q(6530), q(0), ], q(tiu) => [ - q(6532), + q(6531), q(0), ], q(tiv) => [ @@ -84108,83 +84158,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tiw) => [ - q(6533), + q(6532), q(0), ], q(tix) => [ - q(6534), + q(6533), q(0), ], q(tiy) => [ - q(6535), + q(6534), q(0), ], q(tiz) => [ - q(6536), + q(6535), q(0), ], q(tja) => [ - q(6537), + q(6536), q(0), ], q(tjg) => [ - q(6538), + q(6537), q(0), ], q(tji) => [ - q(6539), + q(6538), q(0), ], q(tjl) => [ - q(6540), + q(6539), q(0), ], q(tjm) => [ - q(6541), + q(6540), q(0), ], q(tjn) => [ - q(6542), + q(6541), q(0), ], q(tjo) => [ - q(6543), + q(6542), q(0), ], q(tjs) => [ - q(6544), + q(6543), q(0), ], q(tju) => [ - q(6545), + q(6544), q(0), ], q(tjw) => [ - q(6546), + q(6545), q(0), ], q(tka) => [ - q(6547), + q(6546), q(0), ], q(tkb) => [ - q(6548), + q(6547), q(0), ], q(tkd) => [ - q(6549), + q(6548), q(0), ], q(tke) => [ - q(6550), + q(6549), q(0), ], q(tkf) => [ - q(6551), + q(6550), q(0), ], q(tkg) => [ - q(6552), + q(6551), q(0), ], q(tkl) => [ @@ -84192,75 +84242,75 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tkm) => [ - q(6553), + q(6552), q(0), ], q(tkn) => [ - q(6554), + q(6553), q(0), ], q(tkp) => [ - q(6555), + q(6554), q(0), ], q(tkq) => [ - q(6556), + q(6555), q(0), ], q(tkr) => [ - q(6557), + q(6556), q(0), ], q(tks) => [ - q(6558), + q(6557), q(0), ], q(tkt) => [ - q(6559), + q(6558), q(0), ], q(tku) => [ - q(6560), + q(6559), q(0), ], q(tkv) => [ - q(6561), + q(6560), q(0), ], q(tkw) => [ - q(6562), + q(6561), q(0), ], q(tkx) => [ - q(6563), + q(6562), q(0), ], q(tkz) => [ - q(6564), + q(6563), q(0), ], q(tla) => [ - q(6565), + q(6564), q(0), ], q(tlb) => [ - q(6566), + q(6565), q(0), ], q(tlc) => [ - q(6567), + q(6566), q(0), ], q(tld) => [ - q(6568), + q(6567), q(0), ], q(tlf) => [ - q(6569), + q(6568), q(0), ], q(tlg) => [ - q(6570), + q(6569), q(0), ], q(tlh) => [ @@ -84272,91 +84322,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tlj) => [ - q(6571), + q(6570), q(0), ], q(tlk) => [ - q(6572), + q(6571), q(0), ], q(tll) => [ - q(6573), + q(6572), q(0), ], q(tlm) => [ - q(6574), + q(6573), q(0), ], q(tln) => [ - q(6575), + q(6574), q(0), ], q(tlo) => [ - q(6576), + q(6575), q(0), ], q(tlp) => [ - q(6577), + q(6576), q(0), ], q(tlq) => [ - q(6578), + q(6577), q(0), ], q(tlr) => [ - q(6579), + q(6578), q(0), ], q(tls) => [ - q(6580), + q(6579), q(0), ], q(tlt) => [ - q(6581), + q(6580), q(0), ], q(tlu) => [ - q(6582), + q(6581), q(0), ], q(tlv) => [ - q(6583), + q(6582), q(0), ], q(tlx) => [ - q(6584), + q(6583), q(0), ], q(tly) => [ - q(6585), + q(6584), q(0), ], q(tma) => [ - q(6586), + q(6585), q(0), ], q(tmb) => [ - q(6587), + q(6586), q(0), ], q(tmc) => [ - q(6588), + q(6587), q(0), ], q(tmd) => [ - q(6589), + q(6588), q(0), ], q(tme) => [ - q(6590), + q(6589), q(0), ], q(tmf) => [ - q(6591), + q(6590), q(0), ], q(tmg) => [ - q(6592), + q(6591), q(0), ], q(tmh) => [ @@ -84364,187 +84414,187 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tmi) => [ - q(6593), + q(6592), q(0), ], q(tmj) => [ - q(6594), + q(6593), q(0), ], q(tmk) => [ - q(6595), + q(6594), q(0), ], q(tml) => [ - q(6596), + q(6595), q(0), ], q(tmm) => [ - q(6597), + q(6596), q(0), ], q(tmn) => [ - q(6598), + q(6597), q(0), ], q(tmo) => [ - q(6599), + q(6598), q(0), ], q(tmp) => [ - q(6600), + q(6599), q(0), ], q(tmq) => [ - q(6601), + q(6600), q(0), ], q(tmr) => [ - q(6602), + q(6601), q(0), ], q(tms) => [ - q(6603), + q(6602), q(0), ], q(tmt) => [ - q(6604), + q(6603), q(0), ], q(tmu) => [ - q(6605), + q(6604), q(0), ], q(tmv) => [ - q(6606), + q(6605), q(0), ], q(tmw) => [ - q(6607), + q(6606), q(0), ], q(tmy) => [ - q(6608), + q(6607), q(0), ], q(tmz) => [ - q(6609), + q(6608), q(0), ], q(tna) => [ - q(6610), + q(6609), q(0), ], q(tnb) => [ - q(6611), + q(6610), q(0), ], q(tnc) => [ - q(6612), + q(6611), q(0), ], q(tnd) => [ - q(6613), + q(6612), q(0), ], q(tne) => [ - q(6614), + q(6613), q(0), ], q(tng) => [ - q(6615), + q(6614), q(0), ], q(tnh) => [ - q(6616), + q(6615), q(0), ], q(tni) => [ - q(6617), + q(6616), q(0), ], q(tnk) => [ - q(6618), + q(6617), q(0), ], q(tnl) => [ - q(6619), + q(6618), q(0), ], q(tnm) => [ - q(6620), + q(6619), q(0), ], q(tnn) => [ - q(6621), + q(6620), q(0), ], q(tno) => [ - q(6622), + q(6621), q(0), ], q(tnp) => [ - q(6623), + q(6622), q(0), ], q(tnq) => [ - q(6624), + q(6623), q(0), ], q(tnr) => [ - q(6625), + q(6624), q(0), ], q(tns) => [ - q(6626), + q(6625), q(0), ], q(tnt) => [ - q(6627), + q(6626), q(0), ], q(tnu) => [ - q(6628), + q(6627), q(0), ], q(tnv) => [ - q(6629), + q(6628), q(0), ], q(tnw) => [ - q(6630), + q(6629), q(0), ], q(tnx) => [ - q(6631), + q(6630), q(0), ], q(tny) => [ - q(6632), + q(6631), q(0), ], q(tnz) => [ - q(6633), + q(6632), q(0), ], q(tob) => [ - q(6634), + q(6633), q(0), ], q(toc) => [ - q(6635), + q(6634), q(0), ], q(tod) => [ - q(6636), + q(6635), q(0), ], q(toe) => [ - q(6637), + q(6636), q(0), ], q(tof) => [ - q(6638), + q(6637), q(0), ], q(tog) => [ @@ -84552,23 +84602,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(toh) => [ - q(6639), + q(6638), q(0), ], q(toi) => [ - q(6640), + q(6639), q(0), ], q(toj) => [ - q(6641), + q(6640), q(0), ], q(tol) => [ - q(6642), + q(6641), q(0), ], q(tom) => [ - q(6643), + q(6642), q(0), ], q(ton) => [ @@ -84576,67 +84626,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(too) => [ - q(6644), + q(6643), q(0), ], q(top) => [ - q(6645), + q(6644), q(0), ], q(toq) => [ - q(6646), + q(6645), q(0), ], q(tor) => [ - q(6647), + q(6646), q(0), ], q(tos) => [ - q(6648), + q(6647), q(0), ], q(tou) => [ - q(6649), + q(6648), q(0), ], q(tov) => [ - q(6650), + q(6649), q(0), ], q(tow) => [ - q(6651), + q(6650), q(0), ], q(tox) => [ - q(6652), + q(6651), q(0), ], q(toy) => [ - q(6653), + q(6652), q(0), ], q(toz) => [ - q(6654), + q(6653), q(0), ], q(tpa) => [ - q(6655), + q(6654), q(0), ], q(tpc) => [ - q(6656), + q(6655), q(0), ], q(tpe) => [ - q(6657), + q(6656), q(0), ], q(tpf) => [ - q(6658), + q(6657), q(0), ], q(tpg) => [ - q(6659), + q(6658), q(0), ], q(tpi) => [ @@ -84644,151 +84694,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tpj) => [ - q(6660), + q(6659), q(0), ], q(tpk) => [ - q(6661), + q(6660), q(0), ], q(tpl) => [ - q(6662), + q(6661), q(0), ], q(tpm) => [ - q(6663), + q(6662), q(0), ], q(tpn) => [ - q(6664), + q(6663), q(0), ], q(tpo) => [ - q(6665), + q(6664), q(0), ], q(tpp) => [ - q(6666), + q(6665), q(0), ], q(tpq) => [ - q(6667), + q(6666), q(0), ], q(tpr) => [ - q(6668), + q(6667), q(0), ], q(tpt) => [ - q(6669), + q(6668), q(0), ], q(tpu) => [ - q(6670), + q(6669), q(0), ], q(tpv) => [ - q(6671), + q(6670), q(0), ], q(tpw) => [ - q(6672), + q(6671), q(0), ], q(tpx) => [ - q(6673), + q(6672), q(0), ], q(tpy) => [ - q(6674), + q(6673), q(0), ], q(tpz) => [ - q(6675), + q(6674), q(0), ], q(tqb) => [ - q(6676), + q(6675), q(0), ], q(tql) => [ - q(6677), + q(6676), q(0), ], q(tqm) => [ - q(6678), + q(6677), q(0), ], q(tqn) => [ - q(6679), + q(6678), q(0), ], q(tqo) => [ - q(6680), + q(6679), q(0), ], q(tqp) => [ - q(6681), + q(6680), q(0), ], q(tqq) => [ - q(6682), + q(6681), q(0), ], q(tqr) => [ - q(6683), + q(6682), q(0), ], q(tqt) => [ - q(6684), + q(6683), q(0), ], q(tqu) => [ - q(6685), + q(6684), q(0), ], q(tqw) => [ - q(6686), + q(6685), q(0), ], q(tra) => [ - q(6687), + q(6686), q(0), ], q(trb) => [ - q(6688), + q(6687), q(0), ], q(trc) => [ - q(6689), + q(6688), q(0), ], q(trd) => [ - q(6690), + q(6689), q(0), ], q(tre) => [ - q(6691), + q(6690), q(0), ], q(trf) => [ - q(6692), + q(6691), q(0), ], q(trg) => [ - q(6693), + q(6692), q(0), ], q(trh) => [ - q(6694), + q(6693), q(0), ], q(tri) => [ - q(6695), + q(6694), q(0), ], q(trj) => [ - q(6696), + q(6695), q(0), ], q(trk) => [ @@ -84796,91 +84846,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(trl) => [ - q(6697), + q(6696), q(0), ], q(trm) => [ - q(6698), + q(6697), q(0), ], q(trn) => [ - q(6699), + q(6698), q(0), ], q(tro) => [ - q(6700), + q(6699), q(0), ], q(trp) => [ - q(6701), + q(6700), q(0), ], q(trq) => [ - q(6702), + q(6701), q(0), ], q(trr) => [ - q(6703), + q(6702), q(0), ], q(trs) => [ - q(6704), + q(6703), q(0), ], q(trt) => [ - q(6705), + q(6704), q(0), ], q(tru) => [ - q(6706), + q(6705), q(0), ], q(trv) => [ - q(6707), + q(6706), q(0), ], q(trw) => [ - q(6708), + q(6707), q(0), ], q(trx) => [ - q(6709), + q(6708), q(0), ], q(try) => [ - q(6710), + q(6709), q(0), ], q(trz) => [ - q(6711), + q(6710), q(0), ], q(tsa) => [ - q(6712), + q(6711), q(0), ], q(tsb) => [ - q(6713), + q(6712), q(0), ], q(tsc) => [ - q(6714), + q(6713), q(0), ], q(tsd) => [ - q(6715), + q(6714), q(0), ], q(tse) => [ - q(6716), + q(6715), q(0), ], q(tsg) => [ - q(6717), + q(6716), q(0), ], q(tsh) => [ - q(6718), + q(6717), q(0), ], q(tsi) => [ @@ -84888,19 +84938,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tsj) => [ - q(6719), + q(6718), q(0), ], q(tsk) => [ - q(6720), + q(6719), q(0), ], q(tsl) => [ - q(6721), + q(6720), q(0), ], q(tsm) => [ - q(6722), + q(6721), q(0), ], q(tsn) => [ @@ -84912,187 +84962,187 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tsp) => [ - q(6723), + q(6722), q(0), ], q(tsq) => [ - q(6724), + q(6723), q(0), ], q(tsr) => [ - q(6725), + q(6724), q(0), ], q(tss) => [ - q(6726), + q(6725), q(0), ], q(tst) => [ - q(6727), + q(6726), q(0), ], q(tsu) => [ - q(6728), + q(6727), q(0), ], q(tsv) => [ - q(6729), + q(6728), q(0), ], q(tsw) => [ - q(6730), + q(6729), q(0), ], q(tsx) => [ - q(6731), + q(6730), q(0), ], q(tsy) => [ - q(6732), + q(6731), q(0), ], q(tsz) => [ - q(6733), + q(6732), q(0), ], q(tta) => [ - q(6734), + q(6733), q(0), ], q(ttb) => [ - q(6735), + q(6734), q(0), ], q(ttc) => [ - q(6736), + q(6735), q(0), ], q(ttd) => [ - q(6737), + q(6736), q(0), ], q(tte) => [ - q(6738), + q(6737), q(0), ], q(ttf) => [ - q(6739), + q(6738), q(0), ], q(ttg) => [ - q(6740), + q(6739), q(0), ], q(tth) => [ - q(6741), + q(6740), q(0), ], q(tti) => [ - q(6742), + q(6741), q(0), ], q(ttj) => [ - q(6743), + q(6742), q(0), ], q(ttk) => [ - q(6744), + q(6743), q(0), ], q(ttl) => [ - q(6745), + q(6744), q(0), ], q(ttm) => [ - q(6746), + q(6745), q(0), ], q(ttn) => [ - q(6747), + q(6746), q(0), ], q(tto) => [ - q(6748), + q(6747), q(0), ], q(ttp) => [ - q(6749), + q(6748), q(0), ], q(ttq) => [ - q(6750), + q(6749), q(0), ], q(ttr) => [ - q(6751), + q(6750), q(0), ], q(tts) => [ - q(6752), + q(6751), q(0), ], q(ttt) => [ - q(6753), + q(6752), q(0), ], q(ttu) => [ - q(6754), + q(6753), q(0), ], q(ttv) => [ - q(6755), + q(6754), q(0), ], q(ttw) => [ - q(6756), + q(6755), q(0), ], q(tty) => [ - q(6757), + q(6756), q(0), ], q(ttz) => [ - q(6758), + q(6757), q(0), ], q(tua) => [ - q(6759), + q(6758), q(0), ], q(tub) => [ - q(6760), + q(6759), q(0), ], q(tuc) => [ - q(6761), + q(6760), q(0), ], q(tud) => [ - q(6762), + q(6761), q(0), ], q(tue) => [ - q(6763), + q(6762), q(0), ], q(tuf) => [ - q(6764), + q(6763), q(0), ], q(tug) => [ - q(6765), + q(6764), q(0), ], q(tuh) => [ - q(6766), + q(6765), q(0), ], q(tui) => [ - q(6767), + q(6766), q(0), ], q(tuj) => [ - q(6768), + q(6767), q(0), ], q(tuk) => [ @@ -85100,7 +85150,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tul) => [ - q(6769), + q(6768), q(0), ], q(tum) => [ @@ -85108,11 +85158,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tun) => [ - q(6770), + q(6769), q(0), ], q(tuo) => [ - q(6771), + q(6770), q(0), ], q(tup) => [ @@ -85120,7 +85170,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tuq) => [ - q(6772), + q(6771), q(0), ], q(tur) => [ @@ -85128,7 +85178,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tus) => [ - q(6773), + q(6772), q(0), ], q(tut) => [ @@ -85136,11 +85186,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tuu) => [ - q(6774), + q(6773), q(0), ], q(tuv) => [ - q(6775), + q(6774), q(0), ], q(tuw) => [ @@ -85148,31 +85198,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tux) => [ - q(6776), + q(6775), q(0), ], q(tuy) => [ - q(6777), + q(6776), q(0), ], q(tuz) => [ - q(6778), + q(6777), q(0), ], q(tva) => [ - q(6779), + q(6778), q(0), ], q(tvd) => [ - q(6780), + q(6779), q(0), ], q(tve) => [ - q(6781), + q(6780), q(0), ], q(tvk) => [ - q(6782), + q(6781), q(0), ], q(tvl) => [ @@ -85180,67 +85230,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tvm) => [ - q(6783), + q(6782), q(0), ], q(tvn) => [ - q(6784), + q(6783), q(0), ], q(tvo) => [ - q(6785), + q(6784), q(0), ], q(tvs) => [ - q(6786), + q(6785), q(0), ], q(tvt) => [ - q(6787), + q(6786), q(0), ], q(tvu) => [ - q(6788), + q(6787), q(0), ], q(tvw) => [ - q(6789), + q(6788), q(0), ], q(tvy) => [ - q(6790), + q(6789), q(0), ], q(twa) => [ - q(6791), + q(6790), q(0), ], q(twb) => [ - q(6792), + q(6791), q(0), ], q(twc) => [ - q(6793), + q(6792), q(0), ], q(twd) => [ - q(6794), + q(6793), q(0), ], q(twe) => [ - q(6795), + q(6794), q(0), ], q(twf) => [ - q(6796), + q(6795), q(0), ], q(twg) => [ - q(6797), + q(6796), q(0), ], q(twh) => [ - q(6798), + q(6797), q(0), ], q(twi) => [ @@ -85248,171 +85298,171 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(twl) => [ - q(6799), + q(6798), q(0), ], q(twm) => [ - q(6800), + q(6799), q(0), ], q(twn) => [ - q(6801), + q(6800), q(0), ], q(two) => [ - q(6802), + q(6801), q(0), ], q(twp) => [ - q(6803), + q(6802), q(0), ], q(twq) => [ - q(6804), + q(6803), q(0), ], q(twr) => [ - q(6805), + q(6804), q(0), ], q(twt) => [ - q(6806), + q(6805), q(0), ], q(twu) => [ - q(6807), + q(6806), q(0), ], q(tww) => [ - q(6808), + q(6807), q(0), ], q(twx) => [ - q(6809), + q(6808), q(0), ], q(twy) => [ - q(6810), + q(6809), q(0), ], q(txa) => [ - q(6811), + q(6810), q(0), ], q(txb) => [ - q(6812), + q(6811), q(0), ], q(txc) => [ - q(6813), + q(6812), q(0), ], q(txe) => [ - q(6814), + q(6813), q(0), ], q(txg) => [ - q(6815), + q(6814), q(0), ], q(txh) => [ - q(6816), + q(6815), q(0), ], q(txi) => [ - q(6817), + q(6816), q(0), ], q(txj) => [ - q(6818), + q(6817), q(0), ], q(txm) => [ - q(6819), + q(6818), q(0), ], q(txn) => [ - q(6820), + q(6819), q(0), ], q(txo) => [ - q(6821), + q(6820), q(0), ], q(txq) => [ - q(6822), + q(6821), q(0), ], q(txr) => [ - q(6823), + q(6822), q(0), ], q(txs) => [ - q(6824), + q(6823), q(0), ], q(txt) => [ - q(6825), + q(6824), q(0), ], q(txu) => [ - q(6826), + q(6825), q(0), ], q(txx) => [ - q(6827), + q(6826), q(0), ], q(txy) => [ - q(6828), + q(6827), q(0), ], q(tya) => [ - q(6829), + q(6828), q(0), ], q(tye) => [ - q(6830), + q(6829), q(0), ], q(tyh) => [ - q(6831), + q(6830), q(0), ], q(tyi) => [ - q(6832), + q(6831), q(0), ], q(tyj) => [ - q(6833), + q(6832), q(0), ], q(tyl) => [ - q(6834), + q(6833), q(0), ], q(tyn) => [ - q(6835), + q(6834), q(0), ], q(typ) => [ - q(6836), + q(6835), q(0), ], q(tyr) => [ - q(6837), + q(6836), q(0), ], q(tys) => [ - q(6838), + q(6837), q(0), ], q(tyt) => [ - q(6839), + q(6838), q(0), ], q(tyu) => [ - q(6840), + q(6839), q(0), ], q(tyv) => [ @@ -85420,103 +85470,103 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(tyx) => [ - q(6841), + q(6840), q(0), ], q(tyz) => [ - q(6842), + q(6841), q(0), ], q(tza) => [ - q(6843), + q(6842), q(0), ], q(tzh) => [ - q(6844), + q(6843), q(0), ], q(tzj) => [ - q(6845), + q(6844), q(0), ], q(tzl) => [ - q(6846), + q(6845), q(0), ], q(tzm) => [ - q(6847), + q(6846), q(0), ], q(tzn) => [ - q(6848), + q(6847), q(0), ], q(tzo) => [ - q(6849), + q(6848), q(0), ], q(tzx) => [ - q(6850), + q(6849), q(0), ], q(uam) => [ - q(6851), + q(6850), q(0), ], q(uan) => [ - q(6852), + q(6851), q(0), ], q(uar) => [ - q(6853), + q(6852), q(0), ], q(uba) => [ - q(6854), + q(6853), q(0), ], q(ubi) => [ - q(6855), + q(6854), q(0), ], q(ubl) => [ - q(6856), + q(6855), q(0), ], q(ubr) => [ - q(6857), + q(6856), q(0), ], q(ubu) => [ - q(6858), + q(6857), q(0), ], q(uby) => [ - q(6859), + q(6858), q(0), ], q(uda) => [ - q(6860), + q(6859), q(0), ], q(ude) => [ - q(6861), + q(6860), q(0), ], q(udg) => [ - q(6862), + q(6861), q(0), ], q(udi) => [ - q(6863), + q(6862), q(0), ], q(udj) => [ - q(6864), + q(6863), q(0), ], q(udl) => [ - q(6865), + q(6864), q(0), ], q(udm) => [ @@ -85524,15 +85574,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(udu) => [ - q(6866), + q(6865), q(0), ], q(ues) => [ - q(6867), + q(6866), q(0), ], q(ufi) => [ - q(6868), + q(6867), q(0), ], q(uga) => [ @@ -85540,31 +85590,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ugb) => [ - q(6869), + q(6868), q(0), ], q(uge) => [ - q(6870), + q(6869), q(0), ], q(ugn) => [ - q(6871), + q(6870), q(0), ], q(ugo) => [ - q(6872), + q(6871), q(0), ], q(ugy) => [ - q(6873), + q(6872), q(0), ], q(uha) => [ - q(6874), + q(6873), q(0), ], q(uhn) => [ - q(6875), + q(6874), q(0), ], q(uig) => [ @@ -85572,39 +85622,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(uis) => [ - q(6876), + q(6875), q(0), ], q(uiv) => [ - q(6877), + q(6876), q(0), ], q(uji) => [ - q(6878), + q(6877), q(0), ], q(uka) => [ - q(6879), + q(6878), q(0), ], q(ukg) => [ - q(6880), + q(6879), q(0), ], q(ukh) => [ - q(6881), + q(6880), q(0), ], q(ukl) => [ - q(6882), + q(6881), q(0), ], q(ukp) => [ - q(6883), + q(6882), q(0), ], q(ukq) => [ - q(6884), + q(6883), q(0), ], q(ukr) => [ @@ -85612,71 +85662,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(uks) => [ - q(6885), + q(6884), q(0), ], q(uku) => [ - q(6886), + q(6885), q(0), ], q(ukw) => [ - q(6887), + q(6886), q(0), ], q(uky) => [ - q(6888), + q(6887), q(0), ], q(ula) => [ - q(6889), + q(6888), q(0), ], q(ulb) => [ - q(6890), + q(6889), q(0), ], q(ulc) => [ - q(6891), + q(6890), q(0), ], q(ule) => [ - q(6892), + q(6891), q(0), ], q(ulf) => [ - q(6893), + q(6892), q(0), ], q(uli) => [ - q(6894), + q(6893), q(0), ], q(ulk) => [ - q(6895), + q(6894), q(0), ], q(ull) => [ - q(6896), + q(6895), q(0), ], q(ulm) => [ - q(6897), + q(6896), q(0), ], q(uln) => [ - q(6898), + q(6897), q(0), ], q(ulu) => [ - q(6899), + q(6898), q(0), ], q(ulw) => [ - q(6900), + q(6899), q(0), ], q(uma) => [ - q(6901), + q(6900), q(0), ], q(umb) => [ @@ -85684,51 +85734,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(umc) => [ - q(6902), + q(6901), q(0), ], q(umd) => [ - q(6903), + q(6902), q(0), ], q(umg) => [ - q(6904), + q(6903), q(0), ], q(umi) => [ - q(6905), + q(6904), q(0), ], q(umm) => [ - q(6906), + q(6905), q(0), ], q(umn) => [ - q(6907), + q(6906), q(0), ], q(umo) => [ - q(6908), + q(6907), q(0), ], q(ump) => [ - q(6909), + q(6908), q(0), ], q(umr) => [ - q(6910), + q(6909), q(0), ], q(ums) => [ - q(6911), + q(6910), q(0), ], q(umu) => [ - q(6912), + q(6911), q(0), ], q(una) => [ - q(6913), + q(6912), q(0), ], q(und) => [ @@ -85736,59 +85786,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(une) => [ - q(6914), + q(6913), q(0), ], q(ung) => [ - q(6915), + q(6914), q(0), ], q(unk) => [ - q(6916), + q(6915), q(0), ], q(unm) => [ - q(6917), + q(6916), q(0), ], q(unn) => [ - q(6918), + q(6917), q(0), ], q(unr) => [ - q(6919), + q(6918), q(0), ], q(unu) => [ - q(6920), + q(6919), q(0), ], q(unx) => [ - q(6921), + q(6920), q(0), ], q(unz) => [ - q(6922), + q(6921), q(0), ], q(upi) => [ - q(6923), + q(6922), q(0), ], q(upv) => [ - q(6924), + q(6923), q(0), ], q(ura) => [ - q(6925), + q(6924), q(0), ], q(urb) => [ - q(6926), + q(6925), q(0), ], q(urc) => [ - q(6927), + q(6926), q(0), ], q(urd) => [ @@ -85796,23 +85846,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(ure) => [ - q(6928), + q(6927), q(0), ], q(urf) => [ - q(6929), + q(6928), q(0), ], q(urg) => [ - q(6930), + q(6929), q(0), ], q(urh) => [ - q(6931), + q(6930), q(0), ], q(uri) => [ - q(6932), + q(6931), q(0), ], q(urj) => [ @@ -85820,139 +85870,139 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(urk) => [ - q(6933), + q(6932), q(0), ], q(url) => [ - q(6934), + q(6933), q(0), ], q(urm) => [ - q(6935), + q(6934), q(0), ], q(urn) => [ - q(6936), + q(6935), q(0), ], q(uro) => [ - q(6937), + q(6936), q(0), ], q(urp) => [ - q(6938), + q(6937), q(0), ], q(urr) => [ - q(6939), + q(6938), q(0), ], q(urt) => [ - q(6940), + q(6939), q(0), ], q(uru) => [ - q(6941), + q(6940), q(0), ], q(urv) => [ - q(6942), + q(6941), q(0), ], q(urw) => [ - q(6943), + q(6942), q(0), ], q(urx) => [ - q(6944), + q(6943), q(0), ], q(ury) => [ - q(6945), + q(6944), q(0), ], q(urz) => [ - q(6946), + q(6945), q(0), ], q(usa) => [ - q(6947), + q(6946), q(0), ], q(ush) => [ - q(6948), + q(6947), q(0), ], q(usi) => [ - q(6949), + q(6948), q(0), ], q(usk) => [ - q(6950), + q(6949), q(0), ], q(usp) => [ - q(6951), + q(6950), q(0), ], q(usu) => [ - q(6952), + q(6951), q(0), ], q(uta) => [ - q(6953), + q(6952), q(0), ], q(ute) => [ - q(6954), + q(6953), q(0), ], q(utp) => [ - q(6955), + q(6954), q(0), ], q(utr) => [ - q(6956), + q(6955), q(0), ], q(utu) => [ - q(6957), + q(6956), q(0), ], q(uum) => [ - q(6958), + q(6957), q(0), ], q(uun) => [ - q(6959), + q(6958), q(0), ], q(uur) => [ - q(6960), + q(6959), q(0), ], q(uuu) => [ - q(6961), + q(6960), q(0), ], q(uve) => [ - q(6962), + q(6961), q(0), ], q(uvh) => [ - q(6963), + q(6962), q(0), ], q(uvl) => [ - q(6964), + q(6963), q(0), ], q(uwa) => [ - q(6965), + q(6964), q(0), ], q(uya) => [ - q(6966), + q(6965), q(0), ], q(uzb) => [ @@ -85960,31 +86010,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(uzn) => [ - q(6967), + q(6966), q(0), ], q(uzs) => [ - q(6968), + q(6967), q(0), ], q(vaa) => [ - q(6969), + q(6968), q(0), ], q(vae) => [ - q(6970), + q(6969), q(0), ], q(vaf) => [ - q(6971), + q(6970), q(0), ], q(vag) => [ - q(6972), + q(6971), q(0), ], q(vah) => [ - q(6973), + q(6972), q(0), ], q(vai) => [ @@ -85992,71 +86042,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(vaj) => [ - q(6974), + q(6973), q(0), ], q(val) => [ - q(6975), + q(6974), q(0), ], q(vam) => [ - q(6976), + q(6975), q(0), ], q(van) => [ - q(6977), + q(6976), q(0), ], q(vao) => [ - q(6978), + q(6977), q(0), ], q(vap) => [ - q(6979), + q(6978), q(0), ], q(var) => [ - q(6980), + q(6979), q(0), ], q(vas) => [ - q(6981), + q(6980), q(0), ], q(vau) => [ - q(6982), + q(6981), q(0), ], q(vav) => [ - q(6983), + q(6982), q(0), ], q(vay) => [ - q(6984), + q(6983), q(0), ], q(vbb) => [ - q(6985), + q(6984), q(0), ], q(vbk) => [ - q(6986), + q(6985), q(0), ], q(vec) => [ - q(6987), + q(6986), q(0), ], q(ved) => [ - q(6988), + q(6987), q(0), ], q(vel) => [ - q(6989), + q(6988), q(0), ], q(vem) => [ - q(6990), + q(6989), q(0), ], q(ven) => [ @@ -86064,31 +86114,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(veo) => [ - q(6991), + q(6990), q(0), ], q(vep) => [ - q(6992), + q(6991), q(0), ], q(ver) => [ - q(6993), + q(6992), q(0), ], q(vgr) => [ - q(6994), + q(6993), q(0), ], q(vgt) => [ - q(6995), + q(6994), q(0), ], q(vic) => [ - q(6996), + q(6995), q(0), ], q(vid) => [ - q(6997), + q(6996), q(0), ], q(vie) => [ @@ -86096,183 +86146,183 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(vif) => [ - q(6998), + q(6997), q(0), ], q(vig) => [ - q(6999), + q(6998), q(0), ], q(vil) => [ - q(7000), + q(6999), q(0), ], q(vin) => [ - q(7001), + q(7000), q(0), ], q(vis) => [ - q(7002), + q(7001), q(0), ], q(vit) => [ - q(7003), + q(7002), q(0), ], q(viv) => [ - q(7004), + q(7003), q(0), ], q(vka) => [ - q(7005), + q(7004), q(0), ], q(vki) => [ - q(7006), + q(7005), q(0), ], q(vkj) => [ - q(7007), + q(7006), q(0), ], q(vkk) => [ - q(7008), + q(7007), q(0), ], q(vkl) => [ - q(7009), + q(7008), q(0), ], q(vkm) => [ - q(7010), + q(7009), q(0), ], q(vko) => [ - q(7011), + q(7010), q(0), ], q(vkp) => [ - q(7012), + q(7011), q(0), ], q(vkt) => [ - q(7013), + q(7012), q(0), ], q(vku) => [ - q(7014), + q(7013), q(0), ], q(vlp) => [ - q(7015), + q(7014), q(0), ], q(vls) => [ - q(7016), + q(7015), q(0), ], q(vma) => [ - q(7017), + q(7016), q(0), ], q(vmb) => [ - q(7018), + q(7017), q(0), ], q(vmc) => [ - q(7019), + q(7018), q(0), ], q(vmd) => [ - q(7020), + q(7019), q(0), ], q(vme) => [ - q(7021), + q(7020), q(0), ], q(vmf) => [ - q(7022), + q(7021), q(0), ], q(vmg) => [ - q(7023), + q(7022), q(0), ], q(vmh) => [ - q(7024), + q(7023), q(0), ], q(vmi) => [ - q(7025), + q(7024), q(0), ], q(vmj) => [ - q(7026), + q(7025), q(0), ], q(vmk) => [ - q(7027), + q(7026), q(0), ], q(vml) => [ - q(7028), + q(7027), q(0), ], q(vmm) => [ - q(7029), + q(7028), q(0), ], q(vmp) => [ - q(7030), + q(7029), q(0), ], q(vmq) => [ - q(7031), + q(7030), q(0), ], q(vmr) => [ - q(7032), + q(7031), q(0), ], q(vms) => [ - q(7033), + q(7032), q(0), ], q(vmu) => [ - q(7034), + q(7033), q(0), ], q(vmv) => [ - q(7035), + q(7034), q(0), ], q(vmw) => [ - q(7036), + q(7035), q(0), ], q(vmx) => [ - q(7037), + q(7036), q(0), ], q(vmy) => [ - q(7038), + q(7037), q(0), ], q(vmz) => [ - q(7039), + q(7038), q(0), ], q(vnk) => [ - q(7040), + q(7039), q(0), ], q(vnm) => [ - q(7041), + q(7040), q(0), ], q(vnp) => [ - q(7042), + q(7041), q(0), ], q(vol) => [ @@ -86280,7 +86330,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(vor) => [ - q(7043), + q(7042), q(0), ], q(vot) => [ @@ -86288,91 +86338,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(vra) => [ - q(7044), + q(7043), q(0), ], q(vro) => [ - q(7043), + q(7042), q(0), ], q(vrs) => [ - q(7045), + q(7044), q(0), ], q(vrt) => [ - q(7046), + q(7045), q(0), ], q(vsi) => [ - q(7047), + q(7046), q(0), ], q(vsl) => [ - q(7048), + q(7047), q(0), ], q(vsv) => [ - q(7049), + q(7048), q(0), ], q(vto) => [ - q(7050), + q(7049), q(0), ], q(vum) => [ - q(7051), + q(7050), q(0), ], q(vun) => [ - q(7052), + q(7051), q(0), ], q(vut) => [ - q(7053), + q(7052), q(0), ], q(vwa) => [ - q(7054), + q(7053), q(0), ], q(waa) => [ - q(7055), + q(7054), q(0), ], q(wab) => [ - q(7056), + q(7055), q(0), ], q(wac) => [ - q(7057), + q(7056), q(0), ], q(wad) => [ - q(7058), + q(7057), q(0), ], q(wae) => [ - q(7059), + q(7058), q(0), ], q(waf) => [ - q(7060), + q(7059), q(0), ], q(wag) => [ - q(7061), + q(7060), q(0), ], q(wah) => [ - q(7062), + q(7061), q(0), ], q(wai) => [ - q(7063), + q(7062), q(0), ], q(waj) => [ - q(7064), + q(7063), q(0), ], q(wak) => [ @@ -86384,23 +86434,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(1), ], q(wam) => [ - q(7065), + q(7064), q(0), ], q(wan) => [ - q(7066), + q(7065), q(0), ], q(wao) => [ - q(7067), + q(7066), q(0), ], q(wap) => [ - q(7068), + q(7067), q(0), ], q(waq) => [ - q(7069), + q(7068), q(0), ], q(war) => [ @@ -86412,151 +86462,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(wat) => [ - q(7070), + q(7069), q(0), ], q(wau) => [ - q(7071), + q(7070), q(0), ], q(wav) => [ - q(7072), + q(7071), q(0), ], q(waw) => [ - q(7073), + q(7072), q(0), ], q(wax) => [ - q(7074), + q(7073), q(0), ], q(way) => [ - q(7075), + q(7074), q(0), ], q(waz) => [ - q(7076), + q(7075), q(0), ], q(wba) => [ - q(7077), + q(7076), q(0), ], q(wbb) => [ - q(7078), + q(7077), q(0), ], q(wbe) => [ - q(7079), + q(7078), q(0), ], q(wbf) => [ - q(6412), + q(6411), q(0), ], q(wbh) => [ - q(7080), + q(7079), q(0), ], q(wbi) => [ - q(7081), + q(7080), q(0), ], q(wbj) => [ - q(7082), + q(7081), q(0), ], q(wbk) => [ - q(7083), + q(7082), q(0), ], q(wbl) => [ - q(7084), + q(7083), q(0), ], q(wbm) => [ - q(7085), + q(7084), q(0), ], q(wbp) => [ - q(7086), + q(7085), q(0), ], q(wbq) => [ - q(7087), + q(7086), q(0), ], q(wbr) => [ - q(7088), + q(7087), q(0), ], q(wbt) => [ - q(7089), + q(7088), q(0), ], q(wbv) => [ - q(7090), + q(7089), q(0), ], q(wbw) => [ - q(7091), + q(7090), q(0), ], q(wca) => [ - q(7092), + q(7091), q(0), ], q(wci) => [ - q(7093), + q(7092), q(0), ], q(wdd) => [ - q(7094), + q(7093), q(0), ], q(wdg) => [ - q(7095), + q(7094), q(0), ], q(wdj) => [ - q(7096), + q(7095), q(0), ], q(wdk) => [ - q(7097), + q(7096), q(0), ], q(wdu) => [ - q(7098), + q(7097), q(0), ], q(wdy) => [ - q(7099), + q(7098), q(0), ], q(wea) => [ - q(7100), + q(7099), q(0), ], q(wec) => [ - q(7101), + q(7100), q(0), ], q(wed) => [ - q(7102), + q(7101), q(0), ], q(weg) => [ - q(7103), + q(7102), q(0), ], q(weh) => [ - q(7104), + q(7103), q(0), ], q(wei) => [ - q(7105), + q(7104), q(0), ], q(wel) => [ @@ -86564,7 +86614,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(wem) => [ - q(7106), + q(7105), q(0), ], q(wen) => [ @@ -86572,211 +86622,211 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(weo) => [ - q(7107), + q(7106), q(0), ], q(wep) => [ - q(7108), + q(7107), q(0), ], q(wer) => [ - q(7109), + q(7108), q(0), ], q(wes) => [ - q(7110), + q(7109), q(0), ], q(wet) => [ - q(7111), + q(7110), q(0), ], q(weu) => [ - q(7112), + q(7111), q(0), ], q(wew) => [ - q(7113), + q(7112), q(0), ], q(wfg) => [ - q(7114), + q(7113), q(0), ], q(wga) => [ - q(7115), + q(7114), q(0), ], q(wgb) => [ - q(7116), + q(7115), q(0), ], q(wgg) => [ - q(7117), + q(7116), q(0), ], q(wgi) => [ - q(7118), + q(7117), q(0), ], q(wgo) => [ - q(7119), + q(7118), q(0), ], q(wgu) => [ - q(7120), + q(7119), q(0), ], q(wgy) => [ - q(7121), + q(7120), q(0), ], q(wha) => [ - q(7122), + q(7121), q(0), ], q(whg) => [ - q(7123), + q(7122), q(0), ], q(whk) => [ - q(7124), + q(7123), q(0), ], q(whu) => [ - q(7125), + q(7124), q(0), ], q(wib) => [ - q(7126), + q(7125), q(0), ], q(wic) => [ - q(7127), + q(7126), q(0), ], q(wie) => [ - q(7128), + q(7127), q(0), ], q(wif) => [ - q(7129), + q(7128), q(0), ], q(wig) => [ - q(7130), + q(7129), q(0), ], q(wih) => [ - q(7131), + q(7130), q(0), ], q(wii) => [ - q(7132), + q(7131), q(0), ], q(wij) => [ - q(7133), + q(7132), q(0), ], q(wik) => [ - q(7134), + q(7133), q(0), ], q(wil) => [ - q(7135), + q(7134), q(0), ], q(wim) => [ - q(7136), + q(7135), q(0), ], q(win) => [ - q(7137), + q(7136), q(0), ], q(wir) => [ - q(7138), + q(7137), q(0), ], q(wiu) => [ - q(7139), + q(7138), q(0), ], q(wiv) => [ - q(7140), + q(7139), q(0), ], q(wiy) => [ - q(7141), + q(7140), q(0), ], q(wja) => [ - q(7142), + q(7141), q(0), ], q(wji) => [ - q(7143), + q(7142), q(0), ], q(wka) => [ - q(7144), + q(7143), q(0), ], q(wkb) => [ - q(7145), + q(7144), q(0), ], q(wkd) => [ - q(7146), + q(7145), q(0), ], q(wkl) => [ - q(7147), + q(7146), q(0), ], q(wku) => [ - q(7148), + q(7147), q(0), ], q(wkw) => [ - q(7149), + q(7148), q(0), ], q(wky) => [ - q(7150), + q(7149), q(0), ], q(wla) => [ - q(7151), + q(7150), q(0), ], q(wlc) => [ - q(7152), + q(7151), q(0), ], q(wle) => [ - q(7153), + q(7152), q(0), ], q(wlg) => [ - q(7154), + q(7153), q(0), ], q(wli) => [ - q(7155), + q(7154), q(0), ], q(wlk) => [ - q(7156), + q(7155), q(0), ], q(wll) => [ - q(7157), + q(7156), q(0), ], q(wlm) => [ - q(7158), + q(7157), q(0), ], q(wln) => [ @@ -86784,183 +86834,183 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(wlo) => [ - q(7159), + q(7158), q(0), ], q(wlr) => [ - q(7160), + q(7159), q(0), ], q(wls) => [ - q(7161), + q(7160), q(0), ], q(wlu) => [ - q(7162), + q(7161), q(0), ], q(wlv) => [ - q(7163), + q(7162), q(0), ], q(wlw) => [ - q(7164), + q(7163), q(0), ], q(wlx) => [ - q(7165), + q(7164), q(0), ], q(wly) => [ - q(7166), + q(7165), q(0), ], q(wma) => [ - q(7167), + q(7166), q(0), ], q(wmb) => [ - q(7168), + q(7167), q(0), ], q(wmc) => [ - q(7169), + q(7168), q(0), ], q(wmd) => [ - q(7170), + q(7169), q(0), ], q(wme) => [ - q(7171), + q(7170), q(0), ], q(wmh) => [ - q(7172), + q(7171), q(0), ], q(wmi) => [ - q(7173), + q(7172), q(0), ], q(wmm) => [ - q(7174), + q(7173), q(0), ], q(wmn) => [ - q(7175), + q(7174), q(0), ], q(wmo) => [ - q(7176), + q(7175), q(0), ], q(wms) => [ - q(7177), + q(7176), q(0), ], q(wmt) => [ - q(7178), + q(7177), q(0), ], q(wmw) => [ - q(7179), + q(7178), q(0), ], q(wmx) => [ - q(7180), + q(7179), q(0), ], q(wnb) => [ - q(7181), + q(7180), q(0), ], q(wnc) => [ - q(7182), + q(7181), q(0), ], q(wnd) => [ - q(7183), + q(7182), q(0), ], q(wne) => [ - q(7184), + q(7183), q(0), ], q(wng) => [ - q(7185), + q(7184), q(0), ], q(wni) => [ - q(7186), + q(7185), q(0), ], q(wnk) => [ - q(7187), + q(7186), q(0), ], q(wnm) => [ - q(7188), + q(7187), q(0), ], q(wnn) => [ - q(7189), + q(7188), q(0), ], q(wno) => [ - q(7190), + q(7189), q(0), ], q(wnp) => [ - q(7191), + q(7190), q(0), ], q(wnu) => [ - q(7192), + q(7191), q(0), ], q(wnw) => [ - q(7193), + q(7192), q(0), ], q(wny) => [ - q(7194), + q(7193), q(0), ], q(woa) => [ - q(7195), + q(7194), q(0), ], q(wob) => [ - q(7196), + q(7195), q(0), ], q(woc) => [ - q(7197), + q(7196), q(0), ], q(wod) => [ - q(7198), + q(7197), q(0), ], q(woe) => [ - q(7199), + q(7198), q(0), ], q(wof) => [ - q(7200), + q(7199), q(0), ], q(wog) => [ - q(7201), + q(7200), q(0), ], q(woi) => [ - q(7202), + q(7201), q(0), ], q(wok) => [ - q(7203), + q(7202), q(0), ], q(wol) => [ @@ -86968,303 +87018,303 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(wom) => [ - q(7204), + q(7203), q(0), ], q(won) => [ - q(7205), + q(7204), q(0), ], q(woo) => [ - q(7206), + q(7205), q(0), ], q(wor) => [ - q(7207), + q(7206), q(0), ], q(wos) => [ - q(7208), + q(7207), q(0), ], q(wow) => [ - q(7209), + q(7208), q(0), ], q(woy) => [ - q(7210), + q(7209), q(0), ], q(wpc) => [ - q(7211), + q(7210), q(0), ], q(wra) => [ - q(7212), + q(7211), q(0), ], q(wrb) => [ - q(7213), + q(7212), q(0), ], q(wrd) => [ - q(7214), + q(7213), q(0), ], q(wrg) => [ - q(7215), + q(7214), q(0), ], q(wrh) => [ - q(7216), + q(7215), q(0), ], q(wri) => [ - q(7217), + q(7216), q(0), ], q(wrk) => [ - q(7218), + q(7217), q(0), ], q(wrl) => [ - q(7219), + q(7218), q(0), ], q(wrm) => [ - q(7220), + q(7219), q(0), ], q(wrn) => [ - q(7221), + q(7220), q(0), ], q(wro) => [ - q(7222), + q(7221), q(0), ], q(wrp) => [ - q(7223), + q(7222), q(0), ], q(wrr) => [ - q(7224), + q(7223), q(0), ], q(wrs) => [ - q(7225), + q(7224), q(0), ], q(wru) => [ - q(7226), + q(7225), q(0), ], q(wrv) => [ - q(7227), + q(7226), q(0), ], q(wrw) => [ - q(7228), + q(7227), q(0), ], q(wrx) => [ - q(7229), + q(7228), q(0), ], q(wry) => [ - q(7230), + q(7229), q(0), ], q(wrz) => [ - q(7231), + q(7230), q(0), ], q(wsa) => [ - q(7232), + q(7231), q(0), ], q(wsi) => [ - q(7233), + q(7232), q(0), ], q(wsk) => [ - q(7234), + q(7233), q(0), ], q(wsr) => [ - q(7235), + q(7234), q(0), ], q(wss) => [ - q(7236), + q(7235), q(0), ], q(wsu) => [ - q(7237), + q(7236), q(0), ], q(wsv) => [ - q(7238), + q(7237), q(0), ], q(wtf) => [ - q(7239), + q(7238), q(0), ], q(wth) => [ - q(7240), + q(7239), q(0), ], q(wti) => [ - q(7241), + q(7240), q(0), ], q(wtk) => [ - q(7242), + q(7241), q(0), ], q(wtm) => [ - q(7243), + q(7242), q(0), ], q(wtw) => [ - q(7244), + q(7243), q(0), ], q(wua) => [ - q(7245), + q(7244), q(0), ], q(wub) => [ - q(7246), + q(7245), q(0), ], q(wud) => [ - q(7247), + q(7246), q(0), ], q(wuh) => [ - q(7248), + q(7247), q(0), ], q(wul) => [ - q(7249), + q(7248), q(0), ], q(wum) => [ - q(7250), + q(7249), q(0), ], q(wun) => [ - q(7251), + q(7250), q(0), ], q(wur) => [ - q(7252), + q(7251), q(0), ], q(wut) => [ - q(7253), + q(7252), q(0), ], q(wuu) => [ - q(7254), + q(7253), q(0), ], q(wuv) => [ - q(7255), + q(7254), q(0), ], q(wux) => [ - q(7256), + q(7255), q(0), ], q(wuy) => [ - q(7257), + q(7256), q(0), ], q(wwa) => [ - q(7258), + q(7257), q(0), ], q(wwb) => [ - q(7259), + q(7258), q(0), ], q(wwo) => [ - q(7260), + q(7259), q(0), ], q(wwr) => [ - q(7261), + q(7260), q(0), ], q(www) => [ - q(7262), + q(7261), q(0), ], q(wxa) => [ - q(7263), + q(7262), q(0), ], q(wxw) => [ - q(7264), + q(7263), q(0), ], q(wya) => [ - q(7265), + q(7264), q(0), ], q(wyb) => [ - q(7266), + q(7265), q(0), ], q(wyi) => [ - q(7267), + q(7266), q(0), ], q(wym) => [ - q(7268), + q(7267), q(0), ], q(wyr) => [ - q(7269), + q(7268), q(0), ], q(wyy) => [ - q(7270), + q(7269), q(0), ], q(xaa) => [ - q(7271), + q(7270), q(0), ], q(xab) => [ - q(7272), + q(7271), q(0), ], q(xac) => [ - q(7273), + q(7272), q(0), ], q(xad) => [ - q(7274), + q(7273), q(0), ], q(xae) => [ - q(7275), + q(7274), q(0), ], q(xag) => [ - q(7276), + q(7275), q(0), ], q(xai) => [ - q(7277), + q(7276), q(0), ], q(xaj) => [ - q(7278), + q(7277), q(0), ], q(xal) => [ @@ -87272,271 +87322,271 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(xam) => [ - q(7279), + q(7278), q(0), ], q(xan) => [ - q(7280), + q(7279), q(0), ], q(xao) => [ - q(7281), + q(7280), q(0), ], q(xap) => [ - q(7282), + q(7281), q(0), ], q(xaq) => [ - q(7283), + q(7282), q(0), ], q(xar) => [ - q(7284), + q(7283), q(0), ], q(xas) => [ - q(7285), + q(7284), q(0), ], q(xat) => [ - q(7286), + q(7285), q(0), ], q(xau) => [ - q(7287), + q(7286), q(0), ], q(xav) => [ - q(7288), + q(7287), q(0), ], q(xaw) => [ - q(7289), + q(7288), q(0), ], q(xay) => [ - q(7290), + q(7289), q(0), ], q(xba) => [ - q(7291), + q(7290), q(0), ], q(xbb) => [ - q(7292), + q(7291), q(0), ], q(xbc) => [ - q(7293), + q(7292), q(0), ], q(xbd) => [ - q(7294), + q(7293), q(0), ], q(xbe) => [ - q(7295), + q(7294), q(0), ], q(xbg) => [ - q(7296), + q(7295), q(0), ], q(xbi) => [ - q(7297), + q(7296), q(0), ], q(xbj) => [ - q(7298), + q(7297), q(0), ], q(xbm) => [ - q(7299), + q(7298), q(0), ], q(xbn) => [ - q(7300), + q(7299), q(0), ], q(xbo) => [ - q(7301), + q(7300), q(0), ], q(xbp) => [ - q(7302), + q(7301), q(0), ], q(xbr) => [ - q(7303), + q(7302), q(0), ], q(xbw) => [ - q(7304), + q(7303), q(0), ], q(xbx) => [ - q(7305), + q(7304), q(0), ], q(xby) => [ - q(7306), + q(7305), q(0), ], q(xcb) => [ - q(7307), + q(7306), q(0), ], q(xcc) => [ - q(7308), + q(7307), q(0), ], q(xce) => [ - q(7309), + q(7308), q(0), ], q(xcg) => [ - q(7310), + q(7309), q(0), ], q(xch) => [ - q(7311), + q(7310), q(0), ], q(xcl) => [ - q(7312), + q(7311), q(0), ], q(xcm) => [ - q(7313), + q(7312), q(0), ], q(xcn) => [ - q(7314), + q(7313), q(0), ], q(xco) => [ - q(7315), + q(7314), q(0), ], q(xcr) => [ - q(7316), + q(7315), q(0), ], q(xct) => [ - q(7317), + q(7316), q(0), ], q(xcu) => [ - q(7318), + q(7317), q(0), ], q(xcv) => [ - q(7319), + q(7318), q(0), ], q(xcw) => [ - q(7320), + q(7319), q(0), ], q(xcy) => [ - q(7321), + q(7320), q(0), ], q(xda) => [ - q(7322), + q(7321), q(0), ], q(xdc) => [ - q(7323), + q(7322), q(0), ], q(xdk) => [ - q(7324), + q(7323), q(0), ], q(xdm) => [ - q(7325), + q(7324), q(0), ], q(xdy) => [ - q(7326), + q(7325), q(0), ], q(xeb) => [ - q(7327), + q(7326), q(0), ], q(xed) => [ - q(7328), + q(7327), q(0), ], q(xeg) => [ - q(7329), + q(7328), q(0), ], q(xel) => [ - q(7330), + q(7329), q(0), ], q(xem) => [ - q(7331), + q(7330), q(0), ], q(xep) => [ - q(7332), + q(7331), q(0), ], q(xer) => [ - q(7333), + q(7332), q(0), ], q(xes) => [ - q(7334), + q(7333), q(0), ], q(xet) => [ - q(7335), + q(7334), q(0), ], q(xeu) => [ - q(7336), + q(7335), q(0), ], q(xfa) => [ - q(7337), + q(7336), q(0), ], q(xga) => [ - q(7338), + q(7337), q(0), ], q(xgb) => [ - q(7339), + q(7338), q(0), ], q(xgd) => [ - q(7340), + q(7339), q(0), ], q(xgf) => [ - q(7341), + q(7340), q(0), ], q(xgg) => [ - q(7342), + q(7341), q(0), ], q(xgi) => [ - q(7343), + q(7342), q(0), ], q(xgl) => [ - q(7344), + q(7343), q(0), ], q(xgm) => [ - q(7345), + q(7344), q(0), ], q(xgn) => [ @@ -87544,31 +87594,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(xgr) => [ - q(7346), + q(7345), q(0), ], q(xgu) => [ - q(7347), + q(7346), q(0), ], q(xgw) => [ - q(7348), + q(7347), q(0), ], q(xha) => [ - q(7349), + q(7348), q(0), ], q(xhc) => [ - q(7350), + q(7349), q(0), ], q(xhd) => [ - q(7351), + q(7350), q(0), ], q(xhe) => [ - q(7352), + q(7351), q(0), ], q(xho) => [ @@ -87576,323 +87626,323 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(xhr) => [ - q(7353), + q(7352), q(0), ], q(xht) => [ - q(7354), + q(7353), q(0), ], q(xhu) => [ - q(7355), + q(7354), q(0), ], q(xhv) => [ - q(7356), + q(7355), q(0), ], q(xib) => [ - q(7357), + q(7356), q(0), ], q(xii) => [ - q(7358), + q(7357), q(0), ], q(xil) => [ - q(7359), + q(7358), q(0), ], q(xin) => [ - q(7360), + q(7359), q(0), ], q(xip) => [ - q(7361), + q(7360), q(0), ], q(xir) => [ - q(7362), + q(7361), q(0), ], q(xis) => [ - q(7363), + q(7362), q(0), ], q(xiv) => [ - q(7364), + q(7363), q(0), ], q(xiy) => [ - q(7365), + q(7364), q(0), ], q(xjb) => [ - q(7366), + q(7365), q(0), ], q(xjt) => [ - q(7367), + q(7366), q(0), ], q(xka) => [ - q(7368), + q(7367), q(0), ], q(xkb) => [ - q(7369), + q(7368), q(0), ], q(xkc) => [ - q(7370), + q(7369), q(0), ], q(xkd) => [ - q(7371), + q(7370), q(0), ], q(xke) => [ - q(7372), + q(7371), q(0), ], q(xkf) => [ - q(7373), + q(7372), q(0), ], q(xkg) => [ - q(7374), + q(7373), q(0), ], q(xkh) => [ - q(7375), + q(7374), q(0), ], q(xki) => [ - q(7376), + q(7375), q(0), ], q(xkj) => [ - q(7377), + q(7376), q(0), ], q(xkk) => [ - q(7378), + q(7377), q(0), ], q(xkl) => [ - q(7379), + q(7378), q(0), ], q(xkn) => [ - q(7380), + q(7379), q(0), ], q(xko) => [ - q(7381), + q(7380), q(0), ], q(xkp) => [ - q(7382), + q(7381), q(0), ], q(xkq) => [ - q(7383), + q(7382), q(0), ], q(xkr) => [ - q(7384), + q(7383), q(0), ], q(xks) => [ - q(7385), + q(7384), q(0), ], q(xkt) => [ - q(7386), + q(7385), q(0), ], q(xku) => [ - q(7387), + q(7386), q(0), ], q(xkv) => [ - q(7388), + q(7387), q(0), ], q(xkw) => [ - q(7389), + q(7388), q(0), ], q(xkx) => [ - q(7390), + q(7389), q(0), ], q(xky) => [ - q(7391), + q(7390), q(0), ], q(xkz) => [ - q(7392), + q(7391), q(0), ], q(xla) => [ - q(7393), + q(7392), q(0), ], q(xlb) => [ - q(7394), + q(7393), q(0), ], q(xlc) => [ - q(7395), + q(7394), q(0), ], q(xld) => [ - q(7396), + q(7395), q(0), ], q(xle) => [ - q(7397), + q(7396), q(0), ], q(xlg) => [ - q(7398), + q(7397), q(0), ], q(xli) => [ - q(7399), + q(7398), q(0), ], q(xln) => [ - q(7400), + q(7399), q(0), ], q(xlo) => [ - q(7401), + q(7400), q(0), ], q(xlp) => [ - q(7402), + q(7401), q(0), ], q(xls) => [ - q(7403), + q(7402), q(0), ], q(xlu) => [ - q(7404), + q(7403), q(0), ], q(xly) => [ - q(7405), + q(7404), q(0), ], q(xma) => [ - q(7406), + q(7405), q(0), ], q(xmb) => [ - q(7407), + q(7406), q(0), ], q(xmc) => [ - q(7408), + q(7407), q(0), ], q(xmd) => [ - q(7409), + q(7408), q(0), ], q(xme) => [ - q(7410), + q(7409), q(0), ], q(xmf) => [ - q(7411), + q(7410), q(0), ], q(xmg) => [ - q(7412), + q(7411), q(0), ], q(xmh) => [ - q(7413), + q(7412), q(0), ], q(xmj) => [ - q(7414), + q(7413), q(0), ], q(xmk) => [ - q(7415), + q(7414), q(0), ], q(xml) => [ - q(7416), + q(7415), q(0), ], q(xmm) => [ - q(7417), + q(7416), q(0), ], q(xmn) => [ - q(7418), + q(7417), q(0), ], q(xmo) => [ - q(7419), + q(7418), q(0), ], q(xmp) => [ - q(7420), + q(7419), q(0), ], q(xmq) => [ - q(7421), + q(7420), q(0), ], q(xmr) => [ - q(7422), + q(7421), q(0), ], q(xms) => [ - q(7423), + q(7422), q(0), ], q(xmt) => [ - q(7424), + q(7423), q(0), ], q(xmu) => [ - q(7425), + q(7424), q(0), ], q(xmv) => [ - q(7426), + q(7425), q(0), ], q(xmw) => [ - q(7427), + q(7426), q(0), ], q(xmx) => [ - q(7428), + q(7427), q(0), ], q(xmy) => [ - q(7429), + q(7428), q(0), ], q(xmz) => [ - q(7430), + q(7429), q(0), ], q(xna) => [ - q(7431), + q(7430), q(0), ], q(xnb) => [ - q(7432), + q(7431), q(0), ], q(xnd) => [ @@ -87900,623 +87950,623 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(xng) => [ - q(7433), + q(7432), q(0), ], q(xnh) => [ - q(7434), + q(7433), q(0), ], q(xni) => [ - q(7435), + q(7434), q(0), ], q(xnk) => [ - q(7436), + q(7435), q(0), ], q(xnn) => [ - q(7437), + q(7436), q(0), ], q(xno) => [ - q(7438), + q(7437), q(0), ], q(xnr) => [ - q(7439), + q(7438), q(0), ], q(xns) => [ - q(7440), + q(7439), q(0), ], q(xnt) => [ - q(7441), + q(7440), q(0), ], q(xnu) => [ - q(7442), + q(7441), q(0), ], q(xny) => [ - q(7443), + q(7442), q(0), ], q(xnz) => [ - q(7444), + q(7443), q(0), ], q(xoc) => [ - q(7445), + q(7444), q(0), ], q(xod) => [ - q(7446), + q(7445), q(0), ], q(xog) => [ - q(7447), + q(7446), q(0), ], q(xoi) => [ - q(7448), + q(7447), q(0), ], q(xok) => [ - q(7449), + q(7448), q(0), ], q(xom) => [ - q(7450), + q(7449), q(0), ], q(xon) => [ - q(7451), + q(7450), q(0), ], q(xoo) => [ - q(7452), + q(7451), q(0), ], q(xop) => [ - q(7453), + q(7452), q(0), ], q(xor) => [ - q(7454), + q(7453), q(0), ], q(xow) => [ - q(7455), + q(7454), q(0), ], q(xpa) => [ - q(7456), + q(7455), q(0), ], q(xpc) => [ - q(7457), + q(7456), q(0), ], q(xpe) => [ - q(7458), + q(7457), q(0), ], q(xpg) => [ - q(7459), + q(7458), q(0), ], q(xpi) => [ - q(7460), + q(7459), q(0), ], q(xpj) => [ - q(7461), + q(7460), q(0), ], q(xpk) => [ - q(7462), + q(7461), q(0), ], q(xpm) => [ - q(7463), + q(7462), q(0), ], q(xpn) => [ - q(7464), + q(7463), q(0), ], q(xpo) => [ - q(7465), + q(7464), q(0), ], q(xpp) => [ - q(7466), + q(7465), q(0), ], q(xpq) => [ - q(7467), + q(7466), q(0), ], q(xpr) => [ - q(7468), + q(7467), q(0), ], q(xps) => [ - q(7469), + q(7468), q(0), ], q(xpt) => [ - q(7470), + q(7469), q(0), ], q(xpu) => [ - q(7471), + q(7470), q(0), ], q(xpy) => [ - q(7472), + q(7471), q(0), ], q(xqa) => [ - q(7473), + q(7472), q(0), ], q(xqt) => [ - q(7474), + q(7473), q(0), ], q(xra) => [ - q(7475), + q(7474), q(0), ], q(xrb) => [ - q(7476), + q(7475), q(0), ], q(xrd) => [ - q(7477), + q(7476), q(0), ], q(xre) => [ - q(7478), + q(7477), q(0), ], q(xrg) => [ - q(7479), + q(7478), q(0), ], q(xri) => [ - q(7480), + q(7479), q(0), ], q(xrm) => [ - q(7481), + q(7480), q(0), ], q(xrn) => [ - q(7482), + q(7481), q(0), ], q(xrq) => [ - q(7483), + q(7482), q(0), ], q(xrr) => [ - q(7484), + q(7483), q(0), ], q(xrt) => [ - q(7485), + q(7484), q(0), ], q(xru) => [ - q(7486), + q(7485), q(0), ], q(xrw) => [ - q(7487), + q(7486), q(0), ], q(xsa) => [ - q(7488), + q(7487), q(0), ], q(xsb) => [ - q(7489), + q(7488), q(0), ], q(xsc) => [ - q(7490), + q(7489), q(0), ], q(xsd) => [ - q(7491), + q(7490), q(0), ], q(xse) => [ - q(7492), + q(7491), q(0), ], q(xsh) => [ - q(7493), + q(7492), q(0), ], q(xsi) => [ - q(7494), + q(7493), q(0), ], q(xsl) => [ - q(7495), + q(7494), q(0), ], q(xsm) => [ - q(7496), + q(7495), q(0), ], q(xsn) => [ - q(7497), + q(7496), q(0), ], q(xso) => [ - q(7498), + q(7497), q(0), ], q(xsp) => [ - q(7499), + q(7498), q(0), ], q(xsq) => [ - q(7500), + q(7499), q(0), ], q(xsr) => [ - q(7501), + q(7500), q(0), ], q(xss) => [ - q(7502), + q(7501), q(0), ], q(xsu) => [ - q(7503), + q(7502), q(0), ], q(xsv) => [ - q(7504), + q(7503), q(0), ], q(xsy) => [ - q(7505), + q(7504), q(0), ], q(xta) => [ - q(7506), + q(7505), q(0), ], q(xtb) => [ - q(7507), + q(7506), q(0), ], q(xtc) => [ - q(7508), + q(7507), q(0), ], q(xtd) => [ - q(7509), + q(7508), q(0), ], q(xte) => [ - q(7510), + q(7509), q(0), ], q(xtg) => [ - q(7511), + q(7510), q(0), ], q(xth) => [ - q(7512), + q(7511), q(0), ], q(xti) => [ - q(7513), + q(7512), q(0), ], q(xtj) => [ - q(7514), + q(7513), q(0), ], q(xtl) => [ - q(7515), + q(7514), q(0), ], q(xtm) => [ - q(7516), + q(7515), q(0), ], q(xtn) => [ - q(7517), + q(7516), q(0), ], q(xto) => [ - q(7518), + q(7517), q(0), ], q(xtp) => [ - q(7519), + q(7518), q(0), ], q(xtq) => [ - q(7520), + q(7519), q(0), ], q(xtr) => [ - q(7521), + q(7520), q(0), ], q(xts) => [ - q(7522), + q(7521), q(0), ], q(xtt) => [ - q(7523), + q(7522), q(0), ], q(xtu) => [ - q(7524), + q(7523), q(0), ], q(xtv) => [ - q(7525), + q(7524), q(0), ], q(xtw) => [ - q(7526), + q(7525), q(0), ], q(xty) => [ - q(7527), + q(7526), q(0), ], q(xtz) => [ - q(7528), + q(7527), q(0), ], q(xua) => [ - q(7529), + q(7528), q(0), ], q(xub) => [ - q(7530), + q(7529), q(0), ], q(xud) => [ - q(7531), + q(7530), q(0), ], q(xug) => [ - q(7532), + q(7531), q(0), ], q(xuj) => [ - q(7533), + q(7532), q(0), ], q(xul) => [ - q(7534), + q(7533), q(0), ], q(xum) => [ - q(7535), + q(7534), q(0), ], q(xun) => [ - q(7536), + q(7535), q(0), ], q(xuo) => [ - q(7537), + q(7536), q(0), ], q(xup) => [ - q(7538), + q(7537), q(0), ], q(xur) => [ - q(7539), + q(7538), q(0), ], q(xut) => [ - q(7540), + q(7539), q(0), ], q(xuu) => [ - q(7541), + q(7540), q(0), ], q(xve) => [ - q(7542), + q(7541), q(0), ], q(xvi) => [ - q(7543), + q(7542), q(0), ], q(xvn) => [ - q(7544), + q(7543), q(0), ], q(xvo) => [ - q(7545), + q(7544), q(0), ], q(xvs) => [ - q(7546), + q(7545), q(0), ], q(xwa) => [ - q(7547), + q(7546), q(0), ], q(xwc) => [ - q(7548), + q(7547), q(0), ], q(xwd) => [ - q(7549), + q(7548), q(0), ], q(xwe) => [ - q(7550), + q(7549), q(0), ], q(xwg) => [ - q(7551), + q(7550), q(0), ], q(xwj) => [ - q(7552), + q(7551), q(0), ], q(xwk) => [ - q(7553), + q(7552), q(0), ], q(xwl) => [ - q(7554), + q(7553), q(0), ], q(xwo) => [ - q(7555), + q(7554), q(0), ], q(xwr) => [ - q(7556), + q(7555), q(0), ], q(xwt) => [ - q(7557), + q(7556), q(0), ], q(xww) => [ - q(7558), + q(7557), q(0), ], q(xxb) => [ - q(7559), + q(7558), q(0), ], q(xxk) => [ - q(7560), + q(7559), q(0), ], q(xxm) => [ - q(7561), + q(7560), q(0), ], q(xxr) => [ - q(7562), + q(7561), q(0), ], q(xxt) => [ - q(7563), + q(7562), q(0), ], q(xya) => [ - q(7564), + q(7563), q(0), ], q(xyb) => [ - q(7565), + q(7564), q(0), ], q(xyj) => [ - q(7566), + q(7565), q(0), ], q(xyk) => [ - q(7567), + q(7566), q(0), ], q(xyl) => [ - q(7568), + q(7567), q(0), ], q(xyt) => [ - q(7569), + q(7568), q(0), ], q(xyy) => [ - q(7570), + q(7569), q(0), ], q(xzh) => [ - q(7571), + q(7570), q(0), ], q(xzm) => [ - q(7572), + q(7571), q(0), ], q(xzp) => [ - q(7573), + q(7572), q(0), ], q(yaa) => [ - q(7574), + q(7573), q(0), ], q(yab) => [ - q(7575), + q(7574), q(0), ], q(yac) => [ - q(7576), + q(7575), q(0), ], q(yad) => [ - q(7577), + q(7576), q(0), ], q(yae) => [ - q(7578), + q(7577), q(0), ], q(yaf) => [ - q(7579), + q(7578), q(0), ], q(yag) => [ - q(7580), + q(7579), q(0), ], q(yah) => [ - q(7581), + q(7580), q(0), ], q(yai) => [ - q(7582), + q(7581), q(0), ], q(yaj) => [ - q(7583), + q(7582), q(0), ], q(yak) => [ - q(7584), + q(7583), q(0), ], q(yal) => [ - q(7585), + q(7584), q(0), ], q(yam) => [ - q(7586), + q(7585), q(0), ], q(yan) => [ - q(7587), + q(7586), q(0), ], q(yao) => [ @@ -88528,226 +88578,230 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(yaq) => [ - q(7588), + q(7587), q(0), ], q(yar) => [ - q(7589), + q(7588), q(0), ], q(yas) => [ - q(7590), + q(7589), q(0), ], q(yat) => [ - q(7591), + q(7590), q(0), ], q(yau) => [ - q(7592), + q(7591), q(0), ], q(yav) => [ - q(7593), + q(7592), q(0), ], q(yaw) => [ - q(7594), + q(7593), q(0), ], q(yax) => [ - q(7595), + q(7594), q(0), ], q(yay) => [ - q(7596), + q(7595), q(0), ], q(yaz) => [ - q(7597), + q(7596), q(0), ], q(yba) => [ - q(7598), + q(7597), q(0), ], q(ybb) => [ - q(7599), + q(7598), q(0), ], q(ybe) => [ - q(7600), + q(7599), q(0), ], q(ybh) => [ - q(7601), + q(7600), q(0), ], q(ybi) => [ - q(7602), + q(7601), q(0), ], q(ybj) => [ - q(7603), + q(7602), q(0), ], q(ybk) => [ - q(7604), + q(7603), q(0), ], q(ybl) => [ - q(7605), + q(7604), q(0), ], q(ybm) => [ - q(7606), + q(7605), q(0), ], q(ybn) => [ - q(7607), + q(7606), q(0), ], q(ybo) => [ - q(7608), + q(7607), q(0), ], q(ybx) => [ - q(7609), + q(7608), q(0), ], q(yby) => [ - q(7610), + q(7609), q(0), ], q(ych) => [ - q(7611), + q(7610), q(0), ], q(ycl) => [ - q(7612), + q(7611), q(0), ], q(ycn) => [ - q(7613), + q(7612), q(0), ], q(ycp) => [ - q(7614), + q(7613), q(0), ], q(yda) => [ - q(7615), + q(7614), q(0), ], q(ydd) => [ - q(7616), + q(7615), q(0), ], q(yde) => [ - q(7617), + q(7616), q(0), ], q(ydg) => [ - q(7618), + q(7617), q(0), ], q(ydk) => [ - q(7619), + q(7618), q(0), ], q(yea) => [ - q(7620), + q(7619), q(0), ], q(yec) => [ - q(7621), + q(7620), q(0), ], q(yee) => [ - q(7622), + q(7621), q(0), ], q(yei) => [ - q(7623), + q(7622), q(0), ], q(yej) => [ - q(7624), + q(7623), q(0), ], q(yel) => [ - q(7625), + q(7624), q(0), ], q(yer) => [ - q(7626), + q(7625), q(0), ], q(yes) => [ - q(7627), + q(7626), q(0), ], q(yet) => [ - q(7628), + q(7627), q(0), ], q(yeu) => [ - q(7629), + q(7628), q(0), ], q(yev) => [ - q(7630), + q(7629), q(0), ], q(yey) => [ - q(7631), + q(7630), q(0), ], q(yga) => [ - q(7632), + q(7631), q(0), ], q(ygi) => [ - q(7633), + q(7632), q(0), ], q(ygl) => [ - q(7634), + q(7633), q(0), ], q(ygm) => [ - q(7635), + q(7634), q(0), ], q(ygp) => [ - q(7636), + q(7635), q(0), ], q(ygr) => [ - q(7637), + q(7636), q(0), ], q(ygs) => [ - q(7638), + q(7637), q(0), ], q(ygu) => [ - q(7639), + q(7638), q(0), ], q(ygw) => [ - q(7640), + q(7639), q(0), ], q(yha) => [ - q(7641), + q(7640), q(0), ], q(yhd) => [ - q(7642), + q(7641), q(0), ], q(yhl) => [ + q(7642), + q(0), + ], + q(yhs) => [ q(7643), q(0), ], @@ -88760,7 +88814,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = { q(0), ], q(yif) => [ - q(2657), + q(2656), q(0), ], q(yig) => [ @@ -94853,5076 +94907,5076 @@ $Locale::Codes::Data{'language'}{'id2code'} = { q(2571) => q(gng), q(2572) => q(gnh), q(2573) => q(gni), - q(2574) => q(gnk), + q(2574) => q(gnq), q(2575) => q(gnl), q(2576) => q(gnm), q(2577) => q(gnn), q(2578) => q(gno), - q(2579) => q(gnq), - q(2580) => q(gnr), - q(2581) => q(gnt), - q(2582) => q(gnu), - q(2583) => q(gnw), - q(2584) => q(gnz), - q(2585) => q(goa), - q(2586) => q(gob), - q(2587) => q(goc), - q(2588) => q(god), - q(2589) => q(goe), - q(2590) => q(gof), - q(2591) => q(gog), - q(2592) => q(goi), - q(2593) => q(goj), - q(2594) => q(gok), - q(2595) => q(gol), - q(2596) => q(gom), - q(2597) => q(goo), - q(2598) => q(gop), - q(2599) => q(goq), - q(2600) => q(gos), - q(2601) => q(gou), - q(2602) => q(gow), - q(2603) => q(gox), - q(2604) => q(goy), - q(2605) => q(goz), - q(2606) => q(gpa), - q(2607) => q(gpe), - q(2608) => q(gpn), - q(2609) => q(gqa), - q(2610) => q(gqi), - q(2611) => q(gqn), - q(2612) => q(gqr), - q(2613) => q(gqu), - q(2614) => q(gra), - q(2615) => q(grd), - q(2616) => q(grg), - q(2617) => q(grh), - q(2618) => q(gri), - q(2619) => q(grj), - q(2620) => q(grm), - q(2621) => q(gro), - q(2622) => q(grq), - q(2623) => q(grr), - q(2624) => q(grs), - q(2625) => q(grt), - q(2626) => q(gru), - q(2627) => q(grv), - q(2628) => q(grw), - q(2629) => q(grx), - q(2630) => q(gry), - q(2631) => q(grz), - q(2632) => q(gse), - q(2633) => q(gsg), - q(2634) => q(gsl), - q(2635) => q(gsm), - q(2636) => q(gsn), - q(2637) => q(gso), - q(2638) => q(gsp), - q(2639) => q(gss), - q(2640) => q(gta), - q(2641) => q(gtu), - q(2642) => q(gua), - q(2643) => q(gub), - q(2644) => q(guc), - q(2645) => q(gud), - q(2646) => q(gue), - q(2647) => q(guf), - q(2648) => q(gug), - q(2649) => q(guh), - q(2650) => q(gui), - q(2651) => q(guk), - q(2652) => q(gul), - q(2653) => q(gum), - q(2654) => q(gun), - q(2655) => q(guo), - q(2656) => q(gup), - q(2657) => q(yif), - q(2658) => q(gur), - q(2659) => q(gus), - q(2660) => q(gut), - q(2661) => q(guu), - q(2662) => q(guv), - q(2663) => q(guw), - q(2664) => q(gux), - q(2665) => q(guz), - q(2666) => q(gva), - q(2667) => q(gvc), - q(2668) => q(gve), - q(2669) => q(gvf), - q(2670) => q(gvj), - q(2671) => q(gvl), - q(2672) => q(gvm), - q(2673) => q(gvn), - q(2674) => q(gvo), - q(2675) => q(gvp), - q(2676) => q(gvr), - q(2677) => q(gvs), - q(2678) => q(gvy), - q(2679) => q(gwa), - q(2680) => q(gwb), - q(2681) => q(gwc), - q(2682) => q(gwd), - q(2683) => q(gwe), - q(2684) => q(gwf), - q(2685) => q(gwg), - q(2686) => q(gwj), - q(2687) => q(gwm), - q(2688) => q(gwn), - q(2689) => q(gwr), - q(2690) => q(gwt), - q(2691) => q(gwu), - q(2692) => q(gww), - q(2693) => q(gwx), - q(2694) => q(gxx), - q(2695) => q(gya), - q(2696) => q(gyb), - q(2697) => q(gyd), - q(2698) => q(gye), - q(2699) => q(gyf), - q(2700) => q(gyg), - q(2701) => q(gyi), - q(2702) => q(gyl), - q(2703) => q(gym), - q(2704) => q(gyn), - q(2705) => q(gyr), - q(2706) => q(gyy), - q(2707) => q(gza), - q(2708) => q(gzi), - q(2709) => q(gzn), - q(2710) => q(haa), - q(2711) => q(hab), - q(2712) => q(hac), - q(2713) => q(had), - q(2714) => q(hae), - q(2715) => q(haf), - q(2716) => q(hag), - q(2717) => q(hah), - q(2718) => q(haj), - q(2719) => q(hak), - q(2720) => q(hal), - q(2721) => q(ham), - q(2722) => q(han), - q(2723) => q(hao), - q(2724) => q(hap), - q(2725) => q(haq), - q(2726) => q(har), - q(2727) => q(has), - q(2728) => q(hav), - q(2729) => q(hax), - q(2730) => q(hay), - q(2731) => q(haz), - q(2732) => q(hba), - q(2733) => q(hbb), - q(2734) => q(hbn), - q(2735) => q(hbo), - q(2736) => q(hbu), - q(2737) => q(hca), - q(2738) => q(hch), - q(2739) => q(hdn), - q(2740) => q(hds), - q(2741) => q(hdy), - q(2742) => q(hea), - q(2743) => q(hed), - q(2744) => q(heg), - q(2745) => q(heh), - q(2746) => q(hei), - q(2747) => q(hem), - q(2748) => q(hgm), - q(2749) => q(hgw), - q(2750) => q(hhi), - q(2751) => q(hhr), - q(2752) => q(hhy), - q(2753) => q(hia), - q(2754) => q(hib), - q(2755) => q(hid), - q(2756) => q(hif), - q(2757) => q(hig), - q(2758) => q(hih), - q(2759) => q(hii), - q(2760) => q(hij), - q(2761) => q(hik), - q(2762) => q(hio), - q(2763) => q(hir), - q(2764) => q(hiw), - q(2765) => q(hix), - q(2766) => q(hji), - q(2767) => q(hka), - q(2768) => q(hke), - q(2769) => q(hkk), - q(2770) => q(hks), - q(2771) => q(hla), - q(2772) => q(hlb), - q(2773) => q(hld), - q(2774) => q(hle), - q(2775) => q(hlt), - q(2776) => q(hlu), - q(2777) => q(hma), - q(2778) => q(hmb), - q(2779) => q(hmc), - q(2780) => q(hmd), - q(2781) => q(hme), - q(2782) => q(hmf), - q(2783) => q(hmg), - q(2784) => q(hmh), - q(2785) => q(hmi), - q(2786) => q(hmj), - q(2787) => q(hmk), - q(2788) => q(hml), - q(2789) => q(hmm), - q(2790) => q(hmp), - q(2791) => q(hmq), - q(2792) => q(hmr), - q(2793) => q(hms), - q(2794) => q(hmt), - q(2795) => q(hmu), - q(2796) => q(hmv), - q(2797) => q(hmw), - q(2798) => q(hmy), - q(2799) => q(hmz), - q(2800) => q(hna), - q(2801) => q(hnd), - q(2802) => q(hne), - q(2803) => q(hnh), - q(2804) => q(hni), - q(2805) => q(hnj), - q(2806) => q(hnn), - q(2807) => q(hno), - q(2808) => q(hns), - q(2809) => q(hnu), - q(2810) => q(hoa), - q(2811) => q(hob), - q(2812) => q(hoc), - q(2813) => q(hod), - q(2814) => q(hoe), - q(2815) => q(hoh), - q(2816) => q(hoi), - q(2817) => q(hoj), - q(2818) => q(hol), - q(2819) => q(hom), - q(2820) => q(hoo), - q(2821) => q(hop), - q(2822) => q(hor), - q(2823) => q(hos), - q(2824) => q(hot), - q(2825) => q(hov), - q(2826) => q(how), - q(2827) => q(hoy), - q(2828) => q(hoz), - q(2829) => q(hpo), - q(2830) => q(hps), - q(2831) => q(hra), - q(2832) => q(hrc), - q(2833) => q(hre), - q(2834) => q(hrk), - q(2835) => q(hrm), - q(2836) => q(hro), - q(2837) => q(hrp), - q(2838) => q(hrt), - q(2839) => q(hru), - q(2840) => q(hrw), - q(2841) => q(hrx), - q(2842) => q(hrz), - q(2843) => q(hsh), - q(2844) => q(hsl), - q(2845) => q(hsn), - q(2846) => q(hss), - q(2847) => q(hti), - q(2848) => q(hto), - q(2849) => q(hts), - q(2850) => q(htu), - q(2851) => q(htx), - q(2852) => q(hub), - q(2853) => q(huc), - q(2854) => q(hud), - q(2855) => q(hue), - q(2856) => q(huf), - q(2857) => q(hug), - q(2858) => q(huh), - q(2859) => q(hui), - q(2860) => q(huj), - q(2861) => q(huk), - q(2862) => q(hul), - q(2863) => q(hum), - q(2864) => q(huo), - q(2865) => q(huq), - q(2866) => q(hur), - q(2867) => q(hus), - q(2868) => q(hut), - q(2869) => q(huu), - q(2870) => q(huv), - q(2871) => q(huw), - q(2872) => q(hux), - q(2873) => q(huy), - q(2874) => q(huz), - q(2875) => q(hvc), - q(2876) => q(hve), - q(2877) => q(hvk), - q(2878) => q(hvn), - q(2879) => q(hvv), - q(2880) => q(hwa), - q(2881) => q(hwc), - q(2882) => q(hwo), - q(2883) => q(hya), - q(2884) => q(iai), - q(2885) => q(ian), - q(2886) => q(iap), - q(2887) => q(iar), - q(2888) => q(ibb), - q(2889) => q(ibd), - q(2890) => q(ibe), - q(2891) => q(ibg), - q(2892) => q(ibl), - q(2893) => q(ibm), - q(2894) => q(ibn), - q(2895) => q(ibr), - q(2896) => q(ibu), - q(2897) => q(iby), - q(2898) => q(ica), - q(2899) => q(ich), - q(2900) => q(icl), - q(2901) => q(icr), - q(2902) => q(ida), - q(2903) => q(idb), - q(2904) => q(idc), - q(2905) => q(idd), - q(2906) => q(ide), - q(2907) => q(idi), - q(2908) => q(idr), - q(2909) => q(ids), - q(2910) => q(idt), - q(2911) => q(idu), - q(2912) => q(ifa), - q(2913) => q(ifb), - q(2914) => q(ife), - q(2915) => q(iff), - q(2916) => q(ifk), - q(2917) => q(ifm), - q(2918) => q(ifu), - q(2919) => q(ify), - q(2920) => q(igb), - q(2921) => q(ige), - q(2922) => q(igg), - q(2923) => q(igl), - q(2924) => q(igm), - q(2925) => q(ign), - q(2926) => q(igo), - q(2927) => q(igs), - q(2928) => q(igw), - q(2929) => q(ihb), - q(2930) => q(ihi), - q(2931) => q(ihp), - q(2932) => q(ihw), - q(2933) => q(iin), - q(2934) => q(ijc), - q(2935) => q(ije), - q(2936) => q(ijj), - q(2937) => q(ijn), - q(2938) => q(ijs), - q(2939) => q(ike), - q(2940) => q(iki), - q(2941) => q(ikk), - q(2942) => q(ikl), - q(2943) => q(iko), - q(2944) => q(ikp), - q(2945) => q(ikr), - q(2946) => q(iks), - q(2947) => q(ikt), - q(2948) => q(ikv), - q(2949) => q(ikw), - q(2950) => q(ikx), - q(2951) => q(ikz), - q(2952) => q(ila), - q(2953) => q(ilb), - q(2954) => q(ilg), - q(2955) => q(ili), - q(2956) => q(ilk), - q(2957) => q(ill), - q(2958) => q(ils), - q(2959) => q(ilu), - q(2960) => q(ilv), - q(2961) => q(ima), - q(2962) => q(imi), - q(2963) => q(iml), - q(2964) => q(imn), - q(2965) => q(imo), - q(2966) => q(imr), - q(2967) => q(ims), - q(2968) => q(imy), - q(2969) => q(inb), - q(2970) => q(ing), - q(2971) => q(inj), - q(2972) => q(inl), - q(2973) => q(inm), - q(2974) => q(inn), - q(2975) => q(ino), - q(2976) => q(inp), - q(2977) => q(ins), - q(2978) => q(int), - q(2979) => q(inz), - q(2980) => q(ior), - q(2981) => q(iou), - q(2982) => q(iow), - q(2983) => q(ipi), - q(2984) => q(ipo), - q(2985) => q(iqu), - q(2986) => q(iqw), - q(2987) => q(ire), - q(2988) => q(irh), - q(2989) => q(iri), - q(2990) => q(irk), - q(2991) => q(irn), - q(2992) => q(irr), - q(2993) => q(iru), - q(2994) => q(irx), - q(2995) => q(iry), - q(2996) => q(isa), - q(2997) => q(isc), - q(2998) => q(isd), - q(2999) => q(ise), - q(3000) => q(isg), - q(3001) => q(ish), - q(3002) => q(isi), - q(3003) => q(isk), - q(3004) => q(ism), - q(3005) => q(isn), - q(3006) => q(iso), - q(3007) => q(isr), - q(3008) => q(ist), - q(3009) => q(isu), - q(3010) => q(itb), - q(3011) => q(ite), - q(3012) => q(iti), - q(3013) => q(itk), - q(3014) => q(itl), - q(3015) => q(itm), - q(3016) => q(ito), - q(3017) => q(itr), - q(3018) => q(its), - q(3019) => q(itt), - q(3020) => q(itv), - q(3021) => q(itw), - q(3022) => q(itx), - q(3023) => q(ity), - q(3024) => q(itz), - q(3025) => q(ium), - q(3026) => q(ivb), - q(3027) => q(ivv), - q(3028) => q(iwk), - q(3029) => q(iwm), - q(3030) => q(iwo), - q(3031) => q(iws), - q(3032) => q(ixc), - q(3033) => q(ixl), - q(3034) => q(iya), - q(3035) => q(iyo), - q(3036) => q(iyx), - q(3037) => q(izh), - q(3038) => q(izr), - q(3039) => q(izz), - q(3040) => q(jaa), - q(3041) => q(jab), - q(3042) => q(jac), - q(3043) => q(jad), - q(3044) => q(jae), - q(3045) => q(jaf), - q(3046) => q(jah), - q(3047) => q(jaj), - q(3048) => q(jak), - q(3049) => q(jal), - q(3050) => q(jam), - q(3051) => q(jan), - q(3052) => q(jao), - q(3053) => q(jaq), - q(3054) => q(jas), - q(3055) => q(jat), - q(3056) => q(jau), - q(3057) => q(jax), - q(3058) => q(jay), - q(3059) => q(jaz), - q(3060) => q(jbe), - q(3061) => q(jbi), - q(3062) => q(jbj), - q(3063) => q(jbk), - q(3064) => q(jbn), - q(3065) => q(jbr), - q(3066) => q(jbt), - q(3067) => q(jbu), - q(3068) => q(jbw), - q(3069) => q(jcs), - q(3070) => q(jct), - q(3071) => q(jda), - q(3072) => q(jdg), - q(3073) => q(jdt), - q(3074) => q(jeb), - q(3075) => q(jee), - q(3076) => q(jeg), - q(3077) => q(jeh), - q(3078) => q(jei), - q(3079) => q(jek), - q(3080) => q(jel), - q(3081) => q(jen), - q(3082) => q(jer), - q(3083) => q(jet), - q(3084) => q(jeu), - q(3085) => q(jgb), - q(3086) => q(jge), - q(3087) => q(jgk), - q(3088) => q(jgo), - q(3089) => q(jhi), - q(3090) => q(jhs), - q(3091) => q(jia), - q(3092) => q(jib), - q(3093) => q(jic), - q(3094) => q(jid), - q(3095) => q(jie), - q(3096) => q(jig), - q(3097) => q(jih), - q(3098) => q(jii), - q(3099) => q(jil), - q(3100) => q(jim), - q(3101) => q(jio), - q(3102) => q(jiq), - q(3103) => q(jit), - q(3104) => q(jiu), - q(3105) => q(jiv), - q(3106) => q(jiy), - q(3107) => q(jje), - q(3108) => q(jjr), - q(3109) => q(jkm), - q(3110) => q(jko), - q(3111) => q(jkp), - q(3112) => q(jkr), - q(3113) => q(jku), - q(3114) => q(jle), - q(3115) => q(jls), - q(3116) => q(jma), - q(3117) => q(jmb), - q(3118) => q(jmc), - q(3119) => q(jmd), - q(3120) => q(jmi), - q(3121) => q(jml), - q(3122) => q(jmn), - q(3123) => q(jmr), - q(3124) => q(jms), - q(3125) => q(jmw), - q(3126) => q(jmx), - q(3127) => q(jna), - q(3128) => q(jnd), - q(3129) => q(jng), - q(3130) => q(jni), - q(3131) => q(jnj), - q(3132) => q(jnl), - q(3133) => q(jns), - q(3134) => q(job), - q(3135) => q(jod), - q(3136) => q(jor), - q(3137) => q(jos), - q(3138) => q(jow), - q(3139) => q(jpa), - q(3140) => q(jqr), - q(3141) => q(jra), - q(3142) => q(jrr), - q(3143) => q(jrt), - q(3144) => q(jru), - q(3145) => q(jsl), - q(3146) => q(jua), - q(3147) => q(jub), - q(3148) => q(juc), - q(3149) => q(jud), - q(3150) => q(juh), - q(3151) => q(jui), - q(3152) => q(juk), - q(3153) => q(jul), - q(3154) => q(jum), - q(3155) => q(jun), - q(3156) => q(juo), - q(3157) => q(jup), - q(3158) => q(jur), - q(3159) => q(jus), - q(3160) => q(jut), - q(3161) => q(juu), - q(3162) => q(juw), - q(3163) => q(juy), - q(3164) => q(jvd), - q(3165) => q(jvn), - q(3166) => q(jwi), - q(3167) => q(jya), - q(3168) => q(jye), - q(3169) => q(jyy), - q(3170) => q(kad), - q(3171) => q(kae), - q(3172) => q(kaf), - q(3173) => q(kag), - q(3174) => q(kah), - q(3175) => q(kai), - q(3176) => q(kaj), - q(3177) => q(kak), - q(3178) => q(kao), - q(3179) => q(kap), - q(3180) => q(kaq), - q(3181) => q(kav), - q(3182) => q(kax), - q(3183) => q(kay), - q(3184) => q(kba), - q(3185) => q(kbb), - q(3186) => q(kbc), - q(3187) => q(kbe), - q(3188) => q(kbg), - q(3189) => q(kbh), - q(3190) => q(kbi), - q(3191) => q(kbj), - q(3192) => q(kbk), - q(3193) => q(kbl), - q(3194) => q(kbm), - q(3195) => q(kbn), - q(3196) => q(kbo), - q(3197) => q(kbp), - q(3198) => q(kbq), - q(3199) => q(kbr), - q(3200) => q(kbs), - q(3201) => q(kbt), - q(3202) => q(kbu), - q(3203) => q(kbv), - q(3204) => q(kbw), - q(3205) => q(kbx), - q(3206) => q(kby), - q(3207) => q(kbz), - q(3208) => q(kca), - q(3209) => q(kcb), - q(3210) => q(kcc), - q(3211) => q(kcd), - q(3212) => q(kce), - q(3213) => q(kcf), - q(3214) => q(kcg), - q(3215) => q(kch), - q(3216) => q(kci), - q(3217) => q(kcj), - q(3218) => q(kck), - q(3219) => q(kcl), - q(3220) => q(kcm), - q(3221) => q(kcn), - q(3222) => q(kco), - q(3223) => q(kcp), - q(3224) => q(kcq), - q(3225) => q(kcr), - q(3226) => q(kcs), - q(3227) => q(kct), - q(3228) => q(kcu), - q(3229) => q(kcv), - q(3230) => q(kcw), - q(3231) => q(kcx), - q(3232) => q(kcy), - q(3233) => q(kcz), - q(3234) => q(kda), - q(3235) => q(kdc), - q(3236) => q(kdd), - q(3237) => q(kde), - q(3238) => q(kdf), - q(3239) => q(kdg), - q(3240) => q(kdh), - q(3241) => q(kdi), - q(3242) => q(kdj), - q(3243) => q(kdk), - q(3244) => q(kdl), - q(3245) => q(kdm), - q(3246) => q(kdn), - q(3247) => q(kdp), - q(3248) => q(kdq), - q(3249) => q(kdr), - q(3250) => q(kdt), - q(3251) => q(kdu), - q(3252) => q(kdw), - q(3253) => q(kdx), - q(3254) => q(kdy), - q(3255) => q(kdz), - q(3256) => q(kea), - q(3257) => q(keb), - q(3258) => q(kec), - q(3259) => q(ked), - q(3260) => q(kee), - q(3261) => q(kef), - q(3262) => q(keg), - q(3263) => q(keh), - q(3264) => q(kei), - q(3265) => q(kej), - q(3266) => q(kek), - q(3267) => q(kel), - q(3268) => q(kem), - q(3269) => q(ken), - q(3270) => q(keo), - q(3271) => q(kep), - q(3272) => q(keq), - q(3273) => q(ker), - q(3274) => q(kes), - q(3275) => q(ket), - q(3276) => q(keu), - q(3277) => q(kev), - q(3278) => q(kew), - q(3279) => q(kex), - q(3280) => q(key), - q(3281) => q(kez), - q(3282) => q(kfa), - q(3283) => q(kfb), - q(3284) => q(kfc), - q(3285) => q(kfd), - q(3286) => q(kfe), - q(3287) => q(kff), - q(3288) => q(kfg), - q(3289) => q(kfh), - q(3290) => q(kfi), - q(3291) => q(kfj), - q(3292) => q(kfk), - q(3293) => q(kfl), - q(3294) => q(kfm), - q(3295) => q(kfn), - q(3296) => q(kfo), - q(3297) => q(kfp), - q(3298) => q(kfq), - q(3299) => q(kfr), - q(3300) => q(kfs), - q(3301) => q(kft), - q(3302) => q(kfu), - q(3303) => q(kfv), - q(3304) => q(kfw), - q(3305) => q(kfx), - q(3306) => q(kfy), - q(3307) => q(kfz), - q(3308) => q(kga), - q(3309) => q(kgb), - q(3310) => q(kgc), - q(3311) => q(kgd), - q(3312) => q(kge), - q(3313) => q(kgf), - q(3314) => q(kgg), - q(3315) => q(kgi), - q(3316) => q(kgj), - q(3317) => q(kgk), - q(3318) => q(kgl), - q(3319) => q(kuq), - q(3320) => q(kgn), - q(3321) => q(kgo), - q(3322) => q(kgp), - q(3323) => q(kgq), - q(3324) => q(kgr), - q(3325) => q(kgs), - q(3326) => q(kgt), - q(3327) => q(kgu), - q(3328) => q(kgv), - q(3329) => q(kgw), - q(3330) => q(kgx), - q(3331) => q(kgy), - q(3332) => q(khb), - q(3333) => q(khc), - q(3334) => q(khd), - q(3335) => q(khe), - q(3336) => q(khf), - q(3337) => q(khg), - q(3338) => q(khh), - q(3339) => q(khj), - q(3340) => q(khk), - q(3341) => q(khl), - q(3342) => q(khn), - q(3343) => q(khp), - q(3344) => q(khq), - q(3345) => q(khr), - q(3346) => q(khs), - q(3347) => q(kht), - q(3348) => q(khu), - q(3349) => q(khv), - q(3350) => q(khw), - q(3351) => q(khx), - q(3352) => q(khy), - q(3353) => q(khz), - q(3354) => q(kia), - q(3355) => q(kib), - q(3356) => q(kic), - q(3357) => q(kid), - q(3358) => q(kie), - q(3359) => q(kif), - q(3360) => q(kig), - q(3361) => q(kih), - q(3362) => q(kii), - q(3363) => q(kij), - q(3364) => q(kil), - q(3365) => q(kim), - q(3366) => q(kio), - q(3367) => q(kip), - q(3368) => q(kiq), - q(3369) => q(kis), - q(3370) => q(kit), - q(3371) => q(kiu), - q(3372) => q(kiv), - q(3373) => q(kiw), - q(3374) => q(kix), - q(3375) => q(kiy), - q(3376) => q(kiz), - q(3377) => q(kja), - q(3378) => q(kjb), - q(3379) => q(kjc), - q(3380) => q(kjd), - q(3381) => q(kje), - q(3382) => q(kjf), - q(3383) => q(kjg), - q(3384) => q(kjh), - q(3385) => q(kji), - q(3386) => q(kjj), - q(3387) => q(kjk), - q(3388) => q(kjl), - q(3389) => q(kjm), - q(3390) => q(kjn), - q(3391) => q(kjo), - q(3392) => q(kjp), - q(3393) => q(kjq), - q(3394) => q(kjr), - q(3395) => q(kjs), - q(3396) => q(kjt), - q(3397) => q(kju), - q(3398) => q(kjv), - q(3399) => q(kjx), - q(3400) => q(kjy), - q(3401) => q(kjz), - q(3402) => q(kka), - q(3403) => q(kkb), - q(3404) => q(kkc), - q(3405) => q(kkd), - q(3406) => q(kke), - q(3407) => q(kkf), - q(3408) => q(kkg), - q(3409) => q(kkh), - q(3410) => q(kki), - q(3411) => q(kkj), - q(3412) => q(kkk), - q(3413) => q(kkl), - q(3414) => q(kkm), - q(3415) => q(kkn), - q(3416) => q(kko), - q(3417) => q(kkp), - q(3418) => q(kkq), - q(3419) => q(kkr), - q(3420) => q(kks), - q(3421) => q(kkt), - q(3422) => q(kku), - q(3423) => q(kkv), - q(3424) => q(kkw), - q(3425) => q(kkx), - q(3426) => q(kky), - q(3427) => q(kkz), - q(3428) => q(kla), - q(3429) => q(klb), - q(3430) => q(klc), - q(3431) => q(kld), - q(3432) => q(kle), - q(3433) => q(klf), - q(3434) => q(klg), - q(3435) => q(klh), - q(3436) => q(kli), - q(3437) => q(klj), - q(3438) => q(klk), - q(3439) => q(kll), - q(3440) => q(klm), - q(3441) => q(kln), - q(3442) => q(klo), - q(3443) => q(klp), - q(3444) => q(klq), - q(3445) => q(klr), - q(3446) => q(kls), - q(3447) => q(klt), - q(3448) => q(klu), - q(3449) => q(klv), - q(3450) => q(klw), - q(3451) => q(klx), - q(3452) => q(kly), - q(3453) => q(klz), - q(3454) => q(kma), - q(3455) => q(kmc), - q(3456) => q(kmd), - q(3457) => q(kme), - q(3458) => q(kmf), - q(3459) => q(kmg), - q(3460) => q(kmh), - q(3461) => q(kmi), - q(3462) => q(kmj), - q(3463) => q(kmk), - q(3464) => q(kml), - q(3465) => q(kmm), - q(3466) => q(kmn), - q(3467) => q(kmo), - q(3468) => q(kmp), - q(3469) => q(kmq), - q(3470) => q(kmr), - q(3471) => q(kms), - q(3472) => q(kmt), - q(3473) => q(kmu), - q(3474) => q(kmv), - q(3475) => q(kmw), - q(3476) => q(kmx), - q(3477) => q(kmy), - q(3478) => q(kmz), - q(3479) => q(kna), - q(3480) => q(knb), - q(3481) => q(knc), - q(3482) => q(knd), - q(3483) => q(kne), - q(3484) => q(knf), - q(3485) => q(kng), - q(3486) => q(kni), - q(3487) => q(knj), - q(3488) => q(knk), - q(3489) => q(knl), - q(3490) => q(knm), - q(3491) => q(knn), - q(3492) => q(kno), - q(3493) => q(knp), - q(3494) => q(knq), - q(3495) => q(knr), - q(3496) => q(kns), - q(3497) => q(knt), - q(3498) => q(knu), - q(3499) => q(knv), - q(3500) => q(knw), - q(3501) => q(knx), - q(3502) => q(kny), - q(3503) => q(knz), - q(3504) => q(koa), - q(3505) => q(koc), - q(3506) => q(kod), - q(3507) => q(koe), - q(3508) => q(kof), - q(3509) => q(kog), - q(3510) => q(koh), - q(3511) => q(koi), - q(3512) => q(kol), - q(3513) => q(koo), - q(3514) => q(kop), - q(3515) => q(koq), - q(3516) => q(kot), - q(3517) => q(kou), - q(3518) => q(kov), - q(3519) => q(kow), - q(3520) => q(kox), - q(3521) => q(koy), - q(3522) => q(koz), - q(3523) => q(kpa), - q(3524) => q(kpb), - q(3525) => q(kpc), - q(3526) => q(kpd), - q(3527) => q(kpf), - q(3528) => q(kpg), - q(3529) => q(kph), - q(3530) => q(kpi), - q(3531) => q(kpj), - q(3532) => q(kpk), - q(3533) => q(kpl), - q(3534) => q(kpm), - q(3535) => q(kpn), - q(3536) => q(kpo), - q(3537) => q(kpq), - q(3538) => q(kpr), - q(3539) => q(kps), - q(3540) => q(kpt), - q(3541) => q(kpu), - q(3542) => q(kpv), - q(3543) => q(kpw), - q(3544) => q(kpx), - q(3545) => q(kpy), - q(3546) => q(kpz), - q(3547) => q(kqa), - q(3548) => q(kqb), - q(3549) => q(kqc), - q(3550) => q(kqd), - q(3551) => q(kqe), - q(3552) => q(kqf), - q(3553) => q(kqg), - q(3554) => q(kqh), - q(3555) => q(kqi), - q(3556) => q(kqj), - q(3557) => q(kqk), - q(3558) => q(kql), - q(3559) => q(kqm), - q(3560) => q(kqn), - q(3561) => q(kqo), - q(3562) => q(kqp), - q(3563) => q(kqq), - q(3564) => q(kqr), - q(3565) => q(kqs), - q(3566) => q(kqt), - q(3567) => q(kqu), - q(3568) => q(kqv), - q(3569) => q(kqw), - q(3570) => q(kqx), - q(3571) => q(kqy), - q(3572) => q(kqz), - q(3573) => q(kra), - q(3574) => q(krb), - q(3575) => q(krd), - q(3576) => q(kre), - q(3577) => q(krf), - q(3578) => q(krh), - q(3579) => q(kri), - q(3580) => q(krj), - q(3581) => q(krk), - q(3582) => q(krm), - q(3583) => q(krn), - q(3584) => q(krp), - q(3585) => q(krr), - q(3586) => q(krs), - q(3587) => q(krt), - q(3588) => q(krv), - q(3589) => q(krw), - q(3590) => q(krx), - q(3591) => q(kry), - q(3592) => q(krz), - q(3593) => q(ksa), - q(3594) => q(ksb), - q(3595) => q(ksc), - q(3596) => q(ksd), - q(3597) => q(kse), - q(3598) => q(ksf), - q(3599) => q(ksg), - q(3600) => q(ksh), - q(3601) => q(ksi), - q(3602) => q(ksj), - q(3603) => q(ksk), - q(3604) => q(ksl), - q(3605) => q(ksm), - q(3606) => q(ksn), - q(3607) => q(kso), - q(3608) => q(ksp), - q(3609) => q(ksq), - q(3610) => q(ksr), - q(3611) => q(kss), - q(3612) => q(kst), - q(3613) => q(ksu), - q(3614) => q(ksv), - q(3615) => q(ksw), - q(3616) => q(ksx), - q(3617) => q(ksy), - q(3618) => q(ksz), - q(3619) => q(kta), - q(3620) => q(ktb), - q(3621) => q(ktc), - q(3622) => q(ktd), - q(3623) => q(kte), - q(3624) => q(ktf), - q(3625) => q(ktg), - q(3626) => q(kth), - q(3627) => q(kti), - q(3628) => q(ktj), - q(3629) => q(ktk), - q(3630) => q(ktl), - q(3631) => q(ktm), - q(3632) => q(ktn), - q(3633) => q(kto), - q(3634) => q(ktp), - q(3635) => q(ktq), - q(3636) => q(ktr), - q(3637) => q(kts), - q(3638) => q(ktt), - q(3639) => q(ktu), - q(3640) => q(ktv), - q(3641) => q(ktw), - q(3642) => q(ktx), - q(3643) => q(kty), - q(3644) => q(ktz), - q(3645) => q(kub), - q(3646) => q(kuc), - q(3647) => q(kud), - q(3648) => q(kue), - q(3649) => q(kuf), - q(3650) => q(kug), - q(3651) => q(kuh), - q(3652) => q(kui), - q(3653) => q(kuj), - q(3654) => q(kuk), - q(3655) => q(kul), - q(3656) => q(kun), - q(3657) => q(kuo), - q(3658) => q(kup), - q(3659) => q(kus), - q(3660) => q(kuu), - q(3661) => q(kuv), - q(3662) => q(kuw), - q(3663) => q(kux), - q(3664) => q(kuy), - q(3665) => q(kuz), - q(3666) => q(kva), - q(3667) => q(kvb), - q(3668) => q(kvc), - q(3669) => q(kvd), - q(3670) => q(kve), - q(3671) => q(kvf), - q(3672) => q(kvg), - q(3673) => q(kvh), - q(3674) => q(kvi), - q(3675) => q(kvj), - q(3676) => q(kvk), - q(3677) => q(kvl), - q(3678) => q(kvm), - q(3679) => q(kvn), - q(3680) => q(kvo), - q(3681) => q(kvp), - q(3682) => q(kvq), - q(3683) => q(kvr), - q(3684) => q(kvs), - q(3685) => q(kvt), - q(3686) => q(kvu), - q(3687) => q(kvv), - q(3688) => q(kvw), - q(3689) => q(kvx), - q(3690) => q(kvy), - q(3691) => q(kvz), - q(3692) => q(kwa), - q(3693) => q(kwb), - q(3694) => q(kwc), - q(3695) => q(kwd), - q(3696) => q(kwe), - q(3697) => q(kwf), - q(3698) => q(kwg), - q(3699) => q(kwh), - q(3700) => q(kwi), - q(3701) => q(kwj), - q(3702) => q(kwk), - q(3703) => q(kwl), - q(3704) => q(kwm), - q(3705) => q(kwn), - q(3706) => q(kwo), - q(3707) => q(kwp), - q(3708) => q(kwr), - q(3709) => q(kws), - q(3710) => q(kwt), - q(3711) => q(kwu), - q(3712) => q(kwv), - q(3713) => q(kww), - q(3714) => q(kwx), - q(3715) => q(kwy), - q(3716) => q(kwz), - q(3717) => q(kxa), - q(3718) => q(kxb), - q(3719) => q(kxc), - q(3720) => q(kxd), - q(3721) => q(kxf), - q(3722) => q(kxh), - q(3723) => q(kxi), - q(3724) => q(kxj), - q(3725) => q(kxk), - q(3726) => q(kxl), - q(3727) => q(kxm), - q(3728) => q(kxn), - q(3729) => q(kxo), - q(3730) => q(kxp), - q(3731) => q(kxq), - q(3732) => q(kxr), - q(3733) => q(kxs), - q(3734) => q(kxt), - q(3735) => q(kxu), - q(3736) => q(kxv), - q(3737) => q(kxw), - q(3738) => q(kxx), - q(3739) => q(kxy), - q(3740) => q(kxz), - q(3741) => q(kya), - q(3742) => q(kyb), - q(3743) => q(kyc), - q(3744) => q(kyd), - q(3745) => q(kye), - q(3746) => q(kyf), - q(3747) => q(kyg), - q(3748) => q(kyh), - q(3749) => q(kyi), - q(3750) => q(kyj), - q(3751) => q(kyk), - q(3752) => q(kyl), - q(3753) => q(kym), - q(3754) => q(kyn), - q(3755) => q(kyo), - q(3756) => q(kyp), - q(3757) => q(kyq), - q(3758) => q(kyr), - q(3759) => q(kys), - q(3760) => q(kyt), - q(3761) => q(kyu), - q(3762) => q(kyv), - q(3763) => q(kyw), - q(3764) => q(kyx), - q(3765) => q(kyy), - q(3766) => q(kyz), - q(3767) => q(kza), - q(3768) => q(kzb), - q(3769) => q(kzc), - q(3770) => q(kzd), - q(3771) => q(kze), - q(3772) => q(kzf), - q(3773) => q(kzg), - q(3774) => q(kzi), - q(3775) => q(kzj), - q(3776) => q(kzk), - q(3777) => q(kzl), - q(3778) => q(kzm), - q(3779) => q(kzn), - q(3780) => q(kzo), - q(3781) => q(kzp), - q(3782) => q(kzq), - q(3783) => q(kzr), - q(3784) => q(kzs), - q(3785) => q(kzt), - q(3786) => q(kzu), - q(3787) => q(kzv), - q(3788) => q(kzw), - q(3789) => q(kzx), - q(3790) => q(kzy), - q(3791) => q(kzz), - q(3792) => q(laa), - q(3793) => q(lab), - q(3794) => q(lac), - q(3795) => q(lae), - q(3796) => q(laf), - q(3797) => q(lag), - q(3798) => q(lai), - q(3799) => q(laj), - q(3800) => q(lak), - q(3801) => q(lal), - q(3802) => q(lan), - q(3803) => q(lap), - q(3804) => q(laq), - q(3805) => q(lar), - q(3806) => q(las), - q(3807) => q(lau), - q(3808) => q(law), - q(3809) => q(lax), - q(3810) => q(lay), - q(3811) => q(laz), - q(3812) => q(lba), - q(3813) => q(lbb), - q(3814) => q(lbc), - q(3815) => q(lbe), - q(3816) => q(lbf), - q(3817) => q(lbg), - q(3818) => q(lbi), - q(3819) => q(lbj), - q(3820) => q(lbk), - q(3821) => q(lbl), - q(3822) => q(lbm), - q(3823) => q(lbn), - q(3824) => q(lbo), - q(3825) => q(lbq), - q(3826) => q(lbr), - q(3827) => q(lbs), - q(3828) => q(lbt), - q(3829) => q(lbu), - q(3830) => q(lbv), - q(3831) => q(lbw), - q(3832) => q(lbx), - q(3833) => q(lby), - q(3834) => q(lbz), - q(3835) => q(lcc), - q(3836) => q(lcd), - q(3837) => q(lce), - q(3838) => q(lcf), - q(3839) => q(lch), - q(3840) => q(lcl), - q(3841) => q(lcm), - q(3842) => q(lcp), - q(3843) => q(lcq), - q(3844) => q(lcs), - q(3845) => q(lda), - q(3846) => q(ldb), - q(3847) => q(ldd), - q(3848) => q(ldg), - q(3849) => q(ldh), - q(3850) => q(ldi), - q(3851) => q(ldj), - q(3852) => q(ldk), - q(3853) => q(ldl), - q(3854) => q(ldm), - q(3855) => q(ldn), - q(3856) => q(ldo), - q(3857) => q(ldp), - q(3858) => q(ldq), - q(3859) => q(lea), - q(3860) => q(leb), - q(3861) => q(lec), - q(3862) => q(led), - q(3863) => q(lee), - q(3864) => q(lef), - q(3865) => q(leh), - q(3866) => q(lei), - q(3867) => q(lej), - q(3868) => q(lek), - q(3869) => q(lel), - q(3870) => q(lem), - q(3871) => q(len), - q(3872) => q(leo), - q(3873) => q(lep), - q(3874) => q(leq), - q(3875) => q(ler), - q(3876) => q(les), - q(3877) => q(let), - q(3878) => q(leu), - q(3879) => q(lev), - q(3880) => q(lew), - q(3881) => q(lex), - q(3882) => q(ley), - q(3883) => q(lfa), - q(3884) => q(lfn), - q(3885) => q(lga), - q(3886) => q(lgb), - q(3887) => q(lgg), - q(3888) => q(lgh), - q(3889) => q(lgi), - q(3890) => q(lgk), - q(3891) => q(lgl), - q(3892) => q(lgm), - q(3893) => q(lgn), - q(3894) => q(lgq), - q(3895) => q(lgr), - q(3896) => q(lgt), - q(3897) => q(lgu), - q(3898) => q(lgz), - q(3899) => q(lha), - q(3900) => q(lhh), - q(3901) => q(lhi), - q(3902) => q(lhl), - q(3903) => q(lhm), - q(3904) => q(lhn), - q(3905) => q(lhp), - q(3906) => q(lhs), - q(3907) => q(lht), - q(3908) => q(lhu), - q(3909) => q(lia), - q(3910) => q(lib), - q(3911) => q(lic), - q(3912) => q(lid), - q(3913) => q(lie), - q(3914) => q(lif), - q(3915) => q(lig), - q(3916) => q(lih), - q(3917) => q(lij), - q(3918) => q(lik), - q(3919) => q(lil), - q(3920) => q(lio), - q(3921) => q(lip), - q(3922) => q(liq), - q(3923) => q(lir), - q(3924) => q(lis), - q(3925) => q(liu), - q(3926) => q(liv), - q(3927) => q(liw), - q(3928) => q(lix), - q(3929) => q(liy), - q(3930) => q(liz), - q(3931) => q(lja), - q(3932) => q(lje), - q(3933) => q(lji), - q(3934) => q(ljl), - q(3935) => q(ljp), - q(3936) => q(ljw), - q(3937) => q(ljx), - q(3938) => q(lka), - q(3939) => q(lkb), - q(3940) => q(lkc), - q(3941) => q(lkd), - q(3942) => q(lke), - q(3943) => q(lkh), - q(3944) => q(lki), - q(3945) => q(lkj), - q(3946) => q(lkl), - q(3947) => q(lkm), - q(3948) => q(lkn), - q(3949) => q(lko), - q(3950) => q(lkr), - q(3951) => q(lks), - q(3952) => q(lkt), - q(3953) => q(lku), - q(3954) => q(lky), - q(3955) => q(lla), - q(3956) => q(llb), - q(3957) => q(llc), - q(3958) => q(lld), - q(3959) => q(lle), - q(3960) => q(llf), - q(3961) => q(llg), - q(3962) => q(llh), - q(3963) => q(lli), - q(3964) => q(llj), - q(3965) => q(llk), - q(3966) => q(lll), - q(3967) => q(llm), - q(3968) => q(lln), - q(3969) => q(llo), - q(3970) => q(llp), - q(3971) => q(llq), - q(3972) => q(lls), - q(3973) => q(llu), - q(3974) => q(llx), - q(3975) => q(lma), - q(3976) => q(lmb), - q(3977) => q(lmc), - q(3978) => q(lmd), - q(3979) => q(lme), - q(3980) => q(lmf), - q(3981) => q(lmg), - q(3982) => q(lmh), - q(3983) => q(lmi), - q(3984) => q(lmj), - q(3985) => q(lmk), - q(3986) => q(lml), - q(3987) => q(lmn), - q(3988) => q(lmo), - q(3989) => q(lmp), - q(3990) => q(lmq), - q(3991) => q(lmr), - q(3992) => q(lmu), - q(3993) => q(lmv), - q(3994) => q(lmw), - q(3995) => q(lmx), - q(3996) => q(lmy), - q(3997) => q(lmz), - q(3998) => q(lna), - q(3999) => q(lnb), - q(4000) => q(lnd), - q(4001) => q(lng), - q(4002) => q(lnh), - q(4003) => q(lni), - q(4004) => q(lnj), - q(4005) => q(lnl), - q(4006) => q(lnm), - q(4007) => q(lnn), - q(4008) => q(lno), - q(4009) => q(lns), - q(4010) => q(lnu), - q(4011) => q(lnw), - q(4012) => q(lnz), - q(4013) => q(loa), - q(4014) => q(lob), - q(4015) => q(loc), - q(4016) => q(loe), - q(4017) => q(lof), - q(4018) => q(log), - q(4019) => q(loh), - q(4020) => q(loi), - q(4021) => q(loj), - q(4022) => q(lok), - q(4023) => q(lom), - q(4024) => q(lon), - q(4025) => q(loo), - q(4026) => q(lop), - q(4027) => q(loq), - q(4028) => q(lor), - q(4029) => q(los), - q(4030) => q(lot), - q(4031) => q(lou), - q(4032) => q(lov), - q(4033) => q(low), - q(4034) => q(lox), - q(4035) => q(loy), - q(4036) => q(lpa), - q(4037) => q(lpe), - q(4038) => q(lpn), - q(4039) => q(lpo), - q(4040) => q(lpx), - q(4041) => q(lra), - q(4042) => q(lrc), - q(4043) => q(lre), - q(4044) => q(lrg), - q(4045) => q(lri), - q(4046) => q(lrk), - q(4047) => q(lrl), - q(4048) => q(lrm), - q(4049) => q(lrn), - q(4050) => q(lro), - q(4051) => q(lrr), - q(4052) => q(lrt), - q(4053) => q(lrv), - q(4054) => q(lrz), - q(4055) => q(lsa), - q(4056) => q(lsd), - q(4057) => q(lse), - q(4058) => q(lsg), - q(4059) => q(lsh), - q(4060) => q(lsi), - q(4061) => q(lsl), - q(4062) => q(lsm), - q(4063) => q(lso), - q(4064) => q(lsp), - q(4065) => q(lsr), - q(4066) => q(lss), - q(4067) => q(lst), - q(4068) => q(lsy), - q(4069) => q(ltc), - q(4070) => q(ltg), - q(4071) => q(lti), - q(4072) => q(ltn), - q(4073) => q(lto), - q(4074) => q(lts), - q(4075) => q(ltu), - q(4076) => q(luc), - q(4077) => q(lud), - q(4078) => q(lue), - q(4079) => q(luf), - q(4080) => q(luj), - q(4081) => q(luk), - q(4082) => q(lul), - q(4083) => q(lum), - q(4084) => q(lup), - q(4085) => q(luq), - q(4086) => q(lur), - q(4087) => q(lut), - q(4088) => q(luu), - q(4089) => q(luv), - q(4090) => q(luw), - q(4091) => q(luy), - q(4092) => q(luz), - q(4093) => q(lva), - q(4094) => q(lvk), - q(4095) => q(lvs), - q(4096) => q(lvu), - q(4097) => q(lwa), - q(4098) => q(lwe), - q(4099) => q(lwg), - q(4100) => q(lwh), - q(4101) => q(lwl), - q(4102) => q(lwm), - q(4103) => q(lwo), - q(4104) => q(lwt), - q(4105) => q(lwu), - q(4106) => q(lww), - q(4107) => q(lya), - q(4108) => q(lyg), - q(4109) => q(lyn), - q(4110) => q(lzh), - q(4111) => q(lzl), - q(4112) => q(lzn), - q(4113) => q(lzz), - q(4114) => q(maa), - q(4115) => q(mab), - q(4116) => q(mae), - q(4117) => q(maf), - q(4118) => q(maj), - q(4119) => q(mam), - q(4120) => q(maq), - q(4121) => q(mat), - q(4122) => q(mau), - q(4123) => q(mav), - q(4124) => q(maw), - q(4125) => q(max), - q(4126) => q(maz), - q(4127) => q(mba), - q(4128) => q(mbb), - q(4129) => q(mbc), - q(4130) => q(mbd), - q(4131) => q(mbe), - q(4132) => q(mbf), - q(4133) => q(mbh), - q(4134) => q(mbi), - q(4135) => q(mbj), - q(4136) => q(mbk), - q(4137) => q(mbl), - q(4138) => q(mbm), - q(4139) => q(mbn), - q(4140) => q(mbo), - q(4141) => q(mbp), - q(4142) => q(mbq), - q(4143) => q(mbr), - q(4144) => q(mbs), - q(4145) => q(mbt), - q(4146) => q(mbu), - q(4147) => q(mbv), - q(4148) => q(mbw), - q(4149) => q(mbx), - q(4150) => q(mby), - q(4151) => q(mbz), - q(4152) => q(mca), - q(4153) => q(mcb), - q(4154) => q(mcc), - q(4155) => q(mcd), - q(4156) => q(mce), - q(4157) => q(mcf), - q(4158) => q(mcg), - q(4159) => q(mch), - q(4160) => q(mci), - q(4161) => q(mcj), - q(4162) => q(mck), - q(4163) => q(mcl), - q(4164) => q(mcm), - q(4165) => q(mcn), - q(4166) => q(mco), - q(4167) => q(mcp), - q(4168) => q(mcq), - q(4169) => q(mcr), - q(4170) => q(mcs), - q(4171) => q(mct), - q(4172) => q(mcu), - q(4173) => q(mcv), - q(4174) => q(mcw), - q(4175) => q(mcx), - q(4176) => q(mcy), - q(4177) => q(mcz), - q(4178) => q(mda), - q(4179) => q(mdb), - q(4180) => q(mdc), - q(4181) => q(mdd), - q(4182) => q(mde), - q(4183) => q(mdg), - q(4184) => q(mdh), - q(4185) => q(mdi), - q(4186) => q(mdj), - q(4187) => q(mdk), - q(4188) => q(mdl), - q(4189) => q(mdm), - q(4190) => q(mdn), - q(4191) => q(mdp), - q(4192) => q(mdq), - q(4193) => q(mds), - q(4194) => q(mdt), - q(4195) => q(mdu), - q(4196) => q(mdv), - q(4197) => q(mdw), - q(4198) => q(mdx), - q(4199) => q(mdy), - q(4200) => q(mdz), - q(4201) => q(mea), - q(4202) => q(meb), - q(4203) => q(mec), - q(4204) => q(med), - q(4205) => q(mee), - q(4206) => q(mef), - q(4207) => q(meh), - q(4208) => q(mei), - q(4209) => q(mej), - q(4210) => q(mek), - q(4211) => q(mel), - q(4212) => q(mem), - q(4213) => q(meo), - q(4214) => q(mep), - q(4215) => q(meq), - q(4216) => q(mer), - q(4217) => q(mes), - q(4218) => q(met), - q(4219) => q(meu), - q(4220) => q(mev), - q(4221) => q(mew), - q(4222) => q(mey), - q(4223) => q(mez), - q(4224) => q(mfa), - q(4225) => q(mfb), - q(4226) => q(mfc), - q(4227) => q(mfd), - q(4228) => q(mfe), - q(4229) => q(mff), - q(4230) => q(mfg), - q(4231) => q(mfh), - q(4232) => q(mfi), - q(4233) => q(mfj), - q(4234) => q(mfk), - q(4235) => q(mfl), - q(4236) => q(mfm), - q(4237) => q(mfn), - q(4238) => q(mfo), - q(4239) => q(mfp), - q(4240) => q(mfq), - q(4241) => q(mfr), - q(4242) => q(mfs), - q(4243) => q(mft), - q(4244) => q(mfu), - q(4245) => q(mfv), - q(4246) => q(mfw), - q(4247) => q(mfx), - q(4248) => q(mfy), - q(4249) => q(mfz), - q(4250) => q(mgb), - q(4251) => q(mgc), - q(4252) => q(mgd), - q(4253) => q(mge), - q(4254) => q(mgf), - q(4255) => q(mgg), - q(4256) => q(mgh), - q(4257) => q(mgi), - q(4258) => q(mgj), - q(4259) => q(mgk), - q(4260) => q(mgl), - q(4261) => q(mgm), - q(4262) => q(mgn), - q(4263) => q(mgo), - q(4264) => q(mgp), - q(4265) => q(mgq), - q(4266) => q(mgr), - q(4267) => q(mgs), - q(4268) => q(mgt), - q(4269) => q(mgu), - q(4270) => q(mgv), - q(4271) => q(mgw), - q(4272) => q(mgy), - q(4273) => q(mgz), - q(4274) => q(mha), - q(4275) => q(mhb), - q(4276) => q(mhc), - q(4277) => q(mhd), - q(4278) => q(mhe), - q(4279) => q(mhf), - q(4280) => q(mhg), - q(4281) => q(mhi), - q(4282) => q(mhj), - q(4283) => q(mhk), - q(4284) => q(mhl), - q(4285) => q(mhm), - q(4286) => q(mhn), - q(4287) => q(mho), - q(4288) => q(mhp), - q(4289) => q(mhq), - q(4290) => q(mhr), - q(4291) => q(mhs), - q(4292) => q(mht), - q(4293) => q(mhu), - q(4294) => q(mhw), - q(4295) => q(mhx), - q(4296) => q(mhy), - q(4297) => q(mhz), - q(4298) => q(mia), - q(4299) => q(mib), - q(4300) => q(mid), - q(4301) => q(mie), - q(4302) => q(mif), - q(4303) => q(mig), - q(4304) => q(mih), - q(4305) => q(mii), - q(4306) => q(mij), - q(4307) => q(mik), - q(4308) => q(mil), - q(4309) => q(mim), - q(4310) => q(mio), - q(4311) => q(mip), - q(4312) => q(miq), - q(4313) => q(mir), - q(4314) => q(mit), - q(4315) => q(miu), - q(4316) => q(miw), - q(4317) => q(mix), - q(4318) => q(miy), - q(4319) => q(miz), - q(4320) => q(mjc), - q(4321) => q(mjd), - q(4322) => q(mje), - q(4323) => q(mjg), - q(4324) => q(mjh), - q(4325) => q(mji), - q(4326) => q(mjj), - q(4327) => q(mjk), - q(4328) => q(mjl), - q(4329) => q(mjm), - q(4330) => q(mjn), - q(4331) => q(mjo), - q(4332) => q(mjp), - q(4333) => q(mjq), - q(4334) => q(mjr), - q(4335) => q(mjs), - q(4336) => q(mjt), - q(4337) => q(mju), - q(4338) => q(mjv), - q(4339) => q(mjw), - q(4340) => q(mjx), - q(4341) => q(mjy), - q(4342) => q(mjz), - q(4343) => q(mka), - q(4344) => q(mkb), - q(4345) => q(mkc), - q(4346) => q(mke), - q(4347) => q(mkf), - q(4348) => q(mkg), - q(4349) => q(mki), - q(4350) => q(mkj), - q(4351) => q(mkk), - q(4352) => q(mkl), - q(4353) => q(mkm), - q(4354) => q(mkn), - q(4355) => q(mko), - q(4356) => q(mkp), - q(4357) => q(mkq), - q(4358) => q(mkr), - q(4359) => q(mks), - q(4360) => q(mkt), - q(4361) => q(mku), - q(4362) => q(mkv), - q(4363) => q(mkw), - q(4364) => q(mkx), - q(4365) => q(mky), - q(4366) => q(mkz), - q(4367) => q(mla), - q(4368) => q(mlb), - q(4369) => q(mlc), - q(4370) => q(mle), - q(4371) => q(mlf), - q(4372) => q(mlh), - q(4373) => q(mli), - q(4374) => q(mlj), - q(4375) => q(mlk), - q(4376) => q(mll), - q(4377) => q(mlm), - q(4378) => q(mln), - q(4379) => q(mlo), - q(4380) => q(mlp), - q(4381) => q(mlq), - q(4382) => q(mlr), - q(4383) => q(mls), - q(4384) => q(mlu), - q(4385) => q(mlv), - q(4386) => q(mlw), - q(4387) => q(mlx), - q(4388) => q(mlz), - q(4389) => q(mma), - q(4390) => q(mmb), - q(4391) => q(mmc), - q(4392) => q(mmd), - q(4393) => q(mme), - q(4394) => q(mmf), - q(4395) => q(mmg), - q(4396) => q(mmh), - q(4397) => q(mmi), - q(4398) => q(mmj), - q(4399) => q(mmk), - q(4400) => q(mml), - q(4401) => q(mmm), - q(4402) => q(mmn), - q(4403) => q(mmo), - q(4404) => q(mmp), - q(4405) => q(mmq), - q(4406) => q(mmr), - q(4407) => q(mmt), - q(4408) => q(mmu), - q(4409) => q(mmv), - q(4410) => q(mmw), - q(4411) => q(mmx), - q(4412) => q(mmy), - q(4413) => q(mmz), - q(4414) => q(mna), - q(4415) => q(mnb), - q(4416) => q(mnd), - q(4417) => q(mne), - q(4418) => q(mnf), - q(4419) => q(mng), - q(4420) => q(mnh), - q(4421) => q(mnj), - q(4422) => q(mnk), - q(4423) => q(mnl), - q(4424) => q(mnm), - q(4425) => q(mnn), - q(4426) => q(mnp), - q(4427) => q(mnq), - q(4428) => q(mnr), - q(4429) => q(mns), - q(4430) => q(mnu), - q(4431) => q(mnv), - q(4432) => q(mnw), - q(4433) => q(mnx), - q(4434) => q(mny), - q(4435) => q(mnz), - q(4436) => q(moa), - q(4437) => q(moc), - q(4438) => q(mod), - q(4439) => q(moe), - q(4440) => q(mog), - q(4441) => q(moi), - q(4442) => q(moj), - q(4443) => q(mok), - q(4444) => q(mom), - q(4445) => q(moo), - q(4446) => q(mop), - q(4447) => q(moq), - q(4448) => q(mor), - q(4449) => q(mou), - q(4450) => q(mov), - q(4451) => q(mow), - q(4452) => q(mox), - q(4453) => q(moy), - q(4454) => q(moz), - q(4455) => q(mpa), - q(4456) => q(mpb), - q(4457) => q(mpc), - q(4458) => q(mpd), - q(4459) => q(mpe), - q(4460) => q(mpg), - q(4461) => q(mph), - q(4462) => q(mpi), - q(4463) => q(mpj), - q(4464) => q(mpk), - q(4465) => q(mpl), - q(4466) => q(mpm), - q(4467) => q(mpn), - q(4468) => q(mpo), - q(4469) => q(mpp), - q(4470) => q(mpq), - q(4471) => q(mpr), - q(4472) => q(mps), - q(4473) => q(mpt), - q(4474) => q(mpu), - q(4475) => q(mpv), - q(4476) => q(mpw), - q(4477) => q(mpx), - q(4478) => q(mpy), - q(4479) => q(mpz), - q(4480) => q(mqa), - q(4481) => q(mqb), - q(4482) => q(mqc), - q(4483) => q(mqe), - q(4484) => q(mqf), - q(4485) => q(mqg), - q(4486) => q(mqh), - q(4487) => q(mqi), - q(4488) => q(mqj), - q(4489) => q(mqk), - q(4490) => q(mql), - q(4491) => q(mqm), - q(4492) => q(mqn), - q(4493) => q(mqo), - q(4494) => q(mqp), - q(4495) => q(mqq), - q(4496) => q(mqr), - q(4497) => q(mqs), - q(4498) => q(mqt), - q(4499) => q(mqu), - q(4500) => q(mqv), - q(4501) => q(mqw), - q(4502) => q(mqx), - q(4503) => q(mqy), - q(4504) => q(mqz), - q(4505) => q(mra), - q(4506) => q(mrb), - q(4507) => q(mrc), - q(4508) => q(mrd), - q(4509) => q(mre), - q(4510) => q(mrf), - q(4511) => q(mrg), - q(4512) => q(mrh), - q(4513) => q(mrj), - q(4514) => q(mrk), - q(4515) => q(mrl), - q(4516) => q(mrm), - q(4517) => q(mrn), - q(4518) => q(mro), - q(4519) => q(mrp), - q(4520) => q(mrq), - q(4521) => q(mrr), - q(4522) => q(mrs), - q(4523) => q(mrt), - q(4524) => q(mru), - q(4525) => q(mrv), - q(4526) => q(mrw), - q(4527) => q(mrx), - q(4528) => q(mry), - q(4529) => q(mrz), - q(4530) => q(msb), - q(4531) => q(msc), - q(4532) => q(msd), - q(4533) => q(mse), - q(4534) => q(msf), - q(4535) => q(msg), - q(4536) => q(msh), - q(4537) => q(msi), - q(4538) => q(msj), - q(4539) => q(msk), - q(4540) => q(msl), - q(4541) => q(msm), - q(4542) => q(msn), - q(4543) => q(mso), - q(4544) => q(msp), - q(4545) => q(msq), - q(4546) => q(msr), - q(4547) => q(mss), - q(4548) => q(msu), - q(4549) => q(msv), - q(4550) => q(msw), - q(4551) => q(msx), - q(4552) => q(msy), - q(4553) => q(msz), - q(4554) => q(mta), - q(4555) => q(mtb), - q(4556) => q(mtc), - q(4557) => q(mtd), - q(4558) => q(mte), - q(4559) => q(mtf), - q(4560) => q(mtg), - q(4561) => q(mth), - q(4562) => q(mti), - q(4563) => q(mtj), - q(4564) => q(mtk), - q(4565) => q(mtl), - q(4566) => q(mtm), - q(4567) => q(mtn), - q(4568) => q(mto), - q(4569) => q(mtp), - q(4570) => q(mtq), - q(4571) => q(mtr), - q(4572) => q(mts), - q(4573) => q(mtt), - q(4574) => q(mtu), - q(4575) => q(mtv), - q(4576) => q(mtw), - q(4577) => q(mtx), - q(4578) => q(mty), - q(4579) => q(mua), - q(4580) => q(mub), - q(4581) => q(muc), - q(4582) => q(mud), - q(4583) => q(mue), - q(4584) => q(mug), - q(4585) => q(muh), - q(4586) => q(mui), - q(4587) => q(muj), - q(4588) => q(muk), - q(4589) => q(mum), - q(4590) => q(muo), - q(4591) => q(mup), - q(4592) => q(muq), - q(4593) => q(mur), - q(4594) => q(mut), - q(4595) => q(muu), - q(4596) => q(muv), - q(4597) => q(mux), - q(4598) => q(muy), - q(4599) => q(muz), - q(4600) => q(mva), - q(4601) => q(mvb), - q(4602) => q(mvd), - q(4603) => q(mve), - q(4604) => q(mvf), - q(4605) => q(mvg), - q(4606) => q(mvh), - q(4607) => q(mvi), - q(4608) => q(mvk), - q(4609) => q(mvl), - q(4610) => q(mvm), - q(4611) => q(mvn), - q(4612) => q(mvo), - q(4613) => q(mvp), - q(4614) => q(mvq), - q(4615) => q(mvr), - q(4616) => q(mvs), - q(4617) => q(mvt), - q(4618) => q(mvu), - q(4619) => q(mvv), - q(4620) => q(mvw), - q(4621) => q(mvx), - q(4622) => q(mvy), - q(4623) => q(mvz), - q(4624) => q(mwa), - q(4625) => q(mwb), - q(4626) => q(mwc), - q(4627) => q(mwe), - q(4628) => q(mwf), - q(4629) => q(mwg), - q(4630) => q(mwh), - q(4631) => q(mwi), - q(4632) => q(mwk), - q(4633) => q(mwm), - q(4634) => q(mwn), - q(4635) => q(mwo), - q(4636) => q(mwp), - q(4637) => q(mwq), - q(4638) => q(mws), - q(4639) => q(mwt), - q(4640) => q(mwu), - q(4641) => q(mwv), - q(4642) => q(mww), - q(4643) => q(mwx), - q(4644) => q(mwy), - q(4645) => q(mwz), - q(4646) => q(mxa), - q(4647) => q(mxb), - q(4648) => q(mxc), - q(4649) => q(mxd), - q(4650) => q(mxe), - q(4651) => q(mxf), - q(4652) => q(mxg), - q(4653) => q(mxh), - q(4654) => q(mxi), - q(4655) => q(mxj), - q(4656) => q(mxk), - q(4657) => q(mxl), - q(4658) => q(mxm), - q(4659) => q(mxn), - q(4660) => q(mxo), - q(4661) => q(mxp), - q(4662) => q(mxq), - q(4663) => q(mxr), - q(4664) => q(mxs), - q(4665) => q(mxt), - q(4666) => q(mxu), - q(4667) => q(mxv), - q(4668) => q(mxw), - q(4669) => q(mxx), - q(4670) => q(mxy), - q(4671) => q(mxz), - q(4672) => q(myb), - q(4673) => q(myc), - q(4674) => q(myd), - q(4675) => q(mye), - q(4676) => q(myf), - q(4677) => q(myg), - q(4678) => q(myh), - q(4679) => q(myi), - q(4680) => q(myj), - q(4681) => q(myk), - q(4682) => q(myl), - q(4683) => q(mym), - q(4684) => q(myo), - q(4685) => q(myp), - q(4686) => q(myr), - q(4687) => q(mys), - q(4688) => q(myu), - q(4689) => q(myw), - q(4690) => q(myx), - q(4691) => q(myy), - q(4692) => q(myz), - q(4693) => q(mza), - q(4694) => q(mzb), - q(4695) => q(mzc), - q(4696) => q(mzd), - q(4697) => q(mze), - q(4698) => q(mzg), - q(4699) => q(mzh), - q(4700) => q(mzi), - q(4701) => q(mzj), - q(4702) => q(mzk), - q(4703) => q(mzl), - q(4704) => q(mzm), - q(4705) => q(mzn), - q(4706) => q(mzo), - q(4707) => q(mzp), - q(4708) => q(mzq), - q(4709) => q(mzr), - q(4710) => q(mzs), - q(4711) => q(mzt), - q(4712) => q(mzu), - q(4713) => q(mzv), - q(4714) => q(mzw), - q(4715) => q(mzx), - q(4716) => q(mzy), - q(4717) => q(mzz), - q(4718) => q(naa), - q(4719) => q(nab), - q(4720) => q(nac), - q(4721) => q(nad), - q(4722) => q(nae), - q(4723) => q(naf), - q(4724) => q(nag), - q(4725) => q(naj), - q(4726) => q(nak), - q(4727) => q(nal), - q(4728) => q(nam), - q(4729) => q(nan), - q(4730) => q(nao), - q(4731) => q(naq), - q(4732) => q(nar), - q(4733) => q(nas), - q(4734) => q(nat), - q(4735) => q(naw), - q(4736) => q(nax), - q(4737) => q(nay), - q(4738) => q(naz), - q(4739) => q(nba), - q(4740) => q(nbb), - q(4741) => q(nbc), - q(4742) => q(nbd), - q(4743) => q(nbe), - q(4744) => q(nbg), - q(4745) => q(nbh), - q(4746) => q(nbi), - q(4747) => q(nbj), - q(4748) => q(nbk), - q(4749) => q(nbm), - q(4750) => q(nbn), - q(4751) => q(nbo), - q(4752) => q(nbp), - q(4753) => q(nbq), - q(4754) => q(nbr), - q(4755) => q(nbs), - q(4756) => q(nbt), - q(4757) => q(nbu), - q(4758) => q(nbv), - q(4759) => q(nbw), - q(4760) => q(nby), - q(4761) => q(nca), - q(4762) => q(ncb), - q(4763) => q(ncc), - q(4764) => q(ncd), - q(4765) => q(nce), - q(4766) => q(ncf), - q(4767) => q(ncg), - q(4768) => q(nch), - q(4769) => q(nci), - q(4770) => q(ncj), - q(4771) => q(nck), - q(4772) => q(ncl), - q(4773) => q(ncm), - q(4774) => q(ncn), - q(4775) => q(nco), - q(4776) => q(ncp), - q(4777) => q(ncr), - q(4778) => q(ncs), - q(4779) => q(nct), - q(4780) => q(ncu), - q(4781) => q(ncx), - q(4782) => q(ncz), - q(4783) => q(nda), - q(4784) => q(ndb), - q(4785) => q(ndc), - q(4786) => q(ndd), - q(4787) => q(ndf), - q(4788) => q(ndg), - q(4789) => q(ndh), - q(4790) => q(ndi), - q(4791) => q(ndj), - q(4792) => q(ndk), - q(4793) => q(ndl), - q(4794) => q(ndm), - q(4795) => q(ndn), - q(4796) => q(ndp), - q(4797) => q(ndq), - q(4798) => q(ndr), - q(4799) => q(ndt), - q(4800) => q(ndu), - q(4801) => q(ndv), - q(4802) => q(ndw), - q(4803) => q(ndx), - q(4804) => q(ndy), - q(4805) => q(ndz), - q(4806) => q(nea), - q(4807) => q(neb), - q(4808) => q(nec), - q(4809) => q(ned), - q(4810) => q(nee), - q(4811) => q(nef), - q(4812) => q(neg), - q(4813) => q(neh), - q(4814) => q(nei), - q(4815) => q(nej), - q(4816) => q(nek), - q(4817) => q(nem), - q(4818) => q(nen), - q(4819) => q(neo), - q(4820) => q(neq), - q(4821) => q(ner), - q(4822) => q(nes), - q(4823) => q(net), - q(4824) => q(neu), - q(4825) => q(nev), - q(4826) => q(nex), - q(4827) => q(ney), - q(4828) => q(nez), - q(4829) => q(nfa), - q(4830) => q(nfd), - q(4831) => q(nfl), - q(4832) => q(nfr), - q(4833) => q(nfu), - q(4834) => q(nga), - q(4835) => q(ngb), - q(4836) => q(ngc), - q(4837) => q(ngd), - q(4838) => q(nge), - q(4839) => q(ngg), - q(4840) => q(ngh), - q(4841) => q(ngi), - q(4842) => q(ngj), - q(4843) => q(ngk), - q(4844) => q(ngl), - q(4845) => q(ngm), - q(4846) => q(ngn), - q(4847) => q(ngo), - q(4848) => q(ngp), - q(4849) => q(ngq), - q(4850) => q(ngr), - q(4851) => q(ngs), - q(4852) => q(ngt), - q(4853) => q(ngu), - q(4854) => q(ngv), - q(4855) => q(ngw), - q(4856) => q(ngx), - q(4857) => q(ngy), - q(4858) => q(ngz), - q(4859) => q(nha), - q(4860) => q(nhb), - q(4861) => q(nhc), - q(4862) => q(nhd), - q(4863) => q(nhe), - q(4864) => q(nhf), - q(4865) => q(nhg), - q(4866) => q(nhh), - q(4867) => q(nhi), - q(4868) => q(nhk), - q(4869) => q(nhm), - q(4870) => q(nhn), - q(4871) => q(nho), - q(4872) => q(nhp), - q(4873) => q(nhq), - q(4874) => q(nhr), - q(4875) => q(nht), - q(4876) => q(nhu), - q(4877) => q(nhv), - q(4878) => q(nhw), - q(4879) => q(nhx), - q(4880) => q(nhy), - q(4881) => q(nhz), - q(4882) => q(nib), - q(4883) => q(nid), - q(4884) => q(nie), - q(4885) => q(nif), - q(4886) => q(nig), - q(4887) => q(nih), - q(4888) => q(nii), - q(4889) => q(nij), - q(4890) => q(nik), - q(4891) => q(nil), - q(4892) => q(nim), - q(4893) => q(nin), - q(4894) => q(nio), - q(4895) => q(niq), - q(4896) => q(nir), - q(4897) => q(nis), - q(4898) => q(nit), - q(4899) => q(niv), - q(4900) => q(niw), - q(4901) => q(nix), - q(4902) => q(niy), - q(4903) => q(niz), - q(4904) => q(nja), - q(4905) => q(njb), - q(4906) => q(njd), - q(4907) => q(njh), - q(4908) => q(nji), - q(4909) => q(njj), - q(4910) => q(njl), - q(4911) => q(njm), - q(4912) => q(njn), - q(4913) => q(njo), - q(4914) => q(njr), - q(4915) => q(njs), - q(4916) => q(njt), - q(4917) => q(nju), - q(4918) => q(njx), - q(4919) => q(njy), - q(4920) => q(njz), - q(4921) => q(nka), - q(4922) => q(nkb), - q(4923) => q(nkc), - q(4924) => q(nkd), - q(4925) => q(nke), - q(4926) => q(nkf), - q(4927) => q(nkg), - q(4928) => q(nkh), - q(4929) => q(nki), - q(4930) => q(nkj), - q(4931) => q(nkk), - q(4932) => q(nkm), - q(4933) => q(nkn), - q(4934) => q(nko), - q(4935) => q(nkp), - q(4936) => q(nkq), - q(4937) => q(nkr), - q(4938) => q(nks), - q(4939) => q(nkt), - q(4940) => q(nku), - q(4941) => q(nkv), - q(4942) => q(nkw), - q(4943) => q(nkx), - q(4944) => q(nkz), - q(4945) => q(nla), - q(4946) => q(nlc), - q(4947) => q(nle), - q(4948) => q(nlg), - q(4949) => q(nli), - q(4950) => q(nlj), - q(4951) => q(nlk), - q(4952) => q(nll), - q(4953) => q(nlo), - q(4954) => q(nlq), - q(4955) => q(nlu), - q(4956) => q(nlv), - q(4957) => q(nlw), - q(4958) => q(nlx), - q(4959) => q(nly), - q(4960) => q(nlz), - q(4961) => q(nma), - q(4962) => q(nmb), - q(4963) => q(nmc), - q(4964) => q(nmd), - q(4965) => q(nme), - q(4966) => q(nmf), - q(4967) => q(nmg), - q(4968) => q(nmh), - q(4969) => q(nmi), - q(4970) => q(nmj), - q(4971) => q(nmk), - q(4972) => q(nml), - q(4973) => q(nmm), - q(4974) => q(nmn), - q(4975) => q(nmo), - q(4976) => q(nmp), - q(4977) => q(nmq), - q(4978) => q(nmr), - q(4979) => q(nms), - q(4980) => q(nmt), - q(4981) => q(nmu), - q(4982) => q(nmv), - q(4983) => q(nmw), - q(4984) => q(nmx), - q(4985) => q(nmy), - q(4986) => q(nmz), - q(4987) => q(nna), - q(4988) => q(nnb), - q(4989) => q(nnc), - q(4990) => q(nnd), - q(4991) => q(nne), - q(4992) => q(nnf), - q(4993) => q(nng), - q(4994) => q(nnh), - q(4995) => q(nni), - q(4996) => q(nnj), - q(4997) => q(nnk), - q(4998) => q(nnl), - q(4999) => q(nnm), - q(5000) => q(nnn), - q(5001) => q(nnp), - q(5002) => q(nnq), - q(5003) => q(nnr), - q(5004) => q(nns), - q(5005) => q(nnt), - q(5006) => q(nnu), - q(5007) => q(nnv), - q(5008) => q(nnw), - q(5009) => q(nny), - q(5010) => q(nnz), - q(5011) => q(noa), - q(5012) => q(noc), - q(5013) => q(nod), - q(5014) => q(noe), - q(5015) => q(nof), - q(5016) => q(noh), - q(5017) => q(noi), - q(5018) => q(noj), - q(5019) => q(nok), - q(5020) => q(nol), - q(5021) => q(nom), - q(5022) => q(nop), - q(5023) => q(noq), - q(5024) => q(nos), - q(5025) => q(not), - q(5026) => q(nou), - q(5027) => q(nov), - q(5028) => q(now), - q(5029) => q(noy), - q(5030) => q(noz), - q(5031) => q(npa), - q(5032) => q(npb), - q(5033) => q(npg), - q(5034) => q(nph), - q(5035) => q(npi), - q(5036) => q(npl), - q(5037) => q(npn), - q(5038) => q(npo), - q(5039) => q(nps), - q(5040) => q(npu), - q(5041) => q(npy), - q(5042) => q(nqg), - q(5043) => q(nqk), - q(5044) => q(nqm), - q(5045) => q(nqn), - q(5046) => q(nqq), - q(5047) => q(nqy), - q(5048) => q(nra), - q(5049) => q(nrb), - q(5050) => q(nrc), - q(5051) => q(nre), - q(5052) => q(nrf), - q(5053) => q(nrg), - q(5054) => q(nri), - q(5055) => q(nrk), - q(5056) => q(nrl), - q(5057) => q(nrm), - q(5058) => q(nrn), - q(5059) => q(nrp), - q(5060) => q(nrr), - q(5061) => q(nrt), - q(5062) => q(nru), - q(5063) => q(nrx), - q(5064) => q(nrz), - q(5065) => q(nsa), - q(5066) => q(nsc), - q(5067) => q(nsd), - q(5068) => q(nse), - q(5069) => q(nsf), - q(5070) => q(nsg), - q(5071) => q(nsh), - q(5072) => q(nsi), - q(5073) => q(nsk), - q(5074) => q(nsl), - q(5075) => q(nsm), - q(5076) => q(nsn), - q(5077) => q(nsp), - q(5078) => q(nsq), - q(5079) => q(nsr), - q(5080) => q(nss), - q(5081) => q(nst), - q(5082) => q(nsu), - q(5083) => q(nsv), - q(5084) => q(nsw), - q(5085) => q(nsx), - q(5086) => q(nsy), - q(5087) => q(nsz), - q(5088) => q(nte), - q(5089) => q(ntg), - q(5090) => q(nti), - q(5091) => q(ntj), - q(5092) => q(ntk), - q(5093) => q(ntm), - q(5094) => q(nto), - q(5095) => q(ntp), - q(5096) => q(ntr), - q(5097) => q(nts), - q(5098) => q(ntu), - q(5099) => q(ntw), - q(5100) => q(ntx), - q(5101) => q(nty), - q(5102) => q(ntz), - q(5103) => q(nua), - q(5104) => q(nuc), - q(5105) => q(nud), - q(5106) => q(nue), - q(5107) => q(nuf), - q(5108) => q(nug), - q(5109) => q(nuh), - q(5110) => q(nui), - q(5111) => q(nuj), - q(5112) => q(nuk), - q(5113) => q(nul), - q(5114) => q(num), - q(5115) => q(nun), - q(5116) => q(nuo), - q(5117) => q(nup), - q(5118) => q(nuq), - q(5119) => q(nur), - q(5120) => q(nus), - q(5121) => q(nut), - q(5122) => q(nuu), - q(5123) => q(nuv), - q(5124) => q(nuw), - q(5125) => q(nux), - q(5126) => q(nuy), - q(5127) => q(nuz), - q(5128) => q(nvh), - q(5129) => q(nvm), - q(5130) => q(nvo), - q(5131) => q(nwa), - q(5132) => q(nwb), - q(5133) => q(nwe), - q(5134) => q(nwg), - q(5135) => q(nwi), - q(5136) => q(nwm), - q(5137) => q(nwo), - q(5138) => q(nwr), - q(5139) => q(nwx), - q(5140) => q(nwy), - q(5141) => q(nxa), - q(5142) => q(nxd), - q(5143) => q(nxe), - q(5144) => q(nxg), - q(5145) => q(nxi), - q(5146) => q(nxk), - q(5147) => q(nxl), - q(5148) => q(nxm), - q(5149) => q(nxn), - q(5150) => q(nxo), - q(5151) => q(nxq), - q(5152) => q(nxr), - q(5153) => q(nxu), - q(5154) => q(nxx), - q(5155) => q(nyb), - q(5156) => q(nyc), - q(5157) => q(nyd), - q(5158) => q(nye), - q(5159) => q(nyf), - q(5160) => q(nyg), - q(5161) => q(nyh), - q(5162) => q(nyi), - q(5163) => q(nyj), - q(5164) => q(nyk), - q(5165) => q(nyl), - q(5166) => q(nyp), - q(5167) => q(nyq), - q(5168) => q(nyr), - q(5169) => q(nys), - q(5170) => q(nyt), - q(5171) => q(nyu), - q(5172) => q(nyv), - q(5173) => q(nyw), - q(5174) => q(nyx), - q(5175) => q(nyy), - q(5176) => q(nza), - q(5177) => q(nzb), - q(5178) => q(nzk), - q(5179) => q(nzm), - q(5180) => q(nzs), - q(5181) => q(nzu), - q(5182) => q(nzy), - q(5183) => q(nzz), - q(5184) => q(oaa), - q(5185) => q(oac), - q(5186) => q(oar), - q(5187) => q(oav), - q(5188) => q(obi), - q(5189) => q(obk), - q(5190) => q(obl), - q(5191) => q(obm), - q(5192) => q(obo), - q(5193) => q(obr), - q(5194) => q(obt), - q(5195) => q(obu), - q(5196) => q(oca), - q(5197) => q(och), - q(5198) => q(oco), - q(5199) => q(ocu), - q(5200) => q(oda), - q(5201) => q(odk), - q(5202) => q(odt), - q(5203) => q(odu), - q(5204) => q(ofo), - q(5205) => q(ofs), - q(5206) => q(ofu), - q(5207) => q(ogb), - q(5208) => q(ogc), - q(5209) => q(oge), - q(5210) => q(ogg), - q(5211) => q(ogo), - q(5212) => q(ogu), - q(5213) => q(oht), - q(5214) => q(ohu), - q(5215) => q(oia), - q(5216) => q(oin), - q(5217) => q(ojb), - q(5218) => q(ojc), - q(5219) => q(ojg), - q(5220) => q(ojp), - q(5221) => q(ojs), - q(5222) => q(ojv), - q(5223) => q(ojw), - q(5224) => q(oka), - q(5225) => q(okb), - q(5226) => q(okd), - q(5227) => q(oke), - q(5228) => q(okg), - q(5229) => q(okh), - q(5230) => q(oki), - q(5231) => q(okj), - q(5232) => q(okk), - q(5233) => q(okl), - q(5234) => q(okm), - q(5235) => q(okn), - q(5236) => q(oko), - q(5237) => q(okr), - q(5238) => q(oks), - q(5239) => q(oku), - q(5240) => q(okv), - q(5241) => q(okx), - q(5242) => q(ola), - q(5243) => q(old), - q(5244) => q(ole), - q(5245) => q(olk), - q(5246) => q(olm), - q(5247) => q(olo), - q(5248) => q(olr), - q(5249) => q(olt), - q(5250) => q(oma), - q(5251) => q(omb), - q(5252) => q(omc), - q(5253) => q(ome), - q(5254) => q(omg), - q(5255) => q(omi), - q(5256) => q(omk), - q(5257) => q(oml), - q(5258) => q(omn), - q(5259) => q(omo), - q(5260) => q(omp), - q(5261) => q(omr), - q(5262) => q(omt), - q(5263) => q(omu), - q(5264) => q(omw), - q(5265) => q(omx), - q(5266) => q(ona), - q(5267) => q(onb), - q(5268) => q(one), - q(5269) => q(ong), - q(5270) => q(oni), - q(5271) => q(onj), - q(5272) => q(onk), - q(5273) => q(onn), - q(5274) => q(ono), - q(5275) => q(onp), - q(5276) => q(onr), - q(5277) => q(ons), - q(5278) => q(ont), - q(5279) => q(onu), - q(5280) => q(onw), - q(5281) => q(onx), - q(5282) => q(ood), - q(5283) => q(oog), - q(5284) => q(oon), - q(5285) => q(oor), - q(5286) => q(oos), - q(5287) => q(opa), - q(5288) => q(opk), - q(5289) => q(opm), - q(5290) => q(opo), - q(5291) => q(opt), - q(5292) => q(opy), - q(5293) => q(ora), - q(5294) => q(orc), - q(5295) => q(ore), - q(5296) => q(org), - q(5297) => q(orh), - q(5298) => q(orn), - q(5299) => q(oro), - q(5300) => q(orr), - q(5301) => q(ors), - q(5302) => q(ort), - q(5303) => q(oru), - q(5304) => q(orv), - q(5305) => q(orw), - q(5306) => q(orx), - q(5307) => q(ory), - q(5308) => q(orz), - q(5309) => q(osc), - q(5310) => q(osi), - q(5311) => q(oso), - q(5312) => q(osp), - q(5313) => q(ost), - q(5314) => q(osu), - q(5315) => q(osx), - q(5316) => q(otb), - q(5317) => q(otd), - q(5318) => q(ote), - q(5319) => q(oti), - q(5320) => q(otk), - q(5321) => q(otl), - q(5322) => q(otm), - q(5323) => q(otn), - q(5324) => q(otq), - q(5325) => q(otr), - q(5326) => q(ots), - q(5327) => q(ott), - q(5328) => q(otu), - q(5329) => q(otw), - q(5330) => q(otx), - q(5331) => q(oty), - q(5332) => q(otz), - q(5333) => q(oua), - q(5334) => q(oub), - q(5335) => q(oue), - q(5336) => q(oui), - q(5337) => q(oum), - q(5338) => q(owi), - q(5339) => q(owl), - q(5340) => q(oyb), - q(5341) => q(oyd), - q(5342) => q(oym), - q(5343) => q(oyy), - q(5344) => q(ozm), - q(5345) => q(pab), - q(5346) => q(pac), - q(5347) => q(pad), - q(5348) => q(pae), - q(5349) => q(paf), - q(5350) => q(pah), - q(5351) => q(pai), - q(5352) => q(pak), - q(5353) => q(pao), - q(5354) => q(paq), - q(5355) => q(par), - q(5356) => q(pas), - q(5357) => q(pat), - q(5358) => q(pav), - q(5359) => q(paw), - q(5360) => q(pax), - q(5361) => q(pay), - q(5362) => q(paz), - q(5363) => q(pbb), - q(5364) => q(pbc), - q(5365) => q(pbe), - q(5366) => q(pbf), - q(5367) => q(pbg), - q(5368) => q(pbh), - q(5369) => q(pbi), - q(5370) => q(pbl), - q(5371) => q(pbn), - q(5372) => q(pbo), - q(5373) => q(pbp), - q(5374) => q(pbr), - q(5375) => q(pbs), - q(5376) => q(pbt), - q(5377) => q(pbu), - q(5378) => q(pbv), - q(5379) => q(pby), - q(5380) => q(pca), - q(5381) => q(pcb), - q(5382) => q(pcc), - q(5383) => q(pcd), - q(5384) => q(pce), - q(5385) => q(pcf), - q(5386) => q(pcg), - q(5387) => q(pch), - q(5388) => q(pci), - q(5389) => q(pcj), - q(5390) => q(pck), - q(5391) => q(pcl), - q(5392) => q(pcm), - q(5393) => q(pcn), - q(5394) => q(pcp), - q(5395) => q(pcw), - q(5396) => q(pda), - q(5397) => q(pdc), - q(5398) => q(pdi), - q(5399) => q(pdn), - q(5400) => q(pdo), - q(5401) => q(pdt), - q(5402) => q(pdu), - q(5403) => q(pea), - q(5404) => q(peb), - q(5405) => q(ped), - q(5406) => q(pee), - q(5407) => q(pef), - q(5408) => q(peg), - q(5409) => q(peh), - q(5410) => q(pei), - q(5411) => q(pej), - q(5412) => q(pek), - q(5413) => q(pel), - q(5414) => q(pem), - q(5415) => q(pep), - q(5416) => q(peq), - q(5417) => q(pes), - q(5418) => q(pev), - q(5419) => q(pex), - q(5420) => q(pey), - q(5421) => q(pez), - q(5422) => q(pfa), - q(5423) => q(pfe), - q(5424) => q(pfl), - q(5425) => q(pga), - q(5426) => q(pgd), - q(5427) => q(pgg), - q(5428) => q(pgi), - q(5429) => q(pgk), - q(5430) => q(pgl), - q(5431) => q(pgn), - q(5432) => q(pgs), - q(5433) => q(pgu), - q(5434) => q(pha), - q(5435) => q(phd), - q(5436) => q(phg), - q(5437) => q(phh), - q(5438) => q(phk), - q(5439) => q(phl), - q(5440) => q(phm), - q(5441) => q(pho), - q(5442) => q(phq), - q(5443) => q(phr), - q(5444) => q(pht), - q(5445) => q(phu), - q(5446) => q(phv), - q(5447) => q(phw), - q(5448) => q(pia), - q(5449) => q(pib), - q(5450) => q(pic), - q(5451) => q(pid), - q(5452) => q(pie), - q(5453) => q(pif), - q(5454) => q(pig), - q(5455) => q(pih), - q(5456) => q(pii), - q(5457) => q(pij), - q(5458) => q(pil), - q(5459) => q(pim), - q(5460) => q(pin), - q(5461) => q(pio), - q(5462) => q(pip), - q(5463) => q(pir), - q(5464) => q(pis), - q(5465) => q(pit), - q(5466) => q(piu), - q(5467) => q(piv), - q(5468) => q(piw), - q(5469) => q(pix), - q(5470) => q(piy), - q(5471) => q(piz), - q(5472) => q(pjt), - q(5473) => q(pka), - q(5474) => q(pkb), - q(5475) => q(pkc), - q(5476) => q(pkg), - q(5477) => q(pkh), - q(5478) => q(pkn), - q(5479) => q(pko), - q(5480) => q(pkp), - q(5481) => q(pkr), - q(5482) => q(pks), - q(5483) => q(pkt), - q(5484) => q(pku), - q(5485) => q(pla), - q(5486) => q(plb), - q(5487) => q(plc), - q(5488) => q(pld), - q(5489) => q(ple), - q(5490) => q(plg), - q(5491) => q(plh), - q(5492) => q(plj), - q(5493) => q(plk), - q(5494) => q(pll), - q(5495) => q(pln), - q(5496) => q(plo), - q(5497) => q(plp), - q(5498) => q(plq), - q(5499) => q(plr), - q(5500) => q(pls), - q(5501) => q(plt), - q(5502) => q(plu), - q(5503) => q(plv), - q(5504) => q(plw), - q(5505) => q(ply), - q(5506) => q(plz), - q(5507) => q(pma), - q(5508) => q(pmb), - q(5509) => q(pmc), - q(5510) => q(pmd), - q(5511) => q(pme), - q(5512) => q(pmf), - q(5513) => q(pmh), - q(5514) => q(pmi), - q(5515) => q(pmj), - q(5516) => q(pmk), - q(5517) => q(pml), - q(5518) => q(pmm), - q(5519) => q(pmn), - q(5520) => q(pmo), - q(5521) => q(pmq), - q(5522) => q(pmr), - q(5523) => q(pms), - q(5524) => q(pmt), - q(5525) => q(pmw), - q(5526) => q(pmx), - q(5527) => q(pmy), - q(5528) => q(pmz), - q(5529) => q(pna), - q(5530) => q(pnb), - q(5531) => q(pnc), - q(5532) => q(pne), - q(5533) => q(png), - q(5534) => q(pnh), - q(5535) => q(pni), - q(5536) => q(pnj), - q(5537) => q(pnk), - q(5538) => q(pnl), - q(5539) => q(pnm), - q(5540) => q(pnn), - q(5541) => q(pno), - q(5542) => q(pnp), - q(5543) => q(pnq), - q(5544) => q(pnr), - q(5545) => q(pns), - q(5546) => q(pnt), - q(5547) => q(pnu), - q(5548) => q(pnv), - q(5549) => q(pnw), - q(5550) => q(pnx), - q(5551) => q(pny), - q(5552) => q(pnz), - q(5553) => q(poc), - q(5554) => q(pod), - q(5555) => q(poe), - q(5556) => q(pof), - q(5557) => q(pog), - q(5558) => q(poh), - q(5559) => q(poi), - q(5560) => q(pok), - q(5561) => q(pom), - q(5562) => q(poo), - q(5563) => q(pop), - q(5564) => q(poq), - q(5565) => q(pos), - q(5566) => q(pot), - q(5567) => q(pov), - q(5568) => q(pow), - q(5569) => q(pox), - q(5570) => q(poy), - q(5571) => q(ppa), - q(5572) => q(ppe), - q(5573) => q(ppi), - q(5574) => q(ppk), - q(5575) => q(ppl), - q(5576) => q(ppm), - q(5577) => q(ppn), - q(5578) => q(ppo), - q(5579) => q(ppp), - q(5580) => q(ppq), - q(5581) => q(pps), - q(5582) => q(ppt), - q(5583) => q(ppu), - q(5584) => q(pqa), - q(5585) => q(pqm), - q(5586) => q(prb), - q(5587) => q(prc), - q(5588) => q(prd), - q(5589) => q(pre), - q(5590) => q(prf), - q(5591) => q(prg), - q(5592) => q(prh), - q(5593) => q(pri), - q(5594) => q(prk), - q(5595) => q(prl), - q(5596) => q(prm), - q(5597) => q(prn), - q(5598) => q(prp), - q(5599) => q(prq), - q(5600) => q(prr), - q(5601) => q(prs), - q(5602) => q(prt), - q(5603) => q(pru), - q(5604) => q(prw), - q(5605) => q(prx), - q(5606) => q(pry), - q(5607) => q(prz), - q(5608) => q(psa), - q(5609) => q(psc), - q(5610) => q(psd), - q(5611) => q(pse), - q(5612) => q(psg), - q(5613) => q(psh), - q(5614) => q(psi), - q(5615) => q(psl), - q(5616) => q(psm), - q(5617) => q(psn), - q(5618) => q(pso), - q(5619) => q(psp), - q(5620) => q(psq), - q(5621) => q(psr), - q(5622) => q(pss), - q(5623) => q(pst), - q(5624) => q(psu), - q(5625) => q(psw), - q(5626) => q(psy), - q(5627) => q(pta), - q(5628) => q(pth), - q(5629) => q(pti), - q(5630) => q(ptn), - q(5631) => q(pto), - q(5632) => q(ptp), - q(5633) => q(ptq), - q(5634) => q(ptr), - q(5635) => q(ptt), - q(5636) => q(ptu), - q(5637) => q(ptv), - q(5638) => q(ptw), - q(5639) => q(pty), - q(5640) => q(pua), - q(5641) => q(pub), - q(5642) => q(puc), - q(5643) => q(pud), - q(5644) => q(pue), - q(5645) => q(puf), - q(5646) => q(pug), - q(5647) => q(pui), - q(5648) => q(puj), - q(5649) => q(puk), - q(5650) => q(pum), - q(5651) => q(puo), - q(5652) => q(pup), - q(5653) => q(puq), - q(5654) => q(pur), - q(5655) => q(put), - q(5656) => q(puu), - q(5657) => q(puw), - q(5658) => q(pux), - q(5659) => q(puy), - q(5660) => q(pwa), - q(5661) => q(pwb), - q(5662) => q(pwg), - q(5663) => q(pwi), - q(5664) => q(pwm), - q(5665) => q(pwn), - q(5666) => q(pwo), - q(5667) => q(pwr), - q(5668) => q(pww), - q(5669) => q(pxm), - q(5670) => q(pye), - q(5671) => q(pym), - q(5672) => q(pyn), - q(5673) => q(pys), - q(5674) => q(pyu), - q(5675) => q(pyx), - q(5676) => q(pyy), - q(5677) => q(pzn), - q(5678) => q(qua), - q(5679) => q(qub), - q(5680) => q(quc), - q(5681) => q(qud), - q(5682) => q(quf), - q(5683) => q(qug), - q(5684) => q(quh), - q(5685) => q(qui), - q(5686) => q(quk), - q(5687) => q(qul), - q(5688) => q(qum), - q(5689) => q(qun), - q(5690) => q(qup), - q(5691) => q(quq), - q(5692) => q(qur), - q(5693) => q(qus), - q(5694) => q(quv), - q(5695) => q(quw), - q(5696) => q(qux), - q(5697) => q(quy), - q(5698) => q(quz), - q(5699) => q(qva), - q(5700) => q(qvc), - q(5701) => q(qve), - q(5702) => q(qvh), - q(5703) => q(qvi), - q(5704) => q(qvj), - q(5705) => q(qvl), - q(5706) => q(qvm), - q(5707) => q(qvn), - q(5708) => q(qvo), - q(5709) => q(qvp), - q(5710) => q(qvs), - q(5711) => q(qvw), - q(5712) => q(qvy), - q(5713) => q(qvz), - q(5714) => q(qwa), - q(5715) => q(qwc), - q(5716) => q(qwh), - q(5717) => q(qwm), - q(5718) => q(qws), - q(5719) => q(qwt), - q(5720) => q(qxa), - q(5721) => q(qxc), - q(5722) => q(qxh), - q(5723) => q(qxl), - q(5724) => q(qxn), - q(5725) => q(qxo), - q(5726) => q(qxp), - q(5727) => q(qxq), - q(5728) => q(qxr), - q(5729) => q(qxs), - q(5730) => q(qxt), - q(5731) => q(qxu), - q(5732) => q(qxw), - q(5733) => q(qya), - q(5734) => q(qyp), - q(5735) => q(raa), - q(5736) => q(rab), - q(5737) => q(rac), - q(5738) => q(rad), - q(5739) => q(raf), - q(5740) => q(rag), - q(5741) => q(rah), - q(5742) => q(rai), - q(5743) => q(rak), - q(5744) => q(ral), - q(5745) => q(ram), - q(5746) => q(ran), - q(5747) => q(rao), - q(5748) => q(raq), - q(5749) => q(ras), - q(5750) => q(rat), - q(5751) => q(rau), - q(5752) => q(rav), - q(5753) => q(raw), - q(5754) => q(rax), - q(5755) => q(ray), - q(5756) => q(raz), - q(5757) => q(rbb), - q(5758) => q(rbk), - q(5759) => q(rbl), - q(5760) => q(rbp), - q(5761) => q(rcf), - q(5762) => q(rdb), - q(5763) => q(rea), - q(5764) => q(reb), - q(5765) => q(ree), - q(5766) => q(reg), - q(5767) => q(rei), - q(5768) => q(rej), - q(5769) => q(rel), - q(5770) => q(rem), - q(5771) => q(ren), - q(5772) => q(rer), - q(5773) => q(res), - q(5774) => q(ret), - q(5775) => q(rey), - q(5776) => q(rga), - q(5777) => q(rge), - q(5778) => q(rgk), - q(5779) => q(rgn), - q(5780) => q(rgr), - q(5781) => q(rgs), - q(5782) => q(rgu), - q(5783) => q(rhg), - q(5784) => q(rhp), - q(5785) => q(ria), - q(5786) => q(rie), - q(5787) => q(rif), - q(5788) => q(ril), - q(5789) => q(rim), - q(5790) => q(rin), - q(5791) => q(rir), - q(5792) => q(rit), - q(5793) => q(riu), - q(5794) => q(rjg), - q(5795) => q(rji), - q(5796) => q(rjs), - q(5797) => q(rka), - q(5798) => q(rkb), - q(5799) => q(rkh), - q(5800) => q(rki), - q(5801) => q(rkm), - q(5802) => q(rkt), - q(5803) => q(rkw), - q(5804) => q(rma), - q(5805) => q(rmb), - q(5806) => q(rmc), - q(5807) => q(rmd), - q(5808) => q(rme), - q(5809) => q(rmf), - q(5810) => q(rmg), - q(5811) => q(rmh), - q(5812) => q(rmi), - q(5813) => q(rmk), - q(5814) => q(rml), - q(5815) => q(rmm), - q(5816) => q(rmn), - q(5817) => q(rmo), - q(5818) => q(rmp), - q(5819) => q(rmq), - q(5820) => q(rms), - q(5821) => q(rmt), - q(5822) => q(rmu), - q(5823) => q(rmv), - q(5824) => q(rmw), - q(5825) => q(rmx), - q(5826) => q(rmy), - q(5827) => q(rmz), - q(5828) => q(rna), - q(5829) => q(rnd), - q(5830) => q(rng), - q(5831) => q(rnl), - q(5832) => q(rnn), - q(5833) => q(rnp), - q(5834) => q(rnr), - q(5835) => q(rnw), - q(5836) => q(rob), - q(5837) => q(roc), - q(5838) => q(rod), - q(5839) => q(roe), - q(5840) => q(rof), - q(5841) => q(rog), - q(5842) => q(rol), - q(5843) => q(roo), - q(5844) => q(rop), - q(5845) => q(ror), - q(5846) => q(rou), - q(5847) => q(row), - q(5848) => q(rpn), - q(5849) => q(rpt), - q(5850) => q(rri), - q(5851) => q(rro), - q(5852) => q(rrt), - q(5853) => q(rsb), - q(5854) => q(rsi), - q(5855) => q(rsl), - q(5856) => q(rtc), - q(5857) => q(rth), - q(5858) => q(rtm), - q(5859) => q(rts), - q(5860) => q(rtw), - q(5861) => q(rub), - q(5862) => q(ruc), - q(5863) => q(rue), - q(5864) => q(ruf), - q(5865) => q(rug), - q(5866) => q(ruh), - q(5867) => q(rui), - q(5868) => q(ruk), - q(5869) => q(ruo), - q(5870) => q(ruq), - q(5871) => q(rut), - q(5872) => q(ruu), - q(5873) => q(ruy), - q(5874) => q(ruz), - q(5875) => q(rwa), - q(5876) => q(rwk), - q(5877) => q(rwm), - q(5878) => q(rwo), - q(5879) => q(rwr), - q(5880) => q(rxd), - q(5881) => q(rxw), - q(5882) => q(ryn), - q(5883) => q(rys), - q(5884) => q(ryu), - q(5885) => q(saa), - q(5886) => q(sab), - q(5887) => q(sac), - q(5888) => q(sae), - q(5889) => q(saf), - q(5890) => q(saj), - q(5891) => q(sak), - q(5892) => q(sao), - q(5893) => q(saq), - q(5894) => q(sar), - q(5895) => q(sau), - q(5896) => q(sav), - q(5897) => q(saw), - q(5898) => q(sax), - q(5899) => q(say), - q(5900) => q(saz), - q(5901) => q(sba), - q(5902) => q(sbb), - q(5903) => q(sbc), - q(5904) => q(sbd), - q(5905) => q(slc), - q(5906) => q(sbf), - q(5907) => q(sbg), - q(5908) => q(sbh), - q(5909) => q(sbi), - q(5910) => q(sbj), - q(5911) => q(sbk), - q(5912) => q(sbl), - q(5913) => q(sbm), - q(5914) => q(sbn), - q(5915) => q(sbo), - q(5916) => q(sbp), - q(5917) => q(sbq), - q(5918) => q(sbr), - q(5919) => q(sbs), - q(5920) => q(sbt), - q(5921) => q(sbu), - q(5922) => q(sbv), - q(5923) => q(sbw), - q(5924) => q(sbx), - q(5925) => q(sby), - q(5926) => q(sbz), - q(5927) => q(scb), - q(5928) => q(sce), - q(5929) => q(scf), - q(5930) => q(scg), - q(5931) => q(sch), - q(5932) => q(sci), - q(5933) => q(sck), - q(5934) => q(scl), - q(5935) => q(scp), - q(5936) => q(scq), - q(5937) => q(scs), - q(5938) => q(scu), - q(5939) => q(scv), - q(5940) => q(scw), - q(5941) => q(scx), - q(5942) => q(sda), - q(5943) => q(sdb), - q(5944) => q(sdc), - q(5945) => q(sde), - q(5946) => q(sdf), - q(5947) => q(sdg), - q(5948) => q(sdh), - q(5949) => q(sdj), - q(5950) => q(sdk), - q(5951) => q(sdl), - q(5952) => q(sdm), - q(5953) => q(sdn), - q(5954) => q(sdo), - q(5955) => q(sdp), - q(5956) => q(sdr), - q(5957) => q(sds), - q(5958) => q(sdt), - q(5959) => q(sdu), - q(5960) => q(sdx), - q(5961) => q(sdz), - q(5962) => q(sea), - q(5963) => q(seb), - q(5964) => q(sec), - q(5965) => q(sed), - q(5966) => q(see), - q(5967) => q(sef), - q(5968) => q(seg), - q(5969) => q(seh), - q(5970) => q(sei), - q(5971) => q(sej), - q(5972) => q(sek), - q(5973) => q(sen), - q(5974) => q(seo), - q(5975) => q(sep), - q(5976) => q(seq), - q(5977) => q(ser), - q(5978) => q(ses), - q(5979) => q(set), - q(5980) => q(seu), - q(5981) => q(sev), - q(5982) => q(sew), - q(5983) => q(sey), - q(5984) => q(sez), - q(5985) => q(sfb), - q(5986) => q(sfe), - q(5987) => q(sfm), - q(5988) => q(sfs), - q(5989) => q(sfw), - q(5990) => q(sgb), - q(5991) => q(sgc), - q(5992) => q(sgd), - q(5993) => q(sge), - q(5994) => q(sgg), - q(5995) => q(sgh), - q(5996) => q(sgi), - q(5997) => q(sgj), - q(5998) => q(sgk), - q(5999) => q(sgm), - q(6000) => q(sgp), - q(6001) => q(sgr), - q(6002) => q(sgs), - q(6003) => q(sgt), - q(6004) => q(sgu), - q(6005) => q(sgw), - q(6006) => q(sgx), - q(6007) => q(sgy), - q(6008) => q(sgz), - q(6009) => q(sha), - q(6010) => q(shb), - q(6011) => q(shc), - q(6012) => q(shd), - q(6013) => q(she), - q(6014) => q(shg), - q(6015) => q(shh), - q(6016) => q(shi), - q(6017) => q(shj), - q(6018) => q(shk), - q(6019) => q(shl), - q(6020) => q(shm), - q(6021) => q(sho), - q(6022) => q(shp), - q(6023) => q(shq), - q(6024) => q(shr), - q(6025) => q(shs), - q(6026) => q(sht), - q(6027) => q(shu), - q(6028) => q(shv), - q(6029) => q(shw), - q(6030) => q(shx), - q(6031) => q(shy), - q(6032) => q(shz), - q(6033) => q(sia), - q(6034) => q(sib), - q(6035) => q(sie), - q(6036) => q(sif), - q(6037) => q(sig), - q(6038) => q(sih), - q(6039) => q(sii), - q(6040) => q(sij), - q(6041) => q(sik), - q(6042) => q(sil), - q(6043) => q(sim), - q(6044) => q(sip), - q(6045) => q(siq), - q(6046) => q(sir), - q(6047) => q(sis), - q(6048) => q(siu), - q(6049) => q(siv), - q(6050) => q(siw), - q(6051) => q(six), - q(6052) => q(siy), - q(6053) => q(siz), - q(6054) => q(sja), - q(6055) => q(sjb), - q(6056) => q(sjd), - q(6057) => q(sje), - q(6058) => q(sjg), - q(6059) => q(sjk), - q(6060) => q(sjl), - q(6061) => q(sjm), - q(6062) => q(sjn), - q(6063) => q(sjo), - q(6064) => q(sjp), - q(6065) => q(sjr), - q(6066) => q(sjs), - q(6067) => q(sjt), - q(6068) => q(sju), - q(6069) => q(sjw), - q(6070) => q(ska), - q(6071) => q(skb), - q(6072) => q(skc), - q(6073) => q(skd), - q(6074) => q(ske), - q(6075) => q(skf), - q(6076) => q(skg), - q(6077) => q(skh), - q(6078) => q(ski), - q(6079) => q(skj), - q(6080) => q(skk), - q(6081) => q(skm), - q(6082) => q(skn), - q(6083) => q(sko), - q(6084) => q(skp), - q(6085) => q(skq), - q(6086) => q(skr), - q(6087) => q(sks), - q(6088) => q(skt), - q(6089) => q(sku), - q(6090) => q(skv), - q(6091) => q(skw), - q(6092) => q(skx), - q(6093) => q(sky), - q(6094) => q(skz), - q(6095) => q(sld), - q(6096) => q(sle), - q(6097) => q(slf), - q(6098) => q(slg), - q(6099) => q(slh), - q(6100) => q(sli), - q(6101) => q(slj), - q(6102) => q(sll), - q(6103) => q(slm), - q(6104) => q(sln), - q(6105) => q(slp), - q(6106) => q(slq), - q(6107) => q(slr), - q(6108) => q(sls), - q(6109) => q(slt), - q(6110) => q(slu), - q(6111) => q(slw), - q(6112) => q(slx), - q(6113) => q(sly), - q(6114) => q(slz), - q(6115) => q(smb), - q(6116) => q(smc), - q(6117) => q(smd), - q(6118) => q(smf), - q(6119) => q(smg), - q(6120) => q(smh), - q(6121) => q(smk), - q(6122) => q(sml), - q(6123) => q(smm), - q(6124) => q(smp), - q(6125) => q(smq), - q(6126) => q(smr), - q(6127) => q(smt), - q(6128) => q(smu), - q(6129) => q(smv), - q(6130) => q(smw), - q(6131) => q(smx), - q(6132) => q(smy), - q(6133) => q(smz), - q(6134) => q(snb), - q(6135) => q(snc), - q(6136) => q(sne), - q(6137) => q(snf), - q(6138) => q(sng), - q(6139) => q(snh), - q(6140) => q(sni), - q(6141) => q(snj), - q(6142) => q(snl), - q(6143) => q(snm), - q(6144) => q(snn), - q(6145) => q(sno), - q(6146) => q(snp), - q(6147) => q(snq), - q(6148) => q(snr), - q(6149) => q(sns), - q(6150) => q(snu), - q(6151) => q(snv), - q(6152) => q(snw), - q(6153) => q(snx), - q(6154) => q(sny), - q(6155) => q(snz), - q(6156) => q(soa), - q(6157) => q(sob), - q(6158) => q(soc), - q(6159) => q(sod), - q(6160) => q(soe), - q(6161) => q(soh), - q(6162) => q(soi), - q(6163) => q(soj), - q(6164) => q(sok), - q(6165) => q(sol), - q(6166) => q(soo), - q(6167) => q(sop), - q(6168) => q(soq), - q(6169) => q(sor), - q(6170) => q(sos), - q(6171) => q(sou), - q(6172) => q(sov), - q(6173) => q(sow), - q(6174) => q(sox), - q(6175) => q(soy), - q(6176) => q(soz), - q(6177) => q(spb), - q(6178) => q(spc), - q(6179) => q(spd), - q(6180) => q(spe), - q(6181) => q(spg), - q(6182) => q(spi), - q(6183) => q(spk), - q(6184) => q(spl), - q(6185) => q(spm), - q(6186) => q(spn), - q(6187) => q(spo), - q(6188) => q(spp), - q(6189) => q(spq), - q(6190) => q(spr), - q(6191) => q(sps), - q(6192) => q(spt), - q(6193) => q(spu), - q(6194) => q(spv), - q(6195) => q(spx), - q(6196) => q(spy), - q(6197) => q(sqa), - q(6198) => q(sqh), - q(6199) => q(sqk), - q(6200) => q(sqm), - q(6201) => q(sqn), - q(6202) => q(sqo), - q(6203) => q(sqq), - q(6204) => q(sqr), - q(6205) => q(sqs), - q(6206) => q(sqt), - q(6207) => q(squ), - q(6208) => q(sra), - q(6209) => q(srb), - q(6210) => q(src), - q(6211) => q(sre), - q(6212) => q(srf), - q(6213) => q(srg), - q(6214) => q(srh), - q(6215) => q(sri), - q(6216) => q(srk), - q(6217) => q(srl), - q(6218) => q(srm), - q(6219) => q(sro), - q(6220) => q(srq), - q(6221) => q(srs), - q(6222) => q(srt), - q(6223) => q(sru), - q(6224) => q(srv), - q(6225) => q(srw), - q(6226) => q(srx), - q(6227) => q(sry), - q(6228) => q(srz), - q(6229) => q(ssb), - q(6230) => q(ssc), - q(6231) => q(ssd), - q(6232) => q(sse), - q(6233) => q(ssf), - q(6234) => q(ssg), - q(6235) => q(ssh), - q(6236) => q(ssi), - q(6237) => q(ssj), - q(6238) => q(ssk), - q(6239) => q(ssl), - q(6240) => q(ssm), - q(6241) => q(ssn), - q(6242) => q(sso), - q(6243) => q(ssp), - q(6244) => q(ssq), - q(6245) => q(ssr), - q(6246) => q(sss), - q(6247) => q(sst), - q(6248) => q(ssu), - q(6249) => q(ssv), - q(6250) => q(ssx), - q(6251) => q(ssy), - q(6252) => q(ssz), - q(6253) => q(sta), - q(6254) => q(stb), - q(6255) => q(std), - q(6256) => q(ste), - q(6257) => q(stf), - q(6258) => q(stg), - q(6259) => q(sth), - q(6260) => q(sti), - q(6261) => q(stj), - q(6262) => q(stk), - q(6263) => q(stl), - q(6264) => q(stm), - q(6265) => q(stn), - q(6266) => q(sto), - q(6267) => q(stp), - q(6268) => q(stq), - q(6269) => q(str), - q(6270) => q(sts), - q(6271) => q(stt), - q(6272) => q(stu), - q(6273) => q(stv), - q(6274) => q(stw), - q(6275) => q(sty), - q(6276) => q(sua), - q(6277) => q(sub), - q(6278) => q(suc), - q(6279) => q(sue), - q(6280) => q(sug), - q(6281) => q(sui), - q(6282) => q(suj), - q(6283) => q(suq), - q(6284) => q(sur), - q(6285) => q(sut), - q(6286) => q(suv), - q(6287) => q(suw), - q(6288) => q(suy), - q(6289) => q(suz), - q(6290) => q(sva), - q(6291) => q(svb), - q(6292) => q(svc), - q(6293) => q(sve), - q(6294) => q(svk), - q(6295) => q(svm), - q(6296) => q(svr), - q(6297) => q(svs), - q(6298) => q(svx), - q(6299) => q(swb), - q(6300) => q(swc), - q(6301) => q(swf), - q(6302) => q(swg), - q(6303) => q(swh), - q(6304) => q(swi), - q(6305) => q(swj), - q(6306) => q(swk), - q(6307) => q(swl), - q(6308) => q(swm), - q(6309) => q(swn), - q(6310) => q(swo), - q(6311) => q(swp), - q(6312) => q(swq), - q(6313) => q(swr), - q(6314) => q(sws), - q(6315) => q(swt), - q(6316) => q(swu), - q(6317) => q(swv), - q(6318) => q(sww), - q(6319) => q(swx), - q(6320) => q(swy), - q(6321) => q(sxb), - q(6322) => q(sxc), - q(6323) => q(sxe), - q(6324) => q(sxg), - q(6325) => q(sxk), - q(6326) => q(sxl), - q(6327) => q(sxm), - q(6328) => q(sxn), - q(6329) => q(sxo), - q(6330) => q(sxr), - q(6331) => q(sxs), - q(6332) => q(sxu), - q(6333) => q(sxw), - q(6334) => q(sya), - q(6335) => q(syb), - q(6336) => q(syi), - q(6337) => q(syk), - q(6338) => q(syl), - q(6339) => q(sym), - q(6340) => q(syn), - q(6341) => q(syo), - q(6342) => q(sys), - q(6343) => q(syw), - q(6344) => q(syx), - q(6345) => q(syy), - q(6346) => q(sza), - q(6347) => q(szb), - q(6348) => q(szc), - q(6349) => q(szd), - q(6350) => q(sze), - q(6351) => q(szg), - q(6352) => q(szl), - q(6353) => q(szn), - q(6354) => q(szp), - q(6355) => q(szv), - q(6356) => q(szw), - q(6357) => q(taa), - q(6358) => q(tab), - q(6359) => q(tac), - q(6360) => q(tad), - q(6361) => q(tae), - q(6362) => q(taf), - q(6363) => q(tag), - q(6364) => q(taj), - q(6365) => q(tak), - q(6366) => q(tal), - q(6367) => q(tan), - q(6368) => q(tao), - q(6369) => q(tap), - q(6370) => q(taq), - q(6371) => q(tar), - q(6372) => q(tas), - q(6373) => q(tau), - q(6374) => q(tav), - q(6375) => q(taw), - q(6376) => q(tax), - q(6377) => q(tay), - q(6378) => q(taz), - q(6379) => q(tba), - q(6380) => q(tbb), - q(6381) => q(tbc), - q(6382) => q(tbd), - q(6383) => q(tbe), - q(6384) => q(tbf), - q(6385) => q(tbg), - q(6386) => q(tbh), - q(6387) => q(tbi), - q(6388) => q(tbj), - q(6389) => q(tbk), - q(6390) => q(tbl), - q(6391) => q(tbm), - q(6392) => q(tbn), - q(6393) => q(tbo), - q(6394) => q(tbp), - q(6395) => q(tbr), - q(6396) => q(tbs), - q(6397) => q(tbt), - q(6398) => q(tbu), - q(6399) => q(tbv), - q(6400) => q(tbw), - q(6401) => q(tbx), - q(6402) => q(tby), - q(6403) => q(tbz), - q(6404) => q(tca), - q(6405) => q(tcb), - q(6406) => q(tcc), - q(6407) => q(tcd), - q(6408) => q(tce), - q(6409) => q(tcf), - q(6410) => q(tcg), - q(6411) => q(tch), - q(6412) => q(wbf), - q(6413) => q(tck), - q(6414) => q(tcl), - q(6415) => q(tcm), - q(6416) => q(tcn), - q(6417) => q(tco), - q(6418) => q(tcp), - q(6419) => q(tcq), - q(6420) => q(tcs), - q(6421) => q(tct), - q(6422) => q(tcu), - q(6423) => q(tcw), - q(6424) => q(tcx), - q(6425) => q(tcy), - q(6426) => q(tcz), - q(6427) => q(tda), - q(6428) => q(tdb), - q(6429) => q(tdc), - q(6430) => q(tdd), - q(6431) => q(tde), - q(6432) => q(tdf), - q(6433) => q(tdg), - q(6434) => q(tdh), - q(6435) => q(tdi), - q(6436) => q(tdj), - q(6437) => q(tdk), - q(6438) => q(tdl), - q(6439) => q(tdn), - q(6440) => q(tdo), - q(6441) => q(tdq), - q(6442) => q(tdr), - q(6443) => q(tds), - q(6444) => q(tdt), - q(6445) => q(tdu), - q(6446) => q(tdv), - q(6447) => q(tdx), - q(6448) => q(tdy), - q(6449) => q(tea), - q(6450) => q(teb), - q(6451) => q(tec), - q(6452) => q(ted), - q(6453) => q(tee), - q(6454) => q(tef), - q(6455) => q(teg), - q(6456) => q(teh), - q(6457) => q(tei), - q(6458) => q(tek), - q(6459) => q(ten), - q(6460) => q(teo), - q(6461) => q(tep), - q(6462) => q(teq), - q(6463) => q(tes), - q(6464) => q(teu), - q(6465) => q(tev), - q(6466) => q(tew), - q(6467) => q(tex), - q(6468) => q(tey), - q(6469) => q(tfi), - q(6470) => q(tfn), - q(6471) => q(tfo), - q(6472) => q(tfr), - q(6473) => q(tft), - q(6474) => q(tga), - q(6475) => q(tgb), - q(6476) => q(tgc), - q(6477) => q(tgd), - q(6478) => q(tge), - q(6479) => q(tgf), - q(6480) => q(tgh), - q(6481) => q(tgi), - q(6482) => q(tgj), - q(6483) => q(tgn), - q(6484) => q(tgo), - q(6485) => q(tgp), - q(6486) => q(tgq), - q(6487) => q(tgr), - q(6488) => q(tgs), - q(6489) => q(tgt), - q(6490) => q(tgu), - q(6491) => q(tgv), - q(6492) => q(tgw), - q(6493) => q(tgx), - q(6494) => q(tgy), - q(6495) => q(tgz), - q(6496) => q(thc), - q(6497) => q(thd), - q(6498) => q(the), - q(6499) => q(thf), - q(6500) => q(thh), - q(6501) => q(thi), - q(6502) => q(thk), - q(6503) => q(thl), - q(6504) => q(thm), - q(6505) => q(thn), - q(6506) => q(thp), - q(6507) => q(thq), - q(6508) => q(thr), - q(6509) => q(ths), - q(6510) => q(tht), - q(6511) => q(thu), - q(6512) => q(thv), - q(6513) => q(thw), - q(6514) => q(thy), - q(6515) => q(thz), - q(6516) => q(tia), - q(6517) => q(tic), - q(6518) => q(tid), - q(6519) => q(tif), - q(6520) => q(tih), - q(6521) => q(tii), - q(6522) => q(tij), - q(6523) => q(tik), - q(6524) => q(til), - q(6525) => q(tim), - q(6526) => q(tin), - q(6527) => q(tio), - q(6528) => q(tip), - q(6529) => q(tiq), - q(6530) => q(tis), - q(6531) => q(tit), - q(6532) => q(tiu), - q(6533) => q(tiw), - q(6534) => q(tix), - q(6535) => q(tiy), - q(6536) => q(tiz), - q(6537) => q(tja), - q(6538) => q(tjg), - q(6539) => q(tji), - q(6540) => q(tjl), - q(6541) => q(tjm), - q(6542) => q(tjn), - q(6543) => q(tjo), - q(6544) => q(tjs), - q(6545) => q(tju), - q(6546) => q(tjw), - q(6547) => q(tka), - q(6548) => q(tkb), - q(6549) => q(tkd), - q(6550) => q(tke), - q(6551) => q(tkf), - q(6552) => q(tkg), - q(6553) => q(tkm), - q(6554) => q(tkn), - q(6555) => q(tkp), - q(6556) => q(tkq), - q(6557) => q(tkr), - q(6558) => q(tks), - q(6559) => q(tkt), - q(6560) => q(tku), - q(6561) => q(tkv), - q(6562) => q(tkw), - q(6563) => q(tkx), - q(6564) => q(tkz), - q(6565) => q(tla), - q(6566) => q(tlb), - q(6567) => q(tlc), - q(6568) => q(tld), - q(6569) => q(tlf), - q(6570) => q(tlg), - q(6571) => q(tlj), - q(6572) => q(tlk), - q(6573) => q(tll), - q(6574) => q(tlm), - q(6575) => q(tln), - q(6576) => q(tlo), - q(6577) => q(tlp), - q(6578) => q(tlq), - q(6579) => q(tlr), - q(6580) => q(tls), - q(6581) => q(tlt), - q(6582) => q(tlu), - q(6583) => q(tlv), - q(6584) => q(tlx), - q(6585) => q(tly), - q(6586) => q(tma), - q(6587) => q(tmb), - q(6588) => q(tmc), - q(6589) => q(tmd), - q(6590) => q(tme), - q(6591) => q(tmf), - q(6592) => q(tmg), - q(6593) => q(tmi), - q(6594) => q(tmj), - q(6595) => q(tmk), - q(6596) => q(tml), - q(6597) => q(tmm), - q(6598) => q(tmn), - q(6599) => q(tmo), - q(6600) => q(tmp), - q(6601) => q(tmq), - q(6602) => q(tmr), - q(6603) => q(tms), - q(6604) => q(tmt), - q(6605) => q(tmu), - q(6606) => q(tmv), - q(6607) => q(tmw), - q(6608) => q(tmy), - q(6609) => q(tmz), - q(6610) => q(tna), - q(6611) => q(tnb), - q(6612) => q(tnc), - q(6613) => q(tnd), - q(6614) => q(tne), - q(6615) => q(tng), - q(6616) => q(tnh), - q(6617) => q(tni), - q(6618) => q(tnk), - q(6619) => q(tnl), - q(6620) => q(tnm), - q(6621) => q(tnn), - q(6622) => q(tno), - q(6623) => q(tnp), - q(6624) => q(tnq), - q(6625) => q(tnr), - q(6626) => q(tns), - q(6627) => q(tnt), - q(6628) => q(tnu), - q(6629) => q(tnv), - q(6630) => q(tnw), - q(6631) => q(tnx), - q(6632) => q(tny), - q(6633) => q(tnz), - q(6634) => q(tob), - q(6635) => q(toc), - q(6636) => q(tod), - q(6637) => q(toe), - q(6638) => q(tof), - q(6639) => q(toh), - q(6640) => q(toi), - q(6641) => q(toj), - q(6642) => q(tol), - q(6643) => q(tom), - q(6644) => q(too), - q(6645) => q(top), - q(6646) => q(toq), - q(6647) => q(tor), - q(6648) => q(tos), - q(6649) => q(tou), - q(6650) => q(tov), - q(6651) => q(tow), - q(6652) => q(tox), - q(6653) => q(toy), - q(6654) => q(toz), - q(6655) => q(tpa), - q(6656) => q(tpc), - q(6657) => q(tpe), - q(6658) => q(tpf), - q(6659) => q(tpg), - q(6660) => q(tpj), - q(6661) => q(tpk), - q(6662) => q(tpl), - q(6663) => q(tpm), - q(6664) => q(tpn), - q(6665) => q(tpo), - q(6666) => q(tpp), - q(6667) => q(tpq), - q(6668) => q(tpr), - q(6669) => q(tpt), - q(6670) => q(tpu), - q(6671) => q(tpv), - q(6672) => q(tpw), - q(6673) => q(tpx), - q(6674) => q(tpy), - q(6675) => q(tpz), - q(6676) => q(tqb), - q(6677) => q(tql), - q(6678) => q(tqm), - q(6679) => q(tqn), - q(6680) => q(tqo), - q(6681) => q(tqp), - q(6682) => q(tqq), - q(6683) => q(tqr), - q(6684) => q(tqt), - q(6685) => q(tqu), - q(6686) => q(tqw), - q(6687) => q(tra), - q(6688) => q(trb), - q(6689) => q(trc), - q(6690) => q(trd), - q(6691) => q(tre), - q(6692) => q(trf), - q(6693) => q(trg), - q(6694) => q(trh), - q(6695) => q(tri), - q(6696) => q(trj), - q(6697) => q(trl), - q(6698) => q(trm), - q(6699) => q(trn), - q(6700) => q(tro), - q(6701) => q(trp), - q(6702) => q(trq), - q(6703) => q(trr), - q(6704) => q(trs), - q(6705) => q(trt), - q(6706) => q(tru), - q(6707) => q(trv), - q(6708) => q(trw), - q(6709) => q(trx), - q(6710) => q(try), - q(6711) => q(trz), - q(6712) => q(tsa), - q(6713) => q(tsb), - q(6714) => q(tsc), - q(6715) => q(tsd), - q(6716) => q(tse), - q(6717) => q(tsg), - q(6718) => q(tsh), - q(6719) => q(tsj), - q(6720) => q(tsk), - q(6721) => q(tsl), - q(6722) => q(tsm), - q(6723) => q(tsp), - q(6724) => q(tsq), - q(6725) => q(tsr), - q(6726) => q(tss), - q(6727) => q(tst), - q(6728) => q(tsu), - q(6729) => q(tsv), - q(6730) => q(tsw), - q(6731) => q(tsx), - q(6732) => q(tsy), - q(6733) => q(tsz), - q(6734) => q(tta), - q(6735) => q(ttb), - q(6736) => q(ttc), - q(6737) => q(ttd), - q(6738) => q(tte), - q(6739) => q(ttf), - q(6740) => q(ttg), - q(6741) => q(tth), - q(6742) => q(tti), - q(6743) => q(ttj), - q(6744) => q(ttk), - q(6745) => q(ttl), - q(6746) => q(ttm), - q(6747) => q(ttn), - q(6748) => q(tto), - q(6749) => q(ttp), - q(6750) => q(ttq), - q(6751) => q(ttr), - q(6752) => q(tts), - q(6753) => q(ttt), - q(6754) => q(ttu), - q(6755) => q(ttv), - q(6756) => q(ttw), - q(6757) => q(tty), - q(6758) => q(ttz), - q(6759) => q(tua), - q(6760) => q(tub), - q(6761) => q(tuc), - q(6762) => q(tud), - q(6763) => q(tue), - q(6764) => q(tuf), - q(6765) => q(tug), - q(6766) => q(tuh), - q(6767) => q(tui), - q(6768) => q(tuj), - q(6769) => q(tul), - q(6770) => q(tun), - q(6771) => q(tuo), - q(6772) => q(tuq), - q(6773) => q(tus), - q(6774) => q(tuu), - q(6775) => q(tuv), - q(6776) => q(tux), - q(6777) => q(tuy), - q(6778) => q(tuz), - q(6779) => q(tva), - q(6780) => q(tvd), - q(6781) => q(tve), - q(6782) => q(tvk), - q(6783) => q(tvm), - q(6784) => q(tvn), - q(6785) => q(tvo), - q(6786) => q(tvs), - q(6787) => q(tvt), - q(6788) => q(tvu), - q(6789) => q(tvw), - q(6790) => q(tvy), - q(6791) => q(twa), - q(6792) => q(twb), - q(6793) => q(twc), - q(6794) => q(twd), - q(6795) => q(twe), - q(6796) => q(twf), - q(6797) => q(twg), - q(6798) => q(twh), - q(6799) => q(twl), - q(6800) => q(twm), - q(6801) => q(twn), - q(6802) => q(two), - q(6803) => q(twp), - q(6804) => q(twq), - q(6805) => q(twr), - q(6806) => q(twt), - q(6807) => q(twu), - q(6808) => q(tww), - q(6809) => q(twx), - q(6810) => q(twy), - q(6811) => q(txa), - q(6812) => q(txb), - q(6813) => q(txc), - q(6814) => q(txe), - q(6815) => q(txg), - q(6816) => q(txh), - q(6817) => q(txi), - q(6818) => q(txj), - q(6819) => q(txm), - q(6820) => q(txn), - q(6821) => q(txo), - q(6822) => q(txq), - q(6823) => q(txr), - q(6824) => q(txs), - q(6825) => q(txt), - q(6826) => q(txu), - q(6827) => q(txx), - q(6828) => q(txy), - q(6829) => q(tya), - q(6830) => q(tye), - q(6831) => q(tyh), - q(6832) => q(tyi), - q(6833) => q(tyj), - q(6834) => q(tyl), - q(6835) => q(tyn), - q(6836) => q(typ), - q(6837) => q(tyr), - q(6838) => q(tys), - q(6839) => q(tyt), - q(6840) => q(tyu), - q(6841) => q(tyx), - q(6842) => q(tyz), - q(6843) => q(tza), - q(6844) => q(tzh), - q(6845) => q(tzj), - q(6846) => q(tzl), - q(6847) => q(tzm), - q(6848) => q(tzn), - q(6849) => q(tzo), - q(6850) => q(tzx), - q(6851) => q(uam), - q(6852) => q(uan), - q(6853) => q(uar), - q(6854) => q(uba), - q(6855) => q(ubi), - q(6856) => q(ubl), - q(6857) => q(ubr), - q(6858) => q(ubu), - q(6859) => q(uby), - q(6860) => q(uda), - q(6861) => q(ude), - q(6862) => q(udg), - q(6863) => q(udi), - q(6864) => q(udj), - q(6865) => q(udl), - q(6866) => q(udu), - q(6867) => q(ues), - q(6868) => q(ufi), - q(6869) => q(ugb), - q(6870) => q(uge), - q(6871) => q(ugn), - q(6872) => q(ugo), - q(6873) => q(ugy), - q(6874) => q(uha), - q(6875) => q(uhn), - q(6876) => q(uis), - q(6877) => q(uiv), - q(6878) => q(uji), - q(6879) => q(uka), - q(6880) => q(ukg), - q(6881) => q(ukh), - q(6882) => q(ukl), - q(6883) => q(ukp), - q(6884) => q(ukq), - q(6885) => q(uks), - q(6886) => q(uku), - q(6887) => q(ukw), - q(6888) => q(uky), - q(6889) => q(ula), - q(6890) => q(ulb), - q(6891) => q(ulc), - q(6892) => q(ule), - q(6893) => q(ulf), - q(6894) => q(uli), - q(6895) => q(ulk), - q(6896) => q(ull), - q(6897) => q(ulm), - q(6898) => q(uln), - q(6899) => q(ulu), - q(6900) => q(ulw), - q(6901) => q(uma), - q(6902) => q(umc), - q(6903) => q(umd), - q(6904) => q(umg), - q(6905) => q(umi), - q(6906) => q(umm), - q(6907) => q(umn), - q(6908) => q(umo), - q(6909) => q(ump), - q(6910) => q(umr), - q(6911) => q(ums), - q(6912) => q(umu), - q(6913) => q(una), - q(6914) => q(une), - q(6915) => q(ung), - q(6916) => q(unk), - q(6917) => q(unm), - q(6918) => q(unn), - q(6919) => q(unr), - q(6920) => q(unu), - q(6921) => q(unx), - q(6922) => q(unz), - q(6923) => q(upi), - q(6924) => q(upv), - q(6925) => q(ura), - q(6926) => q(urb), - q(6927) => q(urc), - q(6928) => q(ure), - q(6929) => q(urf), - q(6930) => q(urg), - q(6931) => q(urh), - q(6932) => q(uri), - q(6933) => q(urk), - q(6934) => q(url), - q(6935) => q(urm), - q(6936) => q(urn), - q(6937) => q(uro), - q(6938) => q(urp), - q(6939) => q(urr), - q(6940) => q(urt), - q(6941) => q(uru), - q(6942) => q(urv), - q(6943) => q(urw), - q(6944) => q(urx), - q(6945) => q(ury), - q(6946) => q(urz), - q(6947) => q(usa), - q(6948) => q(ush), - q(6949) => q(usi), - q(6950) => q(usk), - q(6951) => q(usp), - q(6952) => q(usu), - q(6953) => q(uta), - q(6954) => q(ute), - q(6955) => q(utp), - q(6956) => q(utr), - q(6957) => q(utu), - q(6958) => q(uum), - q(6959) => q(uun), - q(6960) => q(uur), - q(6961) => q(uuu), - q(6962) => q(uve), - q(6963) => q(uvh), - q(6964) => q(uvl), - q(6965) => q(uwa), - q(6966) => q(uya), - q(6967) => q(uzn), - q(6968) => q(uzs), - q(6969) => q(vaa), - q(6970) => q(vae), - q(6971) => q(vaf), - q(6972) => q(vag), - q(6973) => q(vah), - q(6974) => q(vaj), - q(6975) => q(val), - q(6976) => q(vam), - q(6977) => q(van), - q(6978) => q(vao), - q(6979) => q(vap), - q(6980) => q(var), - q(6981) => q(vas), - q(6982) => q(vau), - q(6983) => q(vav), - q(6984) => q(vay), - q(6985) => q(vbb), - q(6986) => q(vbk), - q(6987) => q(vec), - q(6988) => q(ved), - q(6989) => q(vel), - q(6990) => q(vem), - q(6991) => q(veo), - q(6992) => q(vep), - q(6993) => q(ver), - q(6994) => q(vgr), - q(6995) => q(vgt), - q(6996) => q(vic), - q(6997) => q(vid), - q(6998) => q(vif), - q(6999) => q(vig), - q(7000) => q(vil), - q(7001) => q(vin), - q(7002) => q(vis), - q(7003) => q(vit), - q(7004) => q(viv), - q(7005) => q(vka), - q(7006) => q(vki), - q(7007) => q(vkj), - q(7008) => q(vkk), - q(7009) => q(vkl), - q(7010) => q(vkm), - q(7011) => q(vko), - q(7012) => q(vkp), - q(7013) => q(vkt), - q(7014) => q(vku), - q(7015) => q(vlp), - q(7016) => q(vls), - q(7017) => q(vma), - q(7018) => q(vmb), - q(7019) => q(vmc), - q(7020) => q(vmd), - q(7021) => q(vme), - q(7022) => q(vmf), - q(7023) => q(vmg), - q(7024) => q(vmh), - q(7025) => q(vmi), - q(7026) => q(vmj), - q(7027) => q(vmk), - q(7028) => q(vml), - q(7029) => q(vmm), - q(7030) => q(vmp), - q(7031) => q(vmq), - q(7032) => q(vmr), - q(7033) => q(vms), - q(7034) => q(vmu), - q(7035) => q(vmv), - q(7036) => q(vmw), - q(7037) => q(vmx), - q(7038) => q(vmy), - q(7039) => q(vmz), - q(7040) => q(vnk), - q(7041) => q(vnm), - q(7042) => q(vnp), - q(7043) => q(vro), - q(7044) => q(vra), - q(7045) => q(vrs), - q(7046) => q(vrt), - q(7047) => q(vsi), - q(7048) => q(vsl), - q(7049) => q(vsv), - q(7050) => q(vto), - q(7051) => q(vum), - q(7052) => q(vun), - q(7053) => q(vut), - q(7054) => q(vwa), - q(7055) => q(waa), - q(7056) => q(wab), - q(7057) => q(wac), - q(7058) => q(wad), - q(7059) => q(wae), - q(7060) => q(waf), - q(7061) => q(wag), - q(7062) => q(wah), - q(7063) => q(wai), - q(7064) => q(waj), - q(7065) => q(wam), - q(7066) => q(wan), - q(7067) => q(wao), - q(7068) => q(wap), - q(7069) => q(waq), - q(7070) => q(wat), - q(7071) => q(wau), - q(7072) => q(wav), - q(7073) => q(waw), - q(7074) => q(wax), - q(7075) => q(way), - q(7076) => q(waz), - q(7077) => q(wba), - q(7078) => q(wbb), - q(7079) => q(wbe), - q(7080) => q(wbh), - q(7081) => q(wbi), - q(7082) => q(wbj), - q(7083) => q(wbk), - q(7084) => q(wbl), - q(7085) => q(wbm), - q(7086) => q(wbp), - q(7087) => q(wbq), - q(7088) => q(wbr), - q(7089) => q(wbt), - q(7090) => q(wbv), - q(7091) => q(wbw), - q(7092) => q(wca), - q(7093) => q(wci), - q(7094) => q(wdd), - q(7095) => q(wdg), - q(7096) => q(wdj), - q(7097) => q(wdk), - q(7098) => q(wdu), - q(7099) => q(wdy), - q(7100) => q(wea), - q(7101) => q(wec), - q(7102) => q(wed), - q(7103) => q(weg), - q(7104) => q(weh), - q(7105) => q(wei), - q(7106) => q(wem), - q(7107) => q(weo), - q(7108) => q(wep), - q(7109) => q(wer), - q(7110) => q(wes), - q(7111) => q(wet), - q(7112) => q(weu), - q(7113) => q(wew), - q(7114) => q(wfg), - q(7115) => q(wga), - q(7116) => q(wgb), - q(7117) => q(wgg), - q(7118) => q(wgi), - q(7119) => q(wgo), - q(7120) => q(wgu), - q(7121) => q(wgy), - q(7122) => q(wha), - q(7123) => q(whg), - q(7124) => q(whk), - q(7125) => q(whu), - q(7126) => q(wib), - q(7127) => q(wic), - q(7128) => q(wie), - q(7129) => q(wif), - q(7130) => q(wig), - q(7131) => q(wih), - q(7132) => q(wii), - q(7133) => q(wij), - q(7134) => q(wik), - q(7135) => q(wil), - q(7136) => q(wim), - q(7137) => q(win), - q(7138) => q(wir), - q(7139) => q(wiu), - q(7140) => q(wiv), - q(7141) => q(wiy), - q(7142) => q(wja), - q(7143) => q(wji), - q(7144) => q(wka), - q(7145) => q(wkb), - q(7146) => q(wkd), - q(7147) => q(wkl), - q(7148) => q(wku), - q(7149) => q(wkw), - q(7150) => q(wky), - q(7151) => q(wla), - q(7152) => q(wlc), - q(7153) => q(wle), - q(7154) => q(wlg), - q(7155) => q(wli), - q(7156) => q(wlk), - q(7157) => q(wll), - q(7158) => q(wlm), - q(7159) => q(wlo), - q(7160) => q(wlr), - q(7161) => q(wls), - q(7162) => q(wlu), - q(7163) => q(wlv), - q(7164) => q(wlw), - q(7165) => q(wlx), - q(7166) => q(wly), - q(7167) => q(wma), - q(7168) => q(wmb), - q(7169) => q(wmc), - q(7170) => q(wmd), - q(7171) => q(wme), - q(7172) => q(wmh), - q(7173) => q(wmi), - q(7174) => q(wmm), - q(7175) => q(wmn), - q(7176) => q(wmo), - q(7177) => q(wms), - q(7178) => q(wmt), - q(7179) => q(wmw), - q(7180) => q(wmx), - q(7181) => q(wnb), - q(7182) => q(wnc), - q(7183) => q(wnd), - q(7184) => q(wne), - q(7185) => q(wng), - q(7186) => q(wni), - q(7187) => q(wnk), - q(7188) => q(wnm), - q(7189) => q(wnn), - q(7190) => q(wno), - q(7191) => q(wnp), - q(7192) => q(wnu), - q(7193) => q(wnw), - q(7194) => q(wny), - q(7195) => q(woa), - q(7196) => q(wob), - q(7197) => q(woc), - q(7198) => q(wod), - q(7199) => q(woe), - q(7200) => q(wof), - q(7201) => q(wog), - q(7202) => q(woi), - q(7203) => q(wok), - q(7204) => q(wom), - q(7205) => q(won), - q(7206) => q(woo), - q(7207) => q(wor), - q(7208) => q(wos), - q(7209) => q(wow), - q(7210) => q(woy), - q(7211) => q(wpc), - q(7212) => q(wra), - q(7213) => q(wrb), - q(7214) => q(wrd), - q(7215) => q(wrg), - q(7216) => q(wrh), - q(7217) => q(wri), - q(7218) => q(wrk), - q(7219) => q(wrl), - q(7220) => q(wrm), - q(7221) => q(wrn), - q(7222) => q(wro), - q(7223) => q(wrp), - q(7224) => q(wrr), - q(7225) => q(wrs), - q(7226) => q(wru), - q(7227) => q(wrv), - q(7228) => q(wrw), - q(7229) => q(wrx), - q(7230) => q(wry), - q(7231) => q(wrz), - q(7232) => q(wsa), - q(7233) => q(wsi), - q(7234) => q(wsk), - q(7235) => q(wsr), - q(7236) => q(wss), - q(7237) => q(wsu), - q(7238) => q(wsv), - q(7239) => q(wtf), - q(7240) => q(wth), - q(7241) => q(wti), - q(7242) => q(wtk), - q(7243) => q(wtm), - q(7244) => q(wtw), - q(7245) => q(wua), - q(7246) => q(wub), - q(7247) => q(wud), - q(7248) => q(wuh), - q(7249) => q(wul), - q(7250) => q(wum), - q(7251) => q(wun), - q(7252) => q(wur), - q(7253) => q(wut), - q(7254) => q(wuu), - q(7255) => q(wuv), - q(7256) => q(wux), - q(7257) => q(wuy), - q(7258) => q(wwa), - q(7259) => q(wwb), - q(7260) => q(wwo), - q(7261) => q(wwr), - q(7262) => q(www), - q(7263) => q(wxa), - q(7264) => q(wxw), - q(7265) => q(wya), - q(7266) => q(wyb), - q(7267) => q(wyi), - q(7268) => q(wym), - q(7269) => q(wyr), - q(7270) => q(wyy), - q(7271) => q(xaa), - q(7272) => q(xab), - q(7273) => q(xac), - q(7274) => q(xad), - q(7275) => q(xae), - q(7276) => q(xag), - q(7277) => q(xai), - q(7278) => q(xaj), - q(7279) => q(xam), - q(7280) => q(xan), - q(7281) => q(xao), - q(7282) => q(xap), - q(7283) => q(xaq), - q(7284) => q(xar), - q(7285) => q(xas), - q(7286) => q(xat), - q(7287) => q(xau), - q(7288) => q(xav), - q(7289) => q(xaw), - q(7290) => q(xay), - q(7291) => q(xba), - q(7292) => q(xbb), - q(7293) => q(xbc), - q(7294) => q(xbd), - q(7295) => q(xbe), - q(7296) => q(xbg), - q(7297) => q(xbi), - q(7298) => q(xbj), - q(7299) => q(xbm), - q(7300) => q(xbn), - q(7301) => q(xbo), - q(7302) => q(xbp), - q(7303) => q(xbr), - q(7304) => q(xbw), - q(7305) => q(xbx), - q(7306) => q(xby), - q(7307) => q(xcb), - q(7308) => q(xcc), - q(7309) => q(xce), - q(7310) => q(xcg), - q(7311) => q(xch), - q(7312) => q(xcl), - q(7313) => q(xcm), - q(7314) => q(xcn), - q(7315) => q(xco), - q(7316) => q(xcr), - q(7317) => q(xct), - q(7318) => q(xcu), - q(7319) => q(xcv), - q(7320) => q(xcw), - q(7321) => q(xcy), - q(7322) => q(xda), - q(7323) => q(xdc), - q(7324) => q(xdk), - q(7325) => q(xdm), - q(7326) => q(xdy), - q(7327) => q(xeb), - q(7328) => q(xed), - q(7329) => q(xeg), - q(7330) => q(xel), - q(7331) => q(xem), - q(7332) => q(xep), - q(7333) => q(xer), - q(7334) => q(xes), - q(7335) => q(xet), - q(7336) => q(xeu), - q(7337) => q(xfa), - q(7338) => q(xga), - q(7339) => q(xgb), - q(7340) => q(xgd), - q(7341) => q(xgf), - q(7342) => q(xgg), - q(7343) => q(xgi), - q(7344) => q(xgl), - q(7345) => q(xgm), - q(7346) => q(xgr), - q(7347) => q(xgu), - q(7348) => q(xgw), - q(7349) => q(xha), - q(7350) => q(xhc), - q(7351) => q(xhd), - q(7352) => q(xhe), - q(7353) => q(xhr), - q(7354) => q(xht), - q(7355) => q(xhu), - q(7356) => q(xhv), - q(7357) => q(xib), - q(7358) => q(xii), - q(7359) => q(xil), - q(7360) => q(xin), - q(7361) => q(xip), - q(7362) => q(xir), - q(7363) => q(xis), - q(7364) => q(xiv), - q(7365) => q(xiy), - q(7366) => q(xjb), - q(7367) => q(xjt), - q(7368) => q(xka), - q(7369) => q(xkb), - q(7370) => q(xkc), - q(7371) => q(xkd), - q(7372) => q(xke), - q(7373) => q(xkf), - q(7374) => q(xkg), - q(7375) => q(xkh), - q(7376) => q(xki), - q(7377) => q(xkj), - q(7378) => q(xkk), - q(7379) => q(xkl), - q(7380) => q(xkn), - q(7381) => q(xko), - q(7382) => q(xkp), - q(7383) => q(xkq), - q(7384) => q(xkr), - q(7385) => q(xks), - q(7386) => q(xkt), - q(7387) => q(xku), - q(7388) => q(xkv), - q(7389) => q(xkw), - q(7390) => q(xkx), - q(7391) => q(xky), - q(7392) => q(xkz), - q(7393) => q(xla), - q(7394) => q(xlb), - q(7395) => q(xlc), - q(7396) => q(xld), - q(7397) => q(xle), - q(7398) => q(xlg), - q(7399) => q(xli), - q(7400) => q(xln), - q(7401) => q(xlo), - q(7402) => q(xlp), - q(7403) => q(xls), - q(7404) => q(xlu), - q(7405) => q(xly), - q(7406) => q(xma), - q(7407) => q(xmb), - q(7408) => q(xmc), - q(7409) => q(xmd), - q(7410) => q(xme), - q(7411) => q(xmf), - q(7412) => q(xmg), - q(7413) => q(xmh), - q(7414) => q(xmj), - q(7415) => q(xmk), - q(7416) => q(xml), - q(7417) => q(xmm), - q(7418) => q(xmn), - q(7419) => q(xmo), - q(7420) => q(xmp), - q(7421) => q(xmq), - q(7422) => q(xmr), - q(7423) => q(xms), - q(7424) => q(xmt), - q(7425) => q(xmu), - q(7426) => q(xmv), - q(7427) => q(xmw), - q(7428) => q(xmx), - q(7429) => q(xmy), - q(7430) => q(xmz), - q(7431) => q(xna), - q(7432) => q(xnb), - q(7433) => q(xng), - q(7434) => q(xnh), - q(7435) => q(xni), - q(7436) => q(xnk), - q(7437) => q(xnn), - q(7438) => q(xno), - q(7439) => q(xnr), - q(7440) => q(xns), - q(7441) => q(xnt), - q(7442) => q(xnu), - q(7443) => q(xny), - q(7444) => q(xnz), - q(7445) => q(xoc), - q(7446) => q(xod), - q(7447) => q(xog), - q(7448) => q(xoi), - q(7449) => q(xok), - q(7450) => q(xom), - q(7451) => q(xon), - q(7452) => q(xoo), - q(7453) => q(xop), - q(7454) => q(xor), - q(7455) => q(xow), - q(7456) => q(xpa), - q(7457) => q(xpc), - q(7458) => q(xpe), - q(7459) => q(xpg), - q(7460) => q(xpi), - q(7461) => q(xpj), - q(7462) => q(xpk), - q(7463) => q(xpm), - q(7464) => q(xpn), - q(7465) => q(xpo), - q(7466) => q(xpp), - q(7467) => q(xpq), - q(7468) => q(xpr), - q(7469) => q(xps), - q(7470) => q(xpt), - q(7471) => q(xpu), - q(7472) => q(xpy), - q(7473) => q(xqa), - q(7474) => q(xqt), - q(7475) => q(xra), - q(7476) => q(xrb), - q(7477) => q(xrd), - q(7478) => q(xre), - q(7479) => q(xrg), - q(7480) => q(xri), - q(7481) => q(xrm), - q(7482) => q(xrn), - q(7483) => q(xrq), - q(7484) => q(xrr), - q(7485) => q(xrt), - q(7486) => q(xru), - q(7487) => q(xrw), - q(7488) => q(xsa), - q(7489) => q(xsb), - q(7490) => q(xsc), - q(7491) => q(xsd), - q(7492) => q(xse), - q(7493) => q(xsh), - q(7494) => q(xsi), - q(7495) => q(xsl), - q(7496) => q(xsm), - q(7497) => q(xsn), - q(7498) => q(xso), - q(7499) => q(xsp), - q(7500) => q(xsq), - q(7501) => q(xsr), - q(7502) => q(xss), - q(7503) => q(xsu), - q(7504) => q(xsv), - q(7505) => q(xsy), - q(7506) => q(xta), - q(7507) => q(xtb), - q(7508) => q(xtc), - q(7509) => q(xtd), - q(7510) => q(xte), - q(7511) => q(xtg), - q(7512) => q(xth), - q(7513) => q(xti), - q(7514) => q(xtj), - q(7515) => q(xtl), - q(7516) => q(xtm), - q(7517) => q(xtn), - q(7518) => q(xto), - q(7519) => q(xtp), - q(7520) => q(xtq), - q(7521) => q(xtr), - q(7522) => q(xts), - q(7523) => q(xtt), - q(7524) => q(xtu), - q(7525) => q(xtv), - q(7526) => q(xtw), - q(7527) => q(xty), - q(7528) => q(xtz), - q(7529) => q(xua), - q(7530) => q(xub), - q(7531) => q(xud), - q(7532) => q(xug), - q(7533) => q(xuj), - q(7534) => q(xul), - q(7535) => q(xum), - q(7536) => q(xun), - q(7537) => q(xuo), - q(7538) => q(xup), - q(7539) => q(xur), - q(7540) => q(xut), - q(7541) => q(xuu), - q(7542) => q(xve), - q(7543) => q(xvi), - q(7544) => q(xvn), - q(7545) => q(xvo), - q(7546) => q(xvs), - q(7547) => q(xwa), - q(7548) => q(xwc), - q(7549) => q(xwd), - q(7550) => q(xwe), - q(7551) => q(xwg), - q(7552) => q(xwj), - q(7553) => q(xwk), - q(7554) => q(xwl), - q(7555) => q(xwo), - q(7556) => q(xwr), - q(7557) => q(xwt), - q(7558) => q(xww), - q(7559) => q(xxb), - q(7560) => q(xxk), - q(7561) => q(xxm), - q(7562) => q(xxr), - q(7563) => q(xxt), - q(7564) => q(xya), - q(7565) => q(xyb), - q(7566) => q(xyj), - q(7567) => q(xyk), - q(7568) => q(xyl), - q(7569) => q(xyt), - q(7570) => q(xyy), - q(7571) => q(xzh), - q(7572) => q(xzm), - q(7573) => q(xzp), - q(7574) => q(yaa), - q(7575) => q(yab), - q(7576) => q(yac), - q(7577) => q(yad), - q(7578) => q(yae), - q(7579) => q(yaf), - q(7580) => q(yag), - q(7581) => q(yah), - q(7582) => q(yai), - q(7583) => q(yaj), - q(7584) => q(yak), - q(7585) => q(yal), - q(7586) => q(yam), - q(7587) => q(yan), - q(7588) => q(yaq), - q(7589) => q(yar), - q(7590) => q(yas), - q(7591) => q(yat), - q(7592) => q(yau), - q(7593) => q(yav), - q(7594) => q(yaw), - q(7595) => q(yax), - q(7596) => q(yay), - q(7597) => q(yaz), - q(7598) => q(yba), - q(7599) => q(ybb), - q(7600) => q(ybe), - q(7601) => q(ybh), - q(7602) => q(ybi), - q(7603) => q(ybj), - q(7604) => q(ybk), - q(7605) => q(ybl), - q(7606) => q(ybm), - q(7607) => q(ybn), - q(7608) => q(ybo), - q(7609) => q(ybx), - q(7610) => q(yby), - q(7611) => q(ych), - q(7612) => q(ycl), - q(7613) => q(ycn), - q(7614) => q(ycp), - q(7615) => q(yda), - q(7616) => q(ydd), - q(7617) => q(yde), - q(7618) => q(ydg), - q(7619) => q(ydk), - q(7620) => q(yea), - q(7621) => q(yec), - q(7622) => q(yee), - q(7623) => q(yei), - q(7624) => q(yej), - q(7625) => q(yel), - q(7626) => q(yer), - q(7627) => q(yes), - q(7628) => q(yet), - q(7629) => q(yeu), - q(7630) => q(yev), - q(7631) => q(yey), - q(7632) => q(yga), - q(7633) => q(ygi), - q(7634) => q(ygl), - q(7635) => q(ygm), - q(7636) => q(ygp), - q(7637) => q(ygr), - q(7638) => q(ygs), - q(7639) => q(ygu), - q(7640) => q(ygw), - q(7641) => q(yha), - q(7642) => q(yhd), - q(7643) => q(yhl), + q(2579) => q(gnr), + q(2580) => q(gnt), + q(2581) => q(gnu), + q(2582) => q(gnw), + q(2583) => q(gnz), + q(2584) => q(goa), + q(2585) => q(gob), + q(2586) => q(goc), + q(2587) => q(god), + q(2588) => q(goe), + q(2589) => q(gof), + q(2590) => q(gog), + q(2591) => q(goi), + q(2592) => q(goj), + q(2593) => q(gok), + q(2594) => q(gol), + q(2595) => q(gom), + q(2596) => q(goo), + q(2597) => q(gop), + q(2598) => q(goq), + q(2599) => q(gos), + q(2600) => q(gou), + q(2601) => q(gow), + q(2602) => q(gox), + q(2603) => q(goy), + q(2604) => q(goz), + q(2605) => q(gpa), + q(2606) => q(gpe), + q(2607) => q(gpn), + q(2608) => q(gqa), + q(2609) => q(gqi), + q(2610) => q(gqn), + q(2611) => q(gqr), + q(2612) => q(gqu), + q(2613) => q(gra), + q(2614) => q(grd), + q(2615) => q(grg), + q(2616) => q(grh), + q(2617) => q(gri), + q(2618) => q(grj), + q(2619) => q(grm), + q(2620) => q(gro), + q(2621) => q(grq), + q(2622) => q(grr), + q(2623) => q(grs), + q(2624) => q(grt), + q(2625) => q(gru), + q(2626) => q(grv), + q(2627) => q(grw), + q(2628) => q(grx), + q(2629) => q(gry), + q(2630) => q(grz), + q(2631) => q(gse), + q(2632) => q(gsg), + q(2633) => q(gsl), + q(2634) => q(gsm), + q(2635) => q(gsn), + q(2636) => q(gso), + q(2637) => q(gsp), + q(2638) => q(gss), + q(2639) => q(gta), + q(2640) => q(gtu), + q(2641) => q(gua), + q(2642) => q(gub), + q(2643) => q(guc), + q(2644) => q(gud), + q(2645) => q(gue), + q(2646) => q(guf), + q(2647) => q(gug), + q(2648) => q(guh), + q(2649) => q(gui), + q(2650) => q(guk), + q(2651) => q(gul), + q(2652) => q(gum), + q(2653) => q(gun), + q(2654) => q(guo), + q(2655) => q(gup), + q(2656) => q(yif), + q(2657) => q(gur), + q(2658) => q(gus), + q(2659) => q(gut), + q(2660) => q(guu), + q(2661) => q(guv), + q(2662) => q(guw), + q(2663) => q(gux), + q(2664) => q(guz), + q(2665) => q(gva), + q(2666) => q(gvc), + q(2667) => q(gve), + q(2668) => q(gvf), + q(2669) => q(gvj), + q(2670) => q(gvl), + q(2671) => q(gvm), + q(2672) => q(gvn), + q(2673) => q(gvo), + q(2674) => q(gvp), + q(2675) => q(gvr), + q(2676) => q(gvs), + q(2677) => q(gvy), + q(2678) => q(gwa), + q(2679) => q(gwb), + q(2680) => q(gwc), + q(2681) => q(gwd), + q(2682) => q(gwe), + q(2683) => q(gwf), + q(2684) => q(gwg), + q(2685) => q(gwj), + q(2686) => q(gwm), + q(2687) => q(gwn), + q(2688) => q(gwr), + q(2689) => q(gwt), + q(2690) => q(gwu), + q(2691) => q(gww), + q(2692) => q(gwx), + q(2693) => q(gxx), + q(2694) => q(gya), + q(2695) => q(gyb), + q(2696) => q(gyd), + q(2697) => q(gye), + q(2698) => q(gyf), + q(2699) => q(gyg), + q(2700) => q(gyi), + q(2701) => q(gyl), + q(2702) => q(gym), + q(2703) => q(gyn), + q(2704) => q(gyr), + q(2705) => q(gyy), + q(2706) => q(gza), + q(2707) => q(gzi), + q(2708) => q(gzn), + q(2709) => q(haa), + q(2710) => q(hab), + q(2711) => q(hac), + q(2712) => q(had), + q(2713) => q(hae), + q(2714) => q(haf), + q(2715) => q(hag), + q(2716) => q(hah), + q(2717) => q(haj), + q(2718) => q(hak), + q(2719) => q(hal), + q(2720) => q(ham), + q(2721) => q(han), + q(2722) => q(hao), + q(2723) => q(hap), + q(2724) => q(haq), + q(2725) => q(har), + q(2726) => q(has), + q(2727) => q(hav), + q(2728) => q(hax), + q(2729) => q(hay), + q(2730) => q(haz), + q(2731) => q(hba), + q(2732) => q(hbb), + q(2733) => q(hbn), + q(2734) => q(hbo), + q(2735) => q(hbu), + q(2736) => q(hca), + q(2737) => q(hch), + q(2738) => q(hdn), + q(2739) => q(hds), + q(2740) => q(hdy), + q(2741) => q(hea), + q(2742) => q(hed), + q(2743) => q(heg), + q(2744) => q(heh), + q(2745) => q(hei), + q(2746) => q(hem), + q(2747) => q(hgm), + q(2748) => q(hgw), + q(2749) => q(hhi), + q(2750) => q(hhr), + q(2751) => q(hhy), + q(2752) => q(hia), + q(2753) => q(hib), + q(2754) => q(hid), + q(2755) => q(hif), + q(2756) => q(hig), + q(2757) => q(hih), + q(2758) => q(hii), + q(2759) => q(hij), + q(2760) => q(hik), + q(2761) => q(hio), + q(2762) => q(hir), + q(2763) => q(hiw), + q(2764) => q(hix), + q(2765) => q(hji), + q(2766) => q(hka), + q(2767) => q(hke), + q(2768) => q(hkk), + q(2769) => q(hks), + q(2770) => q(hla), + q(2771) => q(hlb), + q(2772) => q(hld), + q(2773) => q(hle), + q(2774) => q(hlt), + q(2775) => q(hlu), + q(2776) => q(hma), + q(2777) => q(hmb), + q(2778) => q(hmc), + q(2779) => q(hmd), + q(2780) => q(hme), + q(2781) => q(hmf), + q(2782) => q(hmg), + q(2783) => q(hmh), + q(2784) => q(hmi), + q(2785) => q(hmj), + q(2786) => q(hmk), + q(2787) => q(hml), + q(2788) => q(hmm), + q(2789) => q(hmp), + q(2790) => q(hmq), + q(2791) => q(hmr), + q(2792) => q(hms), + q(2793) => q(hmt), + q(2794) => q(hmu), + q(2795) => q(hmv), + q(2796) => q(hmw), + q(2797) => q(hmy), + q(2798) => q(hmz), + q(2799) => q(hna), + q(2800) => q(hnd), + q(2801) => q(hne), + q(2802) => q(hnh), + q(2803) => q(hni), + q(2804) => q(hnj), + q(2805) => q(hnn), + q(2806) => q(hno), + q(2807) => q(hns), + q(2808) => q(hnu), + q(2809) => q(hoa), + q(2810) => q(hob), + q(2811) => q(hoc), + q(2812) => q(hod), + q(2813) => q(hoe), + q(2814) => q(hoh), + q(2815) => q(hoi), + q(2816) => q(hoj), + q(2817) => q(hol), + q(2818) => q(hom), + q(2819) => q(hoo), + q(2820) => q(hop), + q(2821) => q(hor), + q(2822) => q(hos), + q(2823) => q(hot), + q(2824) => q(hov), + q(2825) => q(how), + q(2826) => q(hoy), + q(2827) => q(hoz), + q(2828) => q(hpo), + q(2829) => q(hps), + q(2830) => q(hra), + q(2831) => q(hrc), + q(2832) => q(hre), + q(2833) => q(hrk), + q(2834) => q(hrm), + q(2835) => q(hro), + q(2836) => q(hrp), + q(2837) => q(hrt), + q(2838) => q(hru), + q(2839) => q(hrw), + q(2840) => q(hrx), + q(2841) => q(hrz), + q(2842) => q(hsh), + q(2843) => q(hsl), + q(2844) => q(hsn), + q(2845) => q(hss), + q(2846) => q(hti), + q(2847) => q(hto), + q(2848) => q(hts), + q(2849) => q(htu), + q(2850) => q(htx), + q(2851) => q(hub), + q(2852) => q(huc), + q(2853) => q(hud), + q(2854) => q(hue), + q(2855) => q(huf), + q(2856) => q(hug), + q(2857) => q(huh), + q(2858) => q(hui), + q(2859) => q(huj), + q(2860) => q(huk), + q(2861) => q(hul), + q(2862) => q(hum), + q(2863) => q(huo), + q(2864) => q(huq), + q(2865) => q(hur), + q(2866) => q(hus), + q(2867) => q(hut), + q(2868) => q(huu), + q(2869) => q(huv), + q(2870) => q(huw), + q(2871) => q(hux), + q(2872) => q(huy), + q(2873) => q(huz), + q(2874) => q(hvc), + q(2875) => q(hve), + q(2876) => q(hvk), + q(2877) => q(hvn), + q(2878) => q(hvv), + q(2879) => q(hwa), + q(2880) => q(hwc), + q(2881) => q(hwo), + q(2882) => q(hya), + q(2883) => q(iai), + q(2884) => q(ian), + q(2885) => q(iap), + q(2886) => q(iar), + q(2887) => q(ibb), + q(2888) => q(ibd), + q(2889) => q(ibe), + q(2890) => q(ibg), + q(2891) => q(ibl), + q(2892) => q(ibm), + q(2893) => q(ibn), + q(2894) => q(ibr), + q(2895) => q(ibu), + q(2896) => q(iby), + q(2897) => q(ica), + q(2898) => q(ich), + q(2899) => q(icl), + q(2900) => q(icr), + q(2901) => q(ida), + q(2902) => q(idb), + q(2903) => q(idc), + q(2904) => q(idd), + q(2905) => q(ide), + q(2906) => q(idi), + q(2907) => q(idr), + q(2908) => q(ids), + q(2909) => q(idt), + q(2910) => q(idu), + q(2911) => q(ifa), + q(2912) => q(ifb), + q(2913) => q(ife), + q(2914) => q(iff), + q(2915) => q(ifk), + q(2916) => q(ifm), + q(2917) => q(ifu), + q(2918) => q(ify), + q(2919) => q(igb), + q(2920) => q(ige), + q(2921) => q(igg), + q(2922) => q(igl), + q(2923) => q(igm), + q(2924) => q(ign), + q(2925) => q(igo), + q(2926) => q(igs), + q(2927) => q(igw), + q(2928) => q(ihb), + q(2929) => q(ihi), + q(2930) => q(ihp), + q(2931) => q(ihw), + q(2932) => q(iin), + q(2933) => q(ijc), + q(2934) => q(ije), + q(2935) => q(ijj), + q(2936) => q(ijn), + q(2937) => q(ijs), + q(2938) => q(ike), + q(2939) => q(iki), + q(2940) => q(ikk), + q(2941) => q(ikl), + q(2942) => q(iko), + q(2943) => q(ikp), + q(2944) => q(ikr), + q(2945) => q(iks), + q(2946) => q(ikt), + q(2947) => q(ikv), + q(2948) => q(ikw), + q(2949) => q(ikx), + q(2950) => q(ikz), + q(2951) => q(ila), + q(2952) => q(ilb), + q(2953) => q(ilg), + q(2954) => q(ili), + q(2955) => q(ilk), + q(2956) => q(ill), + q(2957) => q(ils), + q(2958) => q(ilu), + q(2959) => q(ilv), + q(2960) => q(ima), + q(2961) => q(imi), + q(2962) => q(iml), + q(2963) => q(imn), + q(2964) => q(imo), + q(2965) => q(imr), + q(2966) => q(ims), + q(2967) => q(imy), + q(2968) => q(inb), + q(2969) => q(ing), + q(2970) => q(inj), + q(2971) => q(inl), + q(2972) => q(inm), + q(2973) => q(inn), + q(2974) => q(ino), + q(2975) => q(inp), + q(2976) => q(ins), + q(2977) => q(int), + q(2978) => q(inz), + q(2979) => q(ior), + q(2980) => q(iou), + q(2981) => q(iow), + q(2982) => q(ipi), + q(2983) => q(ipo), + q(2984) => q(iqu), + q(2985) => q(iqw), + q(2986) => q(ire), + q(2987) => q(irh), + q(2988) => q(iri), + q(2989) => q(irk), + q(2990) => q(irn), + q(2991) => q(irr), + q(2992) => q(iru), + q(2993) => q(irx), + q(2994) => q(iry), + q(2995) => q(isa), + q(2996) => q(isc), + q(2997) => q(isd), + q(2998) => q(ise), + q(2999) => q(isg), + q(3000) => q(ish), + q(3001) => q(isi), + q(3002) => q(isk), + q(3003) => q(ism), + q(3004) => q(isn), + q(3005) => q(iso), + q(3006) => q(isr), + q(3007) => q(ist), + q(3008) => q(isu), + q(3009) => q(itb), + q(3010) => q(ite), + q(3011) => q(iti), + q(3012) => q(itk), + q(3013) => q(itl), + q(3014) => q(itm), + q(3015) => q(ito), + q(3016) => q(itr), + q(3017) => q(its), + q(3018) => q(itt), + q(3019) => q(itv), + q(3020) => q(itw), + q(3021) => q(itx), + q(3022) => q(ity), + q(3023) => q(itz), + q(3024) => q(ium), + q(3025) => q(ivb), + q(3026) => q(ivv), + q(3027) => q(iwk), + q(3028) => q(iwm), + q(3029) => q(iwo), + q(3030) => q(iws), + q(3031) => q(ixc), + q(3032) => q(ixl), + q(3033) => q(iya), + q(3034) => q(iyo), + q(3035) => q(iyx), + q(3036) => q(izh), + q(3037) => q(izr), + q(3038) => q(izz), + q(3039) => q(jaa), + q(3040) => q(jab), + q(3041) => q(jac), + q(3042) => q(jad), + q(3043) => q(jae), + q(3044) => q(jaf), + q(3045) => q(jah), + q(3046) => q(jaj), + q(3047) => q(jak), + q(3048) => q(jal), + q(3049) => q(jam), + q(3050) => q(jan), + q(3051) => q(jao), + q(3052) => q(jaq), + q(3053) => q(jas), + q(3054) => q(jat), + q(3055) => q(jau), + q(3056) => q(jax), + q(3057) => q(jay), + q(3058) => q(jaz), + q(3059) => q(jbe), + q(3060) => q(jbi), + q(3061) => q(jbj), + q(3062) => q(jbk), + q(3063) => q(jbn), + q(3064) => q(jbr), + q(3065) => q(jbt), + q(3066) => q(jbu), + q(3067) => q(jbw), + q(3068) => q(jcs), + q(3069) => q(jct), + q(3070) => q(jda), + q(3071) => q(jdg), + q(3072) => q(jdt), + q(3073) => q(jeb), + q(3074) => q(jee), + q(3075) => q(jeg), + q(3076) => q(jeh), + q(3077) => q(jei), + q(3078) => q(jek), + q(3079) => q(jel), + q(3080) => q(jen), + q(3081) => q(jer), + q(3082) => q(jet), + q(3083) => q(jeu), + q(3084) => q(jgb), + q(3085) => q(jge), + q(3086) => q(jgk), + q(3087) => q(jgo), + q(3088) => q(jhi), + q(3089) => q(jhs), + q(3090) => q(jia), + q(3091) => q(jib), + q(3092) => q(jic), + q(3093) => q(jid), + q(3094) => q(jie), + q(3095) => q(jig), + q(3096) => q(jih), + q(3097) => q(jii), + q(3098) => q(jil), + q(3099) => q(jim), + q(3100) => q(jio), + q(3101) => q(jiq), + q(3102) => q(jit), + q(3103) => q(jiu), + q(3104) => q(jiv), + q(3105) => q(jiy), + q(3106) => q(jje), + q(3107) => q(jjr), + q(3108) => q(jkm), + q(3109) => q(jko), + q(3110) => q(jkp), + q(3111) => q(jkr), + q(3112) => q(jku), + q(3113) => q(jle), + q(3114) => q(jls), + q(3115) => q(jma), + q(3116) => q(jmb), + q(3117) => q(jmc), + q(3118) => q(jmd), + q(3119) => q(jmi), + q(3120) => q(jml), + q(3121) => q(jmn), + q(3122) => q(jmr), + q(3123) => q(jms), + q(3124) => q(jmw), + q(3125) => q(jmx), + q(3126) => q(jna), + q(3127) => q(jnd), + q(3128) => q(jng), + q(3129) => q(jni), + q(3130) => q(jnj), + q(3131) => q(jnl), + q(3132) => q(jns), + q(3133) => q(job), + q(3134) => q(jod), + q(3135) => q(jor), + q(3136) => q(jos), + q(3137) => q(jow), + q(3138) => q(jpa), + q(3139) => q(jqr), + q(3140) => q(jra), + q(3141) => q(jrr), + q(3142) => q(jrt), + q(3143) => q(jru), + q(3144) => q(jsl), + q(3145) => q(jua), + q(3146) => q(jub), + q(3147) => q(juc), + q(3148) => q(jud), + q(3149) => q(juh), + q(3150) => q(jui), + q(3151) => q(juk), + q(3152) => q(jul), + q(3153) => q(jum), + q(3154) => q(jun), + q(3155) => q(juo), + q(3156) => q(jup), + q(3157) => q(jur), + q(3158) => q(jus), + q(3159) => q(jut), + q(3160) => q(juu), + q(3161) => q(juw), + q(3162) => q(juy), + q(3163) => q(jvd), + q(3164) => q(jvn), + q(3165) => q(jwi), + q(3166) => q(jya), + q(3167) => q(jye), + q(3168) => q(jyy), + q(3169) => q(kad), + q(3170) => q(kae), + q(3171) => q(kaf), + q(3172) => q(kag), + q(3173) => q(kah), + q(3174) => q(kai), + q(3175) => q(kaj), + q(3176) => q(kak), + q(3177) => q(kao), + q(3178) => q(kap), + q(3179) => q(kaq), + q(3180) => q(kav), + q(3181) => q(kax), + q(3182) => q(kay), + q(3183) => q(kba), + q(3184) => q(kbb), + q(3185) => q(kbc), + q(3186) => q(kbe), + q(3187) => q(kbg), + q(3188) => q(kbh), + q(3189) => q(kbi), + q(3190) => q(kbj), + q(3191) => q(kbk), + q(3192) => q(kbl), + q(3193) => q(kbm), + q(3194) => q(kbn), + q(3195) => q(kbo), + q(3196) => q(kbp), + q(3197) => q(kbq), + q(3198) => q(kbr), + q(3199) => q(kbs), + q(3200) => q(kbt), + q(3201) => q(kbu), + q(3202) => q(kbv), + q(3203) => q(kbw), + q(3204) => q(kbx), + q(3205) => q(kby), + q(3206) => q(kbz), + q(3207) => q(kca), + q(3208) => q(kcb), + q(3209) => q(kcc), + q(3210) => q(kcd), + q(3211) => q(kce), + q(3212) => q(kcf), + q(3213) => q(kcg), + q(3214) => q(kch), + q(3215) => q(kci), + q(3216) => q(kcj), + q(3217) => q(kck), + q(3218) => q(kcl), + q(3219) => q(kcm), + q(3220) => q(kcn), + q(3221) => q(kco), + q(3222) => q(kcp), + q(3223) => q(kcq), + q(3224) => q(kcr), + q(3225) => q(kcs), + q(3226) => q(kct), + q(3227) => q(kcu), + q(3228) => q(kcv), + q(3229) => q(kcw), + q(3230) => q(kcx), + q(3231) => q(kcy), + q(3232) => q(kcz), + q(3233) => q(kda), + q(3234) => q(kdc), + q(3235) => q(kdd), + q(3236) => q(kde), + q(3237) => q(kdf), + q(3238) => q(kdg), + q(3239) => q(kdh), + q(3240) => q(kdi), + q(3241) => q(kdj), + q(3242) => q(kdk), + q(3243) => q(kdl), + q(3244) => q(kdm), + q(3245) => q(kdn), + q(3246) => q(kdp), + q(3247) => q(kdq), + q(3248) => q(kdr), + q(3249) => q(kdt), + q(3250) => q(kdu), + q(3251) => q(kdw), + q(3252) => q(kdx), + q(3253) => q(kdy), + q(3254) => q(kdz), + q(3255) => q(kea), + q(3256) => q(keb), + q(3257) => q(kec), + q(3258) => q(ked), + q(3259) => q(kee), + q(3260) => q(kef), + q(3261) => q(keg), + q(3262) => q(keh), + q(3263) => q(kei), + q(3264) => q(kej), + q(3265) => q(kek), + q(3266) => q(kel), + q(3267) => q(kem), + q(3268) => q(ken), + q(3269) => q(keo), + q(3270) => q(kep), + q(3271) => q(keq), + q(3272) => q(ker), + q(3273) => q(kes), + q(3274) => q(ket), + q(3275) => q(keu), + q(3276) => q(kev), + q(3277) => q(kew), + q(3278) => q(kex), + q(3279) => q(key), + q(3280) => q(kez), + q(3281) => q(kfa), + q(3282) => q(kfb), + q(3283) => q(kfc), + q(3284) => q(kfd), + q(3285) => q(kfe), + q(3286) => q(kff), + q(3287) => q(kfg), + q(3288) => q(kfh), + q(3289) => q(kfi), + q(3290) => q(kfj), + q(3291) => q(kfk), + q(3292) => q(kfl), + q(3293) => q(kfm), + q(3294) => q(kfn), + q(3295) => q(kfo), + q(3296) => q(kfp), + q(3297) => q(kfq), + q(3298) => q(kfr), + q(3299) => q(kfs), + q(3300) => q(kft), + q(3301) => q(kfu), + q(3302) => q(kfv), + q(3303) => q(kfw), + q(3304) => q(kfx), + q(3305) => q(kfy), + q(3306) => q(kfz), + q(3307) => q(kga), + q(3308) => q(kgb), + q(3309) => q(kgc), + q(3310) => q(kgd), + q(3311) => q(kge), + q(3312) => q(kgf), + q(3313) => q(kgg), + q(3314) => q(kgi), + q(3315) => q(kgj), + q(3316) => q(kgk), + q(3317) => q(kgl), + q(3318) => q(kuq), + q(3319) => q(kgn), + q(3320) => q(kgo), + q(3321) => q(kgp), + q(3322) => q(kgq), + q(3323) => q(kgr), + q(3324) => q(kgs), + q(3325) => q(kgt), + q(3326) => q(kgu), + q(3327) => q(kgv), + q(3328) => q(kgw), + q(3329) => q(kgx), + q(3330) => q(kgy), + q(3331) => q(khb), + q(3332) => q(khc), + q(3333) => q(khd), + q(3334) => q(khe), + q(3335) => q(khf), + q(3336) => q(khg), + q(3337) => q(khh), + q(3338) => q(khj), + q(3339) => q(khk), + q(3340) => q(khl), + q(3341) => q(khn), + q(3342) => q(khp), + q(3343) => q(khq), + q(3344) => q(khr), + q(3345) => q(khs), + q(3346) => q(kht), + q(3347) => q(khu), + q(3348) => q(khv), + q(3349) => q(khw), + q(3350) => q(khx), + q(3351) => q(khy), + q(3352) => q(khz), + q(3353) => q(kia), + q(3354) => q(kib), + q(3355) => q(kic), + q(3356) => q(kid), + q(3357) => q(kie), + q(3358) => q(kif), + q(3359) => q(kig), + q(3360) => q(kih), + q(3361) => q(kii), + q(3362) => q(kij), + q(3363) => q(kil), + q(3364) => q(kim), + q(3365) => q(kio), + q(3366) => q(kip), + q(3367) => q(kiq), + q(3368) => q(kis), + q(3369) => q(kit), + q(3370) => q(kiu), + q(3371) => q(kiv), + q(3372) => q(kiw), + q(3373) => q(kix), + q(3374) => q(kiy), + q(3375) => q(kiz), + q(3376) => q(kja), + q(3377) => q(kjb), + q(3378) => q(kjc), + q(3379) => q(kjd), + q(3380) => q(kje), + q(3381) => q(kjf), + q(3382) => q(kjg), + q(3383) => q(kjh), + q(3384) => q(kji), + q(3385) => q(kjj), + q(3386) => q(kjk), + q(3387) => q(kjl), + q(3388) => q(kjm), + q(3389) => q(kjn), + q(3390) => q(kjo), + q(3391) => q(kjp), + q(3392) => q(kjq), + q(3393) => q(kjr), + q(3394) => q(kjs), + q(3395) => q(kjt), + q(3396) => q(kju), + q(3397) => q(kjv), + q(3398) => q(kjx), + q(3399) => q(kjy), + q(3400) => q(kjz), + q(3401) => q(kka), + q(3402) => q(kkb), + q(3403) => q(kkc), + q(3404) => q(kkd), + q(3405) => q(kke), + q(3406) => q(kkf), + q(3407) => q(kkg), + q(3408) => q(kkh), + q(3409) => q(kki), + q(3410) => q(kkj), + q(3411) => q(kkk), + q(3412) => q(kkl), + q(3413) => q(kkm), + q(3414) => q(kkn), + q(3415) => q(kko), + q(3416) => q(kkp), + q(3417) => q(kkq), + q(3418) => q(kkr), + q(3419) => q(kks), + q(3420) => q(kkt), + q(3421) => q(kku), + q(3422) => q(kkv), + q(3423) => q(kkw), + q(3424) => q(kkx), + q(3425) => q(kky), + q(3426) => q(kkz), + q(3427) => q(kla), + q(3428) => q(klb), + q(3429) => q(klc), + q(3430) => q(kld), + q(3431) => q(kle), + q(3432) => q(klf), + q(3433) => q(klg), + q(3434) => q(klh), + q(3435) => q(kli), + q(3436) => q(klj), + q(3437) => q(klk), + q(3438) => q(kll), + q(3439) => q(klm), + q(3440) => q(kln), + q(3441) => q(klo), + q(3442) => q(klp), + q(3443) => q(klq), + q(3444) => q(klr), + q(3445) => q(kls), + q(3446) => q(klt), + q(3447) => q(klu), + q(3448) => q(klv), + q(3449) => q(klw), + q(3450) => q(klx), + q(3451) => q(kly), + q(3452) => q(klz), + q(3453) => q(kma), + q(3454) => q(kmc), + q(3455) => q(kmd), + q(3456) => q(kme), + q(3457) => q(kmf), + q(3458) => q(kmg), + q(3459) => q(kmh), + q(3460) => q(kmi), + q(3461) => q(kmj), + q(3462) => q(kmk), + q(3463) => q(kml), + q(3464) => q(kmm), + q(3465) => q(kmn), + q(3466) => q(kmo), + q(3467) => q(kmp), + q(3468) => q(kmq), + q(3469) => q(kmr), + q(3470) => q(kms), + q(3471) => q(kmt), + q(3472) => q(kmu), + q(3473) => q(kmv), + q(3474) => q(kmw), + q(3475) => q(kmx), + q(3476) => q(kmy), + q(3477) => q(kmz), + q(3478) => q(kna), + q(3479) => q(knb), + q(3480) => q(knc), + q(3481) => q(knd), + q(3482) => q(kne), + q(3483) => q(knf), + q(3484) => q(kng), + q(3485) => q(kni), + q(3486) => q(knj), + q(3487) => q(knk), + q(3488) => q(knl), + q(3489) => q(knm), + q(3490) => q(knn), + q(3491) => q(kno), + q(3492) => q(knp), + q(3493) => q(knq), + q(3494) => q(knr), + q(3495) => q(kns), + q(3496) => q(knt), + q(3497) => q(knu), + q(3498) => q(knv), + q(3499) => q(knw), + q(3500) => q(knx), + q(3501) => q(kny), + q(3502) => q(knz), + q(3503) => q(koa), + q(3504) => q(koc), + q(3505) => q(kod), + q(3506) => q(koe), + q(3507) => q(kof), + q(3508) => q(kog), + q(3509) => q(koh), + q(3510) => q(koi), + q(3511) => q(kol), + q(3512) => q(koo), + q(3513) => q(kop), + q(3514) => q(koq), + q(3515) => q(kot), + q(3516) => q(kou), + q(3517) => q(kov), + q(3518) => q(kow), + q(3519) => q(kox), + q(3520) => q(koy), + q(3521) => q(koz), + q(3522) => q(kpa), + q(3523) => q(kpb), + q(3524) => q(kpc), + q(3525) => q(kpd), + q(3526) => q(kpf), + q(3527) => q(kpg), + q(3528) => q(kph), + q(3529) => q(kpi), + q(3530) => q(kpj), + q(3531) => q(kpk), + q(3532) => q(kpl), + q(3533) => q(kpm), + q(3534) => q(kpn), + q(3535) => q(kpo), + q(3536) => q(kpq), + q(3537) => q(kpr), + q(3538) => q(kps), + q(3539) => q(kpt), + q(3540) => q(kpu), + q(3541) => q(kpv), + q(3542) => q(kpw), + q(3543) => q(kpx), + q(3544) => q(kpy), + q(3545) => q(kpz), + q(3546) => q(kqa), + q(3547) => q(kqb), + q(3548) => q(kqc), + q(3549) => q(kqd), + q(3550) => q(kqe), + q(3551) => q(kqf), + q(3552) => q(kqg), + q(3553) => q(kqh), + q(3554) => q(kqi), + q(3555) => q(kqj), + q(3556) => q(kqk), + q(3557) => q(kql), + q(3558) => q(kqm), + q(3559) => q(kqn), + q(3560) => q(kqo), + q(3561) => q(kqp), + q(3562) => q(kqq), + q(3563) => q(kqr), + q(3564) => q(kqs), + q(3565) => q(kqt), + q(3566) => q(kqu), + q(3567) => q(kqv), + q(3568) => q(kqw), + q(3569) => q(kqx), + q(3570) => q(kqy), + q(3571) => q(kqz), + q(3572) => q(kra), + q(3573) => q(krb), + q(3574) => q(krd), + q(3575) => q(kre), + q(3576) => q(krf), + q(3577) => q(krh), + q(3578) => q(kri), + q(3579) => q(krj), + q(3580) => q(krk), + q(3581) => q(krm), + q(3582) => q(krn), + q(3583) => q(krp), + q(3584) => q(krr), + q(3585) => q(krs), + q(3586) => q(krt), + q(3587) => q(krv), + q(3588) => q(krw), + q(3589) => q(krx), + q(3590) => q(kry), + q(3591) => q(krz), + q(3592) => q(ksa), + q(3593) => q(ksb), + q(3594) => q(ksc), + q(3595) => q(ksd), + q(3596) => q(kse), + q(3597) => q(ksf), + q(3598) => q(ksg), + q(3599) => q(ksh), + q(3600) => q(ksi), + q(3601) => q(ksj), + q(3602) => q(ksk), + q(3603) => q(ksl), + q(3604) => q(ksm), + q(3605) => q(ksn), + q(3606) => q(kso), + q(3607) => q(ksp), + q(3608) => q(ksq), + q(3609) => q(ksr), + q(3610) => q(kss), + q(3611) => q(kst), + q(3612) => q(ksu), + q(3613) => q(ksv), + q(3614) => q(ksw), + q(3615) => q(ksx), + q(3616) => q(ksy), + q(3617) => q(ksz), + q(3618) => q(kta), + q(3619) => q(ktb), + q(3620) => q(ktc), + q(3621) => q(ktd), + q(3622) => q(kte), + q(3623) => q(ktf), + q(3624) => q(ktg), + q(3625) => q(kth), + q(3626) => q(kti), + q(3627) => q(ktj), + q(3628) => q(ktk), + q(3629) => q(ktl), + q(3630) => q(ktm), + q(3631) => q(ktn), + q(3632) => q(kto), + q(3633) => q(ktp), + q(3634) => q(ktq), + q(3635) => q(ktr), + q(3636) => q(kts), + q(3637) => q(ktt), + q(3638) => q(ktu), + q(3639) => q(ktv), + q(3640) => q(ktw), + q(3641) => q(ktx), + q(3642) => q(kty), + q(3643) => q(ktz), + q(3644) => q(kub), + q(3645) => q(kuc), + q(3646) => q(kud), + q(3647) => q(kue), + q(3648) => q(kuf), + q(3649) => q(kug), + q(3650) => q(kuh), + q(3651) => q(kui), + q(3652) => q(kuj), + q(3653) => q(kuk), + q(3654) => q(kul), + q(3655) => q(kun), + q(3656) => q(kuo), + q(3657) => q(kup), + q(3658) => q(kus), + q(3659) => q(kuu), + q(3660) => q(kuv), + q(3661) => q(kuw), + q(3662) => q(kux), + q(3663) => q(kuy), + q(3664) => q(kuz), + q(3665) => q(kva), + q(3666) => q(kvb), + q(3667) => q(kvc), + q(3668) => q(kvd), + q(3669) => q(kve), + q(3670) => q(kvf), + q(3671) => q(kvg), + q(3672) => q(kvh), + q(3673) => q(kvi), + q(3674) => q(kvj), + q(3675) => q(kvk), + q(3676) => q(kvl), + q(3677) => q(kvm), + q(3678) => q(kvn), + q(3679) => q(kvo), + q(3680) => q(kvp), + q(3681) => q(kvq), + q(3682) => q(kvr), + q(3683) => q(kvs), + q(3684) => q(kvt), + q(3685) => q(kvu), + q(3686) => q(kvv), + q(3687) => q(kvw), + q(3688) => q(kvx), + q(3689) => q(kvy), + q(3690) => q(kvz), + q(3691) => q(kwa), + q(3692) => q(kwb), + q(3693) => q(kwc), + q(3694) => q(kwd), + q(3695) => q(kwe), + q(3696) => q(kwf), + q(3697) => q(kwg), + q(3698) => q(kwh), + q(3699) => q(kwi), + q(3700) => q(kwj), + q(3701) => q(kwk), + q(3702) => q(kwl), + q(3703) => q(kwm), + q(3704) => q(kwn), + q(3705) => q(kwo), + q(3706) => q(kwp), + q(3707) => q(kwr), + q(3708) => q(kws), + q(3709) => q(kwt), + q(3710) => q(kwu), + q(3711) => q(kwv), + q(3712) => q(kww), + q(3713) => q(kwx), + q(3714) => q(kwy), + q(3715) => q(kwz), + q(3716) => q(kxa), + q(3717) => q(kxb), + q(3718) => q(kxc), + q(3719) => q(kxd), + q(3720) => q(kxf), + q(3721) => q(kxh), + q(3722) => q(kxi), + q(3723) => q(kxj), + q(3724) => q(kxk), + q(3725) => q(kxl), + q(3726) => q(kxm), + q(3727) => q(kxn), + q(3728) => q(kxo), + q(3729) => q(kxp), + q(3730) => q(kxq), + q(3731) => q(kxr), + q(3732) => q(kxs), + q(3733) => q(kxt), + q(3734) => q(kxu), + q(3735) => q(kxv), + q(3736) => q(kxw), + q(3737) => q(kxx), + q(3738) => q(kxy), + q(3739) => q(kxz), + q(3740) => q(kya), + q(3741) => q(kyb), + q(3742) => q(kyc), + q(3743) => q(kyd), + q(3744) => q(kye), + q(3745) => q(kyf), + q(3746) => q(kyg), + q(3747) => q(kyh), + q(3748) => q(kyi), + q(3749) => q(kyj), + q(3750) => q(kyk), + q(3751) => q(kyl), + q(3752) => q(kym), + q(3753) => q(kyn), + q(3754) => q(kyo), + q(3755) => q(kyp), + q(3756) => q(kyq), + q(3757) => q(kyr), + q(3758) => q(kys), + q(3759) => q(kyt), + q(3760) => q(kyu), + q(3761) => q(kyv), + q(3762) => q(kyw), + q(3763) => q(kyx), + q(3764) => q(kyy), + q(3765) => q(kyz), + q(3766) => q(kza), + q(3767) => q(kzb), + q(3768) => q(kzc), + q(3769) => q(kzd), + q(3770) => q(kze), + q(3771) => q(kzf), + q(3772) => q(kzg), + q(3773) => q(kzi), + q(3774) => q(kzj), + q(3775) => q(kzk), + q(3776) => q(kzl), + q(3777) => q(kzm), + q(3778) => q(kzn), + q(3779) => q(kzo), + q(3780) => q(kzp), + q(3781) => q(kzq), + q(3782) => q(kzr), + q(3783) => q(kzs), + q(3784) => q(kzt), + q(3785) => q(kzu), + q(3786) => q(kzv), + q(3787) => q(kzw), + q(3788) => q(kzx), + q(3789) => q(kzy), + q(3790) => q(kzz), + q(3791) => q(laa), + q(3792) => q(lab), + q(3793) => q(lac), + q(3794) => q(lae), + q(3795) => q(laf), + q(3796) => q(lag), + q(3797) => q(lai), + q(3798) => q(laj), + q(3799) => q(lak), + q(3800) => q(lal), + q(3801) => q(lan), + q(3802) => q(lap), + q(3803) => q(laq), + q(3804) => q(lar), + q(3805) => q(las), + q(3806) => q(lau), + q(3807) => q(law), + q(3808) => q(lax), + q(3809) => q(lay), + q(3810) => q(laz), + q(3811) => q(lba), + q(3812) => q(lbb), + q(3813) => q(lbc), + q(3814) => q(lbe), + q(3815) => q(lbf), + q(3816) => q(lbg), + q(3817) => q(lbi), + q(3818) => q(lbj), + q(3819) => q(lbk), + q(3820) => q(lbl), + q(3821) => q(lbm), + q(3822) => q(lbn), + q(3823) => q(lbo), + q(3824) => q(lbq), + q(3825) => q(lbr), + q(3826) => q(lbs), + q(3827) => q(lbt), + q(3828) => q(lbu), + q(3829) => q(lbv), + q(3830) => q(lbw), + q(3831) => q(lbx), + q(3832) => q(lby), + q(3833) => q(lbz), + q(3834) => q(lcc), + q(3835) => q(lcd), + q(3836) => q(lce), + q(3837) => q(lcf), + q(3838) => q(lch), + q(3839) => q(lcl), + q(3840) => q(lcm), + q(3841) => q(lcp), + q(3842) => q(lcq), + q(3843) => q(lcs), + q(3844) => q(lda), + q(3845) => q(ldb), + q(3846) => q(ldd), + q(3847) => q(ldg), + q(3848) => q(ldh), + q(3849) => q(ldi), + q(3850) => q(ldj), + q(3851) => q(ldk), + q(3852) => q(ldl), + q(3853) => q(ldm), + q(3854) => q(ldn), + q(3855) => q(ldo), + q(3856) => q(ldp), + q(3857) => q(ldq), + q(3858) => q(lea), + q(3859) => q(leb), + q(3860) => q(lec), + q(3861) => q(led), + q(3862) => q(lee), + q(3863) => q(lef), + q(3864) => q(leh), + q(3865) => q(lei), + q(3866) => q(lej), + q(3867) => q(lek), + q(3868) => q(lel), + q(3869) => q(lem), + q(3870) => q(len), + q(3871) => q(leo), + q(3872) => q(lep), + q(3873) => q(leq), + q(3874) => q(ler), + q(3875) => q(les), + q(3876) => q(let), + q(3877) => q(leu), + q(3878) => q(lev), + q(3879) => q(lew), + q(3880) => q(lex), + q(3881) => q(ley), + q(3882) => q(lfa), + q(3883) => q(lfn), + q(3884) => q(lga), + q(3885) => q(lgb), + q(3886) => q(lgg), + q(3887) => q(lgh), + q(3888) => q(lgi), + q(3889) => q(lgk), + q(3890) => q(lgl), + q(3891) => q(lgm), + q(3892) => q(lgn), + q(3893) => q(lgq), + q(3894) => q(lgr), + q(3895) => q(lgt), + q(3896) => q(lgu), + q(3897) => q(lgz), + q(3898) => q(lha), + q(3899) => q(lhh), + q(3900) => q(lhi), + q(3901) => q(lhl), + q(3902) => q(lhm), + q(3903) => q(lhn), + q(3904) => q(lhp), + q(3905) => q(lhs), + q(3906) => q(lht), + q(3907) => q(lhu), + q(3908) => q(lia), + q(3909) => q(lib), + q(3910) => q(lic), + q(3911) => q(lid), + q(3912) => q(lie), + q(3913) => q(lif), + q(3914) => q(lig), + q(3915) => q(lih), + q(3916) => q(lij), + q(3917) => q(lik), + q(3918) => q(lil), + q(3919) => q(lio), + q(3920) => q(lip), + q(3921) => q(liq), + q(3922) => q(lir), + q(3923) => q(lis), + q(3924) => q(liu), + q(3925) => q(liv), + q(3926) => q(liw), + q(3927) => q(lix), + q(3928) => q(liy), + q(3929) => q(liz), + q(3930) => q(lja), + q(3931) => q(lje), + q(3932) => q(lji), + q(3933) => q(ljl), + q(3934) => q(ljp), + q(3935) => q(ljw), + q(3936) => q(ljx), + q(3937) => q(lka), + q(3938) => q(lkb), + q(3939) => q(lkc), + q(3940) => q(lkd), + q(3941) => q(lke), + q(3942) => q(lkh), + q(3943) => q(lki), + q(3944) => q(lkj), + q(3945) => q(lkl), + q(3946) => q(lkm), + q(3947) => q(lkn), + q(3948) => q(lko), + q(3949) => q(lkr), + q(3950) => q(lks), + q(3951) => q(lkt), + q(3952) => q(lku), + q(3953) => q(lky), + q(3954) => q(lla), + q(3955) => q(llb), + q(3956) => q(llc), + q(3957) => q(lld), + q(3958) => q(lle), + q(3959) => q(llf), + q(3960) => q(llg), + q(3961) => q(llh), + q(3962) => q(lli), + q(3963) => q(llj), + q(3964) => q(llk), + q(3965) => q(lll), + q(3966) => q(llm), + q(3967) => q(lln), + q(3968) => q(llo), + q(3969) => q(llp), + q(3970) => q(llq), + q(3971) => q(lls), + q(3972) => q(llu), + q(3973) => q(llx), + q(3974) => q(lma), + q(3975) => q(lmb), + q(3976) => q(lmc), + q(3977) => q(lmd), + q(3978) => q(lme), + q(3979) => q(lmf), + q(3980) => q(lmg), + q(3981) => q(lmh), + q(3982) => q(lmi), + q(3983) => q(lmj), + q(3984) => q(lmk), + q(3985) => q(lml), + q(3986) => q(lmn), + q(3987) => q(lmo), + q(3988) => q(lmp), + q(3989) => q(lmq), + q(3990) => q(lmr), + q(3991) => q(lmu), + q(3992) => q(lmv), + q(3993) => q(lmw), + q(3994) => q(lmx), + q(3995) => q(lmy), + q(3996) => q(lmz), + q(3997) => q(lna), + q(3998) => q(lnb), + q(3999) => q(lnd), + q(4000) => q(lng), + q(4001) => q(lnh), + q(4002) => q(lni), + q(4003) => q(lnj), + q(4004) => q(lnl), + q(4005) => q(lnm), + q(4006) => q(lnn), + q(4007) => q(lno), + q(4008) => q(lns), + q(4009) => q(lnu), + q(4010) => q(lnw), + q(4011) => q(lnz), + q(4012) => q(loa), + q(4013) => q(lob), + q(4014) => q(loc), + q(4015) => q(loe), + q(4016) => q(lof), + q(4017) => q(log), + q(4018) => q(loh), + q(4019) => q(loi), + q(4020) => q(loj), + q(4021) => q(lok), + q(4022) => q(lom), + q(4023) => q(lon), + q(4024) => q(loo), + q(4025) => q(lop), + q(4026) => q(loq), + q(4027) => q(lor), + q(4028) => q(los), + q(4029) => q(lot), + q(4030) => q(lou), + q(4031) => q(lov), + q(4032) => q(low), + q(4033) => q(lox), + q(4034) => q(loy), + q(4035) => q(lpa), + q(4036) => q(lpe), + q(4037) => q(lpn), + q(4038) => q(lpo), + q(4039) => q(lpx), + q(4040) => q(lra), + q(4041) => q(lrc), + q(4042) => q(lre), + q(4043) => q(lrg), + q(4044) => q(lri), + q(4045) => q(lrk), + q(4046) => q(lrl), + q(4047) => q(lrm), + q(4048) => q(lrn), + q(4049) => q(lro), + q(4050) => q(lrr), + q(4051) => q(lrt), + q(4052) => q(lrv), + q(4053) => q(lrz), + q(4054) => q(lsa), + q(4055) => q(lsd), + q(4056) => q(lse), + q(4057) => q(lsg), + q(4058) => q(lsh), + q(4059) => q(lsi), + q(4060) => q(lsl), + q(4061) => q(lsm), + q(4062) => q(lso), + q(4063) => q(lsp), + q(4064) => q(lsr), + q(4065) => q(lss), + q(4066) => q(lst), + q(4067) => q(lsy), + q(4068) => q(ltc), + q(4069) => q(ltg), + q(4070) => q(lti), + q(4071) => q(ltn), + q(4072) => q(lto), + q(4073) => q(lts), + q(4074) => q(ltu), + q(4075) => q(luc), + q(4076) => q(lud), + q(4077) => q(lue), + q(4078) => q(luf), + q(4079) => q(luj), + q(4080) => q(luk), + q(4081) => q(lul), + q(4082) => q(lum), + q(4083) => q(lup), + q(4084) => q(luq), + q(4085) => q(lur), + q(4086) => q(lut), + q(4087) => q(luu), + q(4088) => q(luv), + q(4089) => q(luw), + q(4090) => q(luy), + q(4091) => q(luz), + q(4092) => q(lva), + q(4093) => q(lvk), + q(4094) => q(lvs), + q(4095) => q(lvu), + q(4096) => q(lwa), + q(4097) => q(lwe), + q(4098) => q(lwg), + q(4099) => q(lwh), + q(4100) => q(lwl), + q(4101) => q(lwm), + q(4102) => q(lwo), + q(4103) => q(lwt), + q(4104) => q(lwu), + q(4105) => q(lww), + q(4106) => q(lya), + q(4107) => q(lyg), + q(4108) => q(lyn), + q(4109) => q(lzh), + q(4110) => q(lzl), + q(4111) => q(lzn), + q(4112) => q(lzz), + q(4113) => q(maa), + q(4114) => q(mab), + q(4115) => q(mae), + q(4116) => q(maf), + q(4117) => q(maj), + q(4118) => q(mam), + q(4119) => q(maq), + q(4120) => q(mat), + q(4121) => q(mau), + q(4122) => q(mav), + q(4123) => q(maw), + q(4124) => q(max), + q(4125) => q(maz), + q(4126) => q(mba), + q(4127) => q(mbb), + q(4128) => q(mbc), + q(4129) => q(mbd), + q(4130) => q(mbe), + q(4131) => q(mbf), + q(4132) => q(mbh), + q(4133) => q(mbi), + q(4134) => q(mbj), + q(4135) => q(mbk), + q(4136) => q(mbl), + q(4137) => q(mbm), + q(4138) => q(mbn), + q(4139) => q(mbo), + q(4140) => q(mbp), + q(4141) => q(mbq), + q(4142) => q(mbr), + q(4143) => q(mbs), + q(4144) => q(mbt), + q(4145) => q(mbu), + q(4146) => q(mbv), + q(4147) => q(mbw), + q(4148) => q(mbx), + q(4149) => q(mby), + q(4150) => q(mbz), + q(4151) => q(mca), + q(4152) => q(mcb), + q(4153) => q(mcc), + q(4154) => q(mcd), + q(4155) => q(mce), + q(4156) => q(mcf), + q(4157) => q(mcg), + q(4158) => q(mch), + q(4159) => q(mci), + q(4160) => q(mcj), + q(4161) => q(mck), + q(4162) => q(mcl), + q(4163) => q(mcm), + q(4164) => q(mcn), + q(4165) => q(mco), + q(4166) => q(mcp), + q(4167) => q(mcq), + q(4168) => q(mcr), + q(4169) => q(mcs), + q(4170) => q(mct), + q(4171) => q(mcu), + q(4172) => q(mcv), + q(4173) => q(mcw), + q(4174) => q(mcx), + q(4175) => q(mcy), + q(4176) => q(mcz), + q(4177) => q(mda), + q(4178) => q(mdb), + q(4179) => q(mdc), + q(4180) => q(mdd), + q(4181) => q(mde), + q(4182) => q(mdg), + q(4183) => q(mdh), + q(4184) => q(mdi), + q(4185) => q(mdj), + q(4186) => q(mdk), + q(4187) => q(mdl), + q(4188) => q(mdm), + q(4189) => q(mdn), + q(4190) => q(mdp), + q(4191) => q(mdq), + q(4192) => q(mds), + q(4193) => q(mdt), + q(4194) => q(mdu), + q(4195) => q(mdv), + q(4196) => q(mdw), + q(4197) => q(mdx), + q(4198) => q(mdy), + q(4199) => q(mdz), + q(4200) => q(mea), + q(4201) => q(meb), + q(4202) => q(mec), + q(4203) => q(med), + q(4204) => q(mee), + q(4205) => q(mef), + q(4206) => q(meh), + q(4207) => q(mei), + q(4208) => q(mej), + q(4209) => q(mek), + q(4210) => q(mel), + q(4211) => q(mem), + q(4212) => q(meo), + q(4213) => q(mep), + q(4214) => q(meq), + q(4215) => q(mer), + q(4216) => q(mes), + q(4217) => q(met), + q(4218) => q(meu), + q(4219) => q(mev), + q(4220) => q(mew), + q(4221) => q(mey), + q(4222) => q(mez), + q(4223) => q(mfa), + q(4224) => q(mfb), + q(4225) => q(mfc), + q(4226) => q(mfd), + q(4227) => q(mfe), + q(4228) => q(mff), + q(4229) => q(mfg), + q(4230) => q(mfh), + q(4231) => q(mfi), + q(4232) => q(mfj), + q(4233) => q(mfk), + q(4234) => q(mfl), + q(4235) => q(mfm), + q(4236) => q(mfn), + q(4237) => q(mfo), + q(4238) => q(mfp), + q(4239) => q(mfq), + q(4240) => q(mfr), + q(4241) => q(mfs), + q(4242) => q(mft), + q(4243) => q(mfu), + q(4244) => q(mfv), + q(4245) => q(mfw), + q(4246) => q(mfx), + q(4247) => q(mfy), + q(4248) => q(mfz), + q(4249) => q(mgb), + q(4250) => q(mgc), + q(4251) => q(mgd), + q(4252) => q(mge), + q(4253) => q(mgf), + q(4254) => q(mgg), + q(4255) => q(mgh), + q(4256) => q(mgi), + q(4257) => q(mgj), + q(4258) => q(mgk), + q(4259) => q(mgl), + q(4260) => q(mgm), + q(4261) => q(mgn), + q(4262) => q(mgo), + q(4263) => q(mgp), + q(4264) => q(mgq), + q(4265) => q(mgr), + q(4266) => q(mgs), + q(4267) => q(mgt), + q(4268) => q(mgu), + q(4269) => q(mgv), + q(4270) => q(mgw), + q(4271) => q(mgy), + q(4272) => q(mgz), + q(4273) => q(mha), + q(4274) => q(mhb), + q(4275) => q(mhc), + q(4276) => q(mhd), + q(4277) => q(mhe), + q(4278) => q(mhf), + q(4279) => q(mhg), + q(4280) => q(mhi), + q(4281) => q(mhj), + q(4282) => q(mhk), + q(4283) => q(mhl), + q(4284) => q(mhm), + q(4285) => q(mhn), + q(4286) => q(mho), + q(4287) => q(mhp), + q(4288) => q(mhq), + q(4289) => q(mhr), + q(4290) => q(mhs), + q(4291) => q(mht), + q(4292) => q(mhu), + q(4293) => q(mhw), + q(4294) => q(mhx), + q(4295) => q(mhy), + q(4296) => q(mhz), + q(4297) => q(mia), + q(4298) => q(mib), + q(4299) => q(mid), + q(4300) => q(mie), + q(4301) => q(mif), + q(4302) => q(mig), + q(4303) => q(mih), + q(4304) => q(mii), + q(4305) => q(mij), + q(4306) => q(mik), + q(4307) => q(mil), + q(4308) => q(mim), + q(4309) => q(mio), + q(4310) => q(mip), + q(4311) => q(miq), + q(4312) => q(mir), + q(4313) => q(mit), + q(4314) => q(miu), + q(4315) => q(miw), + q(4316) => q(mix), + q(4317) => q(miy), + q(4318) => q(miz), + q(4319) => q(mjc), + q(4320) => q(mjd), + q(4321) => q(mje), + q(4322) => q(mjg), + q(4323) => q(mjh), + q(4324) => q(mji), + q(4325) => q(mjj), + q(4326) => q(mjk), + q(4327) => q(mjl), + q(4328) => q(mjm), + q(4329) => q(mjn), + q(4330) => q(mjo), + q(4331) => q(mjp), + q(4332) => q(mjq), + q(4333) => q(mjr), + q(4334) => q(mjs), + q(4335) => q(mjt), + q(4336) => q(mju), + q(4337) => q(mjv), + q(4338) => q(mjw), + q(4339) => q(mjx), + q(4340) => q(mjy), + q(4341) => q(mjz), + q(4342) => q(mka), + q(4343) => q(mkb), + q(4344) => q(mkc), + q(4345) => q(mke), + q(4346) => q(mkf), + q(4347) => q(mkg), + q(4348) => q(mki), + q(4349) => q(mkj), + q(4350) => q(mkk), + q(4351) => q(mkl), + q(4352) => q(mkm), + q(4353) => q(mkn), + q(4354) => q(mko), + q(4355) => q(mkp), + q(4356) => q(mkq), + q(4357) => q(mkr), + q(4358) => q(mks), + q(4359) => q(mkt), + q(4360) => q(mku), + q(4361) => q(mkv), + q(4362) => q(mkw), + q(4363) => q(mkx), + q(4364) => q(mky), + q(4365) => q(mkz), + q(4366) => q(mla), + q(4367) => q(mlb), + q(4368) => q(mlc), + q(4369) => q(mle), + q(4370) => q(mlf), + q(4371) => q(mlh), + q(4372) => q(mli), + q(4373) => q(mlj), + q(4374) => q(mlk), + q(4375) => q(mll), + q(4376) => q(mlm), + q(4377) => q(mln), + q(4378) => q(mlo), + q(4379) => q(mlp), + q(4380) => q(mlq), + q(4381) => q(mlr), + q(4382) => q(mls), + q(4383) => q(mlu), + q(4384) => q(mlv), + q(4385) => q(mlw), + q(4386) => q(mlx), + q(4387) => q(mlz), + q(4388) => q(mma), + q(4389) => q(mmb), + q(4390) => q(mmc), + q(4391) => q(mmd), + q(4392) => q(mme), + q(4393) => q(mmf), + q(4394) => q(mmg), + q(4395) => q(mmh), + q(4396) => q(mmi), + q(4397) => q(mmj), + q(4398) => q(mmk), + q(4399) => q(mml), + q(4400) => q(mmm), + q(4401) => q(mmn), + q(4402) => q(mmo), + q(4403) => q(mmp), + q(4404) => q(mmq), + q(4405) => q(mmr), + q(4406) => q(mmt), + q(4407) => q(mmu), + q(4408) => q(mmv), + q(4409) => q(mmw), + q(4410) => q(mmx), + q(4411) => q(mmy), + q(4412) => q(mmz), + q(4413) => q(mna), + q(4414) => q(mnb), + q(4415) => q(mnd), + q(4416) => q(mne), + q(4417) => q(mnf), + q(4418) => q(mng), + q(4419) => q(mnh), + q(4420) => q(mnj), + q(4421) => q(mnk), + q(4422) => q(mnl), + q(4423) => q(mnm), + q(4424) => q(mnn), + q(4425) => q(mnp), + q(4426) => q(mnq), + q(4427) => q(mnr), + q(4428) => q(mns), + q(4429) => q(mnu), + q(4430) => q(mnv), + q(4431) => q(mnw), + q(4432) => q(mnx), + q(4433) => q(mny), + q(4434) => q(mnz), + q(4435) => q(moa), + q(4436) => q(moc), + q(4437) => q(mod), + q(4438) => q(moe), + q(4439) => q(mog), + q(4440) => q(moi), + q(4441) => q(moj), + q(4442) => q(mok), + q(4443) => q(mom), + q(4444) => q(moo), + q(4445) => q(mop), + q(4446) => q(moq), + q(4447) => q(mor), + q(4448) => q(mou), + q(4449) => q(mov), + q(4450) => q(mow), + q(4451) => q(mox), + q(4452) => q(moy), + q(4453) => q(moz), + q(4454) => q(mpa), + q(4455) => q(mpb), + q(4456) => q(mpc), + q(4457) => q(mpd), + q(4458) => q(mpe), + q(4459) => q(mpg), + q(4460) => q(mph), + q(4461) => q(mpi), + q(4462) => q(mpj), + q(4463) => q(mpk), + q(4464) => q(mpl), + q(4465) => q(mpm), + q(4466) => q(mpn), + q(4467) => q(mpo), + q(4468) => q(mpp), + q(4469) => q(mpq), + q(4470) => q(mpr), + q(4471) => q(mps), + q(4472) => q(mpt), + q(4473) => q(mpu), + q(4474) => q(mpv), + q(4475) => q(mpw), + q(4476) => q(mpx), + q(4477) => q(mpy), + q(4478) => q(mpz), + q(4479) => q(mqa), + q(4480) => q(mqb), + q(4481) => q(mqc), + q(4482) => q(mqe), + q(4483) => q(mqf), + q(4484) => q(mqg), + q(4485) => q(mqh), + q(4486) => q(mqi), + q(4487) => q(mqj), + q(4488) => q(mqk), + q(4489) => q(mql), + q(4490) => q(mqm), + q(4491) => q(mqn), + q(4492) => q(mqo), + q(4493) => q(mqp), + q(4494) => q(mqq), + q(4495) => q(mqr), + q(4496) => q(mqs), + q(4497) => q(mqt), + q(4498) => q(mqu), + q(4499) => q(mqv), + q(4500) => q(mqw), + q(4501) => q(mqx), + q(4502) => q(mqy), + q(4503) => q(mqz), + q(4504) => q(mra), + q(4505) => q(mrb), + q(4506) => q(mrc), + q(4507) => q(mrd), + q(4508) => q(mre), + q(4509) => q(mrf), + q(4510) => q(mrg), + q(4511) => q(mrh), + q(4512) => q(mrj), + q(4513) => q(mrk), + q(4514) => q(mrl), + q(4515) => q(mrm), + q(4516) => q(mrn), + q(4517) => q(mro), + q(4518) => q(mrp), + q(4519) => q(mrq), + q(4520) => q(mrr), + q(4521) => q(mrs), + q(4522) => q(mrt), + q(4523) => q(mru), + q(4524) => q(mrv), + q(4525) => q(mrw), + q(4526) => q(mrx), + q(4527) => q(mry), + q(4528) => q(mrz), + q(4529) => q(msb), + q(4530) => q(msc), + q(4531) => q(msd), + q(4532) => q(mse), + q(4533) => q(msf), + q(4534) => q(msg), + q(4535) => q(msh), + q(4536) => q(msi), + q(4537) => q(msj), + q(4538) => q(msk), + q(4539) => q(msl), + q(4540) => q(msm), + q(4541) => q(msn), + q(4542) => q(mso), + q(4543) => q(msp), + q(4544) => q(msq), + q(4545) => q(msr), + q(4546) => q(mss), + q(4547) => q(msu), + q(4548) => q(msv), + q(4549) => q(msw), + q(4550) => q(msx), + q(4551) => q(msy), + q(4552) => q(msz), + q(4553) => q(mta), + q(4554) => q(mtb), + q(4555) => q(mtc), + q(4556) => q(mtd), + q(4557) => q(mte), + q(4558) => q(mtf), + q(4559) => q(mtg), + q(4560) => q(mth), + q(4561) => q(mti), + q(4562) => q(mtj), + q(4563) => q(mtk), + q(4564) => q(mtl), + q(4565) => q(mtm), + q(4566) => q(mtn), + q(4567) => q(mto), + q(4568) => q(mtp), + q(4569) => q(mtq), + q(4570) => q(mtr), + q(4571) => q(mts), + q(4572) => q(mtt), + q(4573) => q(mtu), + q(4574) => q(mtv), + q(4575) => q(mtw), + q(4576) => q(mtx), + q(4577) => q(mty), + q(4578) => q(mua), + q(4579) => q(mub), + q(4580) => q(muc), + q(4581) => q(mud), + q(4582) => q(mue), + q(4583) => q(mug), + q(4584) => q(muh), + q(4585) => q(mui), + q(4586) => q(muj), + q(4587) => q(muk), + q(4588) => q(mum), + q(4589) => q(muo), + q(4590) => q(mup), + q(4591) => q(muq), + q(4592) => q(mur), + q(4593) => q(mut), + q(4594) => q(muu), + q(4595) => q(muv), + q(4596) => q(mux), + q(4597) => q(muy), + q(4598) => q(muz), + q(4599) => q(mva), + q(4600) => q(mvb), + q(4601) => q(mvd), + q(4602) => q(mve), + q(4603) => q(mvf), + q(4604) => q(mvg), + q(4605) => q(mvh), + q(4606) => q(mvi), + q(4607) => q(mvk), + q(4608) => q(mvl), + q(4609) => q(mvm), + q(4610) => q(mvn), + q(4611) => q(mvo), + q(4612) => q(mvp), + q(4613) => q(mvq), + q(4614) => q(mvr), + q(4615) => q(mvs), + q(4616) => q(mvt), + q(4617) => q(mvu), + q(4618) => q(mvv), + q(4619) => q(mvw), + q(4620) => q(mvx), + q(4621) => q(mvy), + q(4622) => q(mvz), + q(4623) => q(mwa), + q(4624) => q(mwb), + q(4625) => q(mwc), + q(4626) => q(mwe), + q(4627) => q(mwf), + q(4628) => q(mwg), + q(4629) => q(mwh), + q(4630) => q(mwi), + q(4631) => q(mwk), + q(4632) => q(mwm), + q(4633) => q(mwn), + q(4634) => q(mwo), + q(4635) => q(mwp), + q(4636) => q(mwq), + q(4637) => q(mws), + q(4638) => q(mwt), + q(4639) => q(mwu), + q(4640) => q(mwv), + q(4641) => q(mww), + q(4642) => q(mwx), + q(4643) => q(mwy), + q(4644) => q(mwz), + q(4645) => q(mxa), + q(4646) => q(mxb), + q(4647) => q(mxc), + q(4648) => q(mxd), + q(4649) => q(mxe), + q(4650) => q(mxf), + q(4651) => q(mxg), + q(4652) => q(mxh), + q(4653) => q(mxi), + q(4654) => q(mxj), + q(4655) => q(mxk), + q(4656) => q(mxl), + q(4657) => q(mxm), + q(4658) => q(mxn), + q(4659) => q(mxo), + q(4660) => q(mxp), + q(4661) => q(mxq), + q(4662) => q(mxr), + q(4663) => q(mxs), + q(4664) => q(mxt), + q(4665) => q(mxu), + q(4666) => q(mxv), + q(4667) => q(mxw), + q(4668) => q(mxx), + q(4669) => q(mxy), + q(4670) => q(mxz), + q(4671) => q(myb), + q(4672) => q(myc), + q(4673) => q(myd), + q(4674) => q(mye), + q(4675) => q(myf), + q(4676) => q(myg), + q(4677) => q(myh), + q(4678) => q(myi), + q(4679) => q(myj), + q(4680) => q(myk), + q(4681) => q(myl), + q(4682) => q(mym), + q(4683) => q(myo), + q(4684) => q(myp), + q(4685) => q(myr), + q(4686) => q(mys), + q(4687) => q(myu), + q(4688) => q(myw), + q(4689) => q(myx), + q(4690) => q(myy), + q(4691) => q(myz), + q(4692) => q(mza), + q(4693) => q(mzb), + q(4694) => q(mzc), + q(4695) => q(mzd), + q(4696) => q(mze), + q(4697) => q(mzg), + q(4698) => q(mzh), + q(4699) => q(mzi), + q(4700) => q(mzj), + q(4701) => q(mzk), + q(4702) => q(mzl), + q(4703) => q(mzm), + q(4704) => q(mzn), + q(4705) => q(mzo), + q(4706) => q(mzp), + q(4707) => q(mzq), + q(4708) => q(mzr), + q(4709) => q(mzs), + q(4710) => q(mzt), + q(4711) => q(mzu), + q(4712) => q(mzv), + q(4713) => q(mzw), + q(4714) => q(mzx), + q(4715) => q(mzy), + q(4716) => q(mzz), + q(4717) => q(naa), + q(4718) => q(nab), + q(4719) => q(nac), + q(4720) => q(nad), + q(4721) => q(nae), + q(4722) => q(naf), + q(4723) => q(nag), + q(4724) => q(naj), + q(4725) => q(nak), + q(4726) => q(nal), + q(4727) => q(nam), + q(4728) => q(nan), + q(4729) => q(nao), + q(4730) => q(naq), + q(4731) => q(nar), + q(4732) => q(nas), + q(4733) => q(nat), + q(4734) => q(naw), + q(4735) => q(nax), + q(4736) => q(nay), + q(4737) => q(naz), + q(4738) => q(nba), + q(4739) => q(nbb), + q(4740) => q(nbc), + q(4741) => q(nbd), + q(4742) => q(nbe), + q(4743) => q(nbg), + q(4744) => q(nbh), + q(4745) => q(nbi), + q(4746) => q(nbj), + q(4747) => q(nbk), + q(4748) => q(nbm), + q(4749) => q(nbn), + q(4750) => q(nbo), + q(4751) => q(nbp), + q(4752) => q(nbq), + q(4753) => q(nbr), + q(4754) => q(nbs), + q(4755) => q(nbt), + q(4756) => q(nbu), + q(4757) => q(nbv), + q(4758) => q(nbw), + q(4759) => q(nby), + q(4760) => q(nca), + q(4761) => q(ncb), + q(4762) => q(ncc), + q(4763) => q(ncd), + q(4764) => q(nce), + q(4765) => q(ncf), + q(4766) => q(ncg), + q(4767) => q(nch), + q(4768) => q(nci), + q(4769) => q(ncj), + q(4770) => q(nck), + q(4771) => q(ncl), + q(4772) => q(ncm), + q(4773) => q(ncn), + q(4774) => q(nco), + q(4775) => q(ncp), + q(4776) => q(ncr), + q(4777) => q(ncs), + q(4778) => q(nct), + q(4779) => q(ncu), + q(4780) => q(ncx), + q(4781) => q(ncz), + q(4782) => q(nda), + q(4783) => q(ndb), + q(4784) => q(ndc), + q(4785) => q(ndd), + q(4786) => q(ndf), + q(4787) => q(ndg), + q(4788) => q(ndh), + q(4789) => q(ndi), + q(4790) => q(ndj), + q(4791) => q(ndk), + q(4792) => q(ndl), + q(4793) => q(ndm), + q(4794) => q(ndn), + q(4795) => q(ndp), + q(4796) => q(ndq), + q(4797) => q(ndr), + q(4798) => q(ndt), + q(4799) => q(ndu), + q(4800) => q(ndv), + q(4801) => q(ndw), + q(4802) => q(ndx), + q(4803) => q(ndy), + q(4804) => q(ndz), + q(4805) => q(nea), + q(4806) => q(neb), + q(4807) => q(nec), + q(4808) => q(ned), + q(4809) => q(nee), + q(4810) => q(nef), + q(4811) => q(neg), + q(4812) => q(neh), + q(4813) => q(nei), + q(4814) => q(nej), + q(4815) => q(nek), + q(4816) => q(nem), + q(4817) => q(nen), + q(4818) => q(neo), + q(4819) => q(neq), + q(4820) => q(ner), + q(4821) => q(nes), + q(4822) => q(net), + q(4823) => q(neu), + q(4824) => q(nev), + q(4825) => q(nex), + q(4826) => q(ney), + q(4827) => q(nez), + q(4828) => q(nfa), + q(4829) => q(nfd), + q(4830) => q(nfl), + q(4831) => q(nfr), + q(4832) => q(nfu), + q(4833) => q(nga), + q(4834) => q(ngb), + q(4835) => q(ngc), + q(4836) => q(ngd), + q(4837) => q(nge), + q(4838) => q(ngg), + q(4839) => q(ngh), + q(4840) => q(ngi), + q(4841) => q(ngj), + q(4842) => q(ngk), + q(4843) => q(ngl), + q(4844) => q(ngm), + q(4845) => q(ngn), + q(4846) => q(ngo), + q(4847) => q(ngp), + q(4848) => q(ngq), + q(4849) => q(ngr), + q(4850) => q(ngs), + q(4851) => q(ngt), + q(4852) => q(ngu), + q(4853) => q(ngv), + q(4854) => q(ngw), + q(4855) => q(ngx), + q(4856) => q(ngy), + q(4857) => q(ngz), + q(4858) => q(nha), + q(4859) => q(nhb), + q(4860) => q(nhc), + q(4861) => q(nhd), + q(4862) => q(nhe), + q(4863) => q(nhf), + q(4864) => q(nhg), + q(4865) => q(nhh), + q(4866) => q(nhi), + q(4867) => q(nhk), + q(4868) => q(nhm), + q(4869) => q(nhn), + q(4870) => q(nho), + q(4871) => q(nhp), + q(4872) => q(nhq), + q(4873) => q(nhr), + q(4874) => q(nht), + q(4875) => q(nhu), + q(4876) => q(nhv), + q(4877) => q(nhw), + q(4878) => q(nhx), + q(4879) => q(nhy), + q(4880) => q(nhz), + q(4881) => q(nib), + q(4882) => q(nid), + q(4883) => q(nie), + q(4884) => q(nif), + q(4885) => q(nig), + q(4886) => q(nih), + q(4887) => q(nii), + q(4888) => q(nij), + q(4889) => q(nik), + q(4890) => q(nil), + q(4891) => q(nim), + q(4892) => q(nin), + q(4893) => q(nio), + q(4894) => q(niq), + q(4895) => q(nir), + q(4896) => q(nis), + q(4897) => q(nit), + q(4898) => q(niv), + q(4899) => q(niw), + q(4900) => q(nix), + q(4901) => q(niy), + q(4902) => q(niz), + q(4903) => q(nja), + q(4904) => q(njb), + q(4905) => q(njd), + q(4906) => q(njh), + q(4907) => q(nji), + q(4908) => q(njj), + q(4909) => q(njl), + q(4910) => q(njm), + q(4911) => q(njn), + q(4912) => q(njo), + q(4913) => q(njr), + q(4914) => q(njs), + q(4915) => q(njt), + q(4916) => q(nju), + q(4917) => q(njx), + q(4918) => q(njy), + q(4919) => q(njz), + q(4920) => q(nka), + q(4921) => q(nkb), + q(4922) => q(nkc), + q(4923) => q(nkd), + q(4924) => q(nke), + q(4925) => q(nkf), + q(4926) => q(nkg), + q(4927) => q(nkh), + q(4928) => q(nki), + q(4929) => q(nkj), + q(4930) => q(nkk), + q(4931) => q(nkm), + q(4932) => q(nkn), + q(4933) => q(nko), + q(4934) => q(nkp), + q(4935) => q(nkq), + q(4936) => q(nkr), + q(4937) => q(nks), + q(4938) => q(nkt), + q(4939) => q(nku), + q(4940) => q(nkv), + q(4941) => q(nkw), + q(4942) => q(nkx), + q(4943) => q(nkz), + q(4944) => q(nla), + q(4945) => q(nlc), + q(4946) => q(nle), + q(4947) => q(nlg), + q(4948) => q(nli), + q(4949) => q(nlj), + q(4950) => q(nlk), + q(4951) => q(nll), + q(4952) => q(nlo), + q(4953) => q(nlq), + q(4954) => q(nlu), + q(4955) => q(nlv), + q(4956) => q(nlw), + q(4957) => q(nlx), + q(4958) => q(nly), + q(4959) => q(nlz), + q(4960) => q(nma), + q(4961) => q(nmb), + q(4962) => q(nmc), + q(4963) => q(nmd), + q(4964) => q(nme), + q(4965) => q(nmf), + q(4966) => q(nmg), + q(4967) => q(nmh), + q(4968) => q(nmi), + q(4969) => q(nmj), + q(4970) => q(nmk), + q(4971) => q(nml), + q(4972) => q(nmm), + q(4973) => q(nmn), + q(4974) => q(nmo), + q(4975) => q(nmp), + q(4976) => q(nmq), + q(4977) => q(nmr), + q(4978) => q(nms), + q(4979) => q(nmt), + q(4980) => q(nmu), + q(4981) => q(nmv), + q(4982) => q(nmw), + q(4983) => q(nmx), + q(4984) => q(nmy), + q(4985) => q(nmz), + q(4986) => q(nna), + q(4987) => q(nnb), + q(4988) => q(nnc), + q(4989) => q(nnd), + q(4990) => q(nne), + q(4991) => q(nnf), + q(4992) => q(nng), + q(4993) => q(nnh), + q(4994) => q(nni), + q(4995) => q(nnj), + q(4996) => q(nnk), + q(4997) => q(nnl), + q(4998) => q(nnm), + q(4999) => q(nnn), + q(5000) => q(nnp), + q(5001) => q(nnq), + q(5002) => q(nnr), + q(5003) => q(nns), + q(5004) => q(nnt), + q(5005) => q(nnu), + q(5006) => q(nnv), + q(5007) => q(nnw), + q(5008) => q(nny), + q(5009) => q(nnz), + q(5010) => q(noa), + q(5011) => q(noc), + q(5012) => q(nod), + q(5013) => q(noe), + q(5014) => q(nof), + q(5015) => q(noh), + q(5016) => q(noi), + q(5017) => q(noj), + q(5018) => q(nok), + q(5019) => q(nol), + q(5020) => q(nom), + q(5021) => q(nop), + q(5022) => q(noq), + q(5023) => q(nos), + q(5024) => q(not), + q(5025) => q(nou), + q(5026) => q(nov), + q(5027) => q(now), + q(5028) => q(noy), + q(5029) => q(noz), + q(5030) => q(npa), + q(5031) => q(npb), + q(5032) => q(npg), + q(5033) => q(nph), + q(5034) => q(npi), + q(5035) => q(npl), + q(5036) => q(npn), + q(5037) => q(npo), + q(5038) => q(nps), + q(5039) => q(npu), + q(5040) => q(npy), + q(5041) => q(nqg), + q(5042) => q(nqk), + q(5043) => q(nqm), + q(5044) => q(nqn), + q(5045) => q(nqq), + q(5046) => q(nqy), + q(5047) => q(nra), + q(5048) => q(nrb), + q(5049) => q(nrc), + q(5050) => q(nre), + q(5051) => q(nrf), + q(5052) => q(nrg), + q(5053) => q(nri), + q(5054) => q(nrk), + q(5055) => q(nrl), + q(5056) => q(nrm), + q(5057) => q(nrn), + q(5058) => q(nrp), + q(5059) => q(nrr), + q(5060) => q(nrt), + q(5061) => q(nru), + q(5062) => q(nrx), + q(5063) => q(nrz), + q(5064) => q(nsa), + q(5065) => q(nsc), + q(5066) => q(nsd), + q(5067) => q(nse), + q(5068) => q(nsf), + q(5069) => q(nsg), + q(5070) => q(nsh), + q(5071) => q(nsi), + q(5072) => q(nsk), + q(5073) => q(nsl), + q(5074) => q(nsm), + q(5075) => q(nsn), + q(5076) => q(nsp), + q(5077) => q(nsq), + q(5078) => q(nsr), + q(5079) => q(nss), + q(5080) => q(nst), + q(5081) => q(nsu), + q(5082) => q(nsv), + q(5083) => q(nsw), + q(5084) => q(nsx), + q(5085) => q(nsy), + q(5086) => q(nsz), + q(5087) => q(nte), + q(5088) => q(ntg), + q(5089) => q(nti), + q(5090) => q(ntj), + q(5091) => q(ntk), + q(5092) => q(ntm), + q(5093) => q(nto), + q(5094) => q(ntp), + q(5095) => q(ntr), + q(5096) => q(nts), + q(5097) => q(ntu), + q(5098) => q(ntw), + q(5099) => q(ntx), + q(5100) => q(nty), + q(5101) => q(ntz), + q(5102) => q(nua), + q(5103) => q(nuc), + q(5104) => q(nud), + q(5105) => q(nue), + q(5106) => q(nuf), + q(5107) => q(nug), + q(5108) => q(nuh), + q(5109) => q(nui), + q(5110) => q(nuj), + q(5111) => q(nuk), + q(5112) => q(nul), + q(5113) => q(num), + q(5114) => q(nun), + q(5115) => q(nuo), + q(5116) => q(nup), + q(5117) => q(nuq), + q(5118) => q(nur), + q(5119) => q(nus), + q(5120) => q(nut), + q(5121) => q(nuu), + q(5122) => q(nuv), + q(5123) => q(nuw), + q(5124) => q(nux), + q(5125) => q(nuy), + q(5126) => q(nuz), + q(5127) => q(nvh), + q(5128) => q(nvm), + q(5129) => q(nvo), + q(5130) => q(nwa), + q(5131) => q(nwb), + q(5132) => q(nwe), + q(5133) => q(nwg), + q(5134) => q(nwi), + q(5135) => q(nwm), + q(5136) => q(nwo), + q(5137) => q(nwr), + q(5138) => q(nwx), + q(5139) => q(nwy), + q(5140) => q(nxa), + q(5141) => q(nxd), + q(5142) => q(nxe), + q(5143) => q(nxg), + q(5144) => q(nxi), + q(5145) => q(nxk), + q(5146) => q(nxl), + q(5147) => q(nxm), + q(5148) => q(nxn), + q(5149) => q(nxo), + q(5150) => q(nxq), + q(5151) => q(nxr), + q(5152) => q(nxu), + q(5153) => q(nxx), + q(5154) => q(nyb), + q(5155) => q(nyc), + q(5156) => q(nyd), + q(5157) => q(nye), + q(5158) => q(nyf), + q(5159) => q(nyg), + q(5160) => q(nyh), + q(5161) => q(nyi), + q(5162) => q(nyj), + q(5163) => q(nyk), + q(5164) => q(nyl), + q(5165) => q(nyp), + q(5166) => q(nyq), + q(5167) => q(nyr), + q(5168) => q(nys), + q(5169) => q(nyt), + q(5170) => q(nyu), + q(5171) => q(nyv), + q(5172) => q(nyw), + q(5173) => q(nyx), + q(5174) => q(nyy), + q(5175) => q(nza), + q(5176) => q(nzb), + q(5177) => q(nzk), + q(5178) => q(nzm), + q(5179) => q(nzs), + q(5180) => q(nzu), + q(5181) => q(nzy), + q(5182) => q(nzz), + q(5183) => q(oaa), + q(5184) => q(oac), + q(5185) => q(oar), + q(5186) => q(oav), + q(5187) => q(obi), + q(5188) => q(obk), + q(5189) => q(obl), + q(5190) => q(obm), + q(5191) => q(obo), + q(5192) => q(obr), + q(5193) => q(obt), + q(5194) => q(obu), + q(5195) => q(oca), + q(5196) => q(och), + q(5197) => q(oco), + q(5198) => q(ocu), + q(5199) => q(oda), + q(5200) => q(odk), + q(5201) => q(odt), + q(5202) => q(odu), + q(5203) => q(ofo), + q(5204) => q(ofs), + q(5205) => q(ofu), + q(5206) => q(ogb), + q(5207) => q(ogc), + q(5208) => q(oge), + q(5209) => q(ogg), + q(5210) => q(ogo), + q(5211) => q(ogu), + q(5212) => q(oht), + q(5213) => q(ohu), + q(5214) => q(oia), + q(5215) => q(oin), + q(5216) => q(ojb), + q(5217) => q(ojc), + q(5218) => q(ojg), + q(5219) => q(ojp), + q(5220) => q(ojs), + q(5221) => q(ojv), + q(5222) => q(ojw), + q(5223) => q(oka), + q(5224) => q(okb), + q(5225) => q(okd), + q(5226) => q(oke), + q(5227) => q(okg), + q(5228) => q(okh), + q(5229) => q(oki), + q(5230) => q(okj), + q(5231) => q(okk), + q(5232) => q(okl), + q(5233) => q(okm), + q(5234) => q(okn), + q(5235) => q(oko), + q(5236) => q(okr), + q(5237) => q(oks), + q(5238) => q(oku), + q(5239) => q(okv), + q(5240) => q(okx), + q(5241) => q(ola), + q(5242) => q(old), + q(5243) => q(ole), + q(5244) => q(olk), + q(5245) => q(olm), + q(5246) => q(olo), + q(5247) => q(olr), + q(5248) => q(olt), + q(5249) => q(oma), + q(5250) => q(omb), + q(5251) => q(omc), + q(5252) => q(ome), + q(5253) => q(omg), + q(5254) => q(omi), + q(5255) => q(omk), + q(5256) => q(oml), + q(5257) => q(omn), + q(5258) => q(omo), + q(5259) => q(omp), + q(5260) => q(omr), + q(5261) => q(omt), + q(5262) => q(omu), + q(5263) => q(omw), + q(5264) => q(omx), + q(5265) => q(ona), + q(5266) => q(onb), + q(5267) => q(one), + q(5268) => q(ong), + q(5269) => q(oni), + q(5270) => q(onj), + q(5271) => q(onk), + q(5272) => q(onn), + q(5273) => q(ono), + q(5274) => q(onp), + q(5275) => q(onr), + q(5276) => q(ons), + q(5277) => q(ont), + q(5278) => q(onu), + q(5279) => q(onw), + q(5280) => q(onx), + q(5281) => q(ood), + q(5282) => q(oog), + q(5283) => q(oon), + q(5284) => q(oor), + q(5285) => q(oos), + q(5286) => q(opa), + q(5287) => q(opk), + q(5288) => q(opm), + q(5289) => q(opo), + q(5290) => q(opt), + q(5291) => q(opy), + q(5292) => q(ora), + q(5293) => q(orc), + q(5294) => q(ore), + q(5295) => q(org), + q(5296) => q(orh), + q(5297) => q(orn), + q(5298) => q(oro), + q(5299) => q(orr), + q(5300) => q(ors), + q(5301) => q(ort), + q(5302) => q(oru), + q(5303) => q(orv), + q(5304) => q(orw), + q(5305) => q(orx), + q(5306) => q(ory), + q(5307) => q(orz), + q(5308) => q(osc), + q(5309) => q(osi), + q(5310) => q(oso), + q(5311) => q(osp), + q(5312) => q(ost), + q(5313) => q(osu), + q(5314) => q(osx), + q(5315) => q(otb), + q(5316) => q(otd), + q(5317) => q(ote), + q(5318) => q(oti), + q(5319) => q(otk), + q(5320) => q(otl), + q(5321) => q(otm), + q(5322) => q(otn), + q(5323) => q(otq), + q(5324) => q(otr), + q(5325) => q(ots), + q(5326) => q(ott), + q(5327) => q(otu), + q(5328) => q(otw), + q(5329) => q(otx), + q(5330) => q(oty), + q(5331) => q(otz), + q(5332) => q(oua), + q(5333) => q(oub), + q(5334) => q(oue), + q(5335) => q(oui), + q(5336) => q(oum), + q(5337) => q(owi), + q(5338) => q(owl), + q(5339) => q(oyb), + q(5340) => q(oyd), + q(5341) => q(oym), + q(5342) => q(oyy), + q(5343) => q(ozm), + q(5344) => q(pab), + q(5345) => q(pac), + q(5346) => q(pad), + q(5347) => q(pae), + q(5348) => q(paf), + q(5349) => q(pah), + q(5350) => q(pai), + q(5351) => q(pak), + q(5352) => q(pao), + q(5353) => q(paq), + q(5354) => q(par), + q(5355) => q(pas), + q(5356) => q(pat), + q(5357) => q(pav), + q(5358) => q(paw), + q(5359) => q(pax), + q(5360) => q(pay), + q(5361) => q(paz), + q(5362) => q(pbb), + q(5363) => q(pbc), + q(5364) => q(pbe), + q(5365) => q(pbf), + q(5366) => q(pbg), + q(5367) => q(pbh), + q(5368) => q(pbi), + q(5369) => q(pbl), + q(5370) => q(pbn), + q(5371) => q(pbo), + q(5372) => q(pbp), + q(5373) => q(pbr), + q(5374) => q(pbs), + q(5375) => q(pbt), + q(5376) => q(pbu), + q(5377) => q(pbv), + q(5378) => q(pby), + q(5379) => q(pca), + q(5380) => q(pcb), + q(5381) => q(pcc), + q(5382) => q(pcd), + q(5383) => q(pce), + q(5384) => q(pcf), + q(5385) => q(pcg), + q(5386) => q(pch), + q(5387) => q(pci), + q(5388) => q(pcj), + q(5389) => q(pck), + q(5390) => q(pcl), + q(5391) => q(pcm), + q(5392) => q(pcn), + q(5393) => q(pcp), + q(5394) => q(pcw), + q(5395) => q(pda), + q(5396) => q(pdc), + q(5397) => q(pdi), + q(5398) => q(pdn), + q(5399) => q(pdo), + q(5400) => q(pdt), + q(5401) => q(pdu), + q(5402) => q(pea), + q(5403) => q(peb), + q(5404) => q(ped), + q(5405) => q(pee), + q(5406) => q(pef), + q(5407) => q(peg), + q(5408) => q(peh), + q(5409) => q(pei), + q(5410) => q(pej), + q(5411) => q(pek), + q(5412) => q(pel), + q(5413) => q(pem), + q(5414) => q(pep), + q(5415) => q(peq), + q(5416) => q(pes), + q(5417) => q(pev), + q(5418) => q(pex), + q(5419) => q(pey), + q(5420) => q(pez), + q(5421) => q(pfa), + q(5422) => q(pfe), + q(5423) => q(pfl), + q(5424) => q(pga), + q(5425) => q(pgd), + q(5426) => q(pgg), + q(5427) => q(pgi), + q(5428) => q(pgk), + q(5429) => q(pgl), + q(5430) => q(pgn), + q(5431) => q(pgs), + q(5432) => q(pgu), + q(5433) => q(pha), + q(5434) => q(phd), + q(5435) => q(phg), + q(5436) => q(phh), + q(5437) => q(phk), + q(5438) => q(phl), + q(5439) => q(phm), + q(5440) => q(pho), + q(5441) => q(phq), + q(5442) => q(phr), + q(5443) => q(pht), + q(5444) => q(phu), + q(5445) => q(phv), + q(5446) => q(phw), + q(5447) => q(pia), + q(5448) => q(pib), + q(5449) => q(pic), + q(5450) => q(pid), + q(5451) => q(pie), + q(5452) => q(pif), + q(5453) => q(pig), + q(5454) => q(pih), + q(5455) => q(pii), + q(5456) => q(pij), + q(5457) => q(pil), + q(5458) => q(pim), + q(5459) => q(pin), + q(5460) => q(pio), + q(5461) => q(pip), + q(5462) => q(pir), + q(5463) => q(pis), + q(5464) => q(pit), + q(5465) => q(piu), + q(5466) => q(piv), + q(5467) => q(piw), + q(5468) => q(pix), + q(5469) => q(piy), + q(5470) => q(piz), + q(5471) => q(pjt), + q(5472) => q(pka), + q(5473) => q(pkb), + q(5474) => q(pkc), + q(5475) => q(pkg), + q(5476) => q(pkh), + q(5477) => q(pkn), + q(5478) => q(pko), + q(5479) => q(pkp), + q(5480) => q(pkr), + q(5481) => q(pks), + q(5482) => q(pkt), + q(5483) => q(pku), + q(5484) => q(pla), + q(5485) => q(plb), + q(5486) => q(plc), + q(5487) => q(pld), + q(5488) => q(ple), + q(5489) => q(plg), + q(5490) => q(plh), + q(5491) => q(plj), + q(5492) => q(plk), + q(5493) => q(pll), + q(5494) => q(pln), + q(5495) => q(plo), + q(5496) => q(plp), + q(5497) => q(plq), + q(5498) => q(plr), + q(5499) => q(pls), + q(5500) => q(plt), + q(5501) => q(plu), + q(5502) => q(plv), + q(5503) => q(plw), + q(5504) => q(ply), + q(5505) => q(plz), + q(5506) => q(pma), + q(5507) => q(pmb), + q(5508) => q(pmc), + q(5509) => q(pmd), + q(5510) => q(pme), + q(5511) => q(pmf), + q(5512) => q(pmh), + q(5513) => q(pmi), + q(5514) => q(pmj), + q(5515) => q(pmk), + q(5516) => q(pml), + q(5517) => q(pmm), + q(5518) => q(pmn), + q(5519) => q(pmo), + q(5520) => q(pmq), + q(5521) => q(pmr), + q(5522) => q(pms), + q(5523) => q(pmt), + q(5524) => q(pmw), + q(5525) => q(pmx), + q(5526) => q(pmy), + q(5527) => q(pmz), + q(5528) => q(pna), + q(5529) => q(pnb), + q(5530) => q(pnc), + q(5531) => q(pne), + q(5532) => q(png), + q(5533) => q(pnh), + q(5534) => q(pni), + q(5535) => q(pnj), + q(5536) => q(pnk), + q(5537) => q(pnl), + q(5538) => q(pnm), + q(5539) => q(pnn), + q(5540) => q(pno), + q(5541) => q(pnp), + q(5542) => q(pnq), + q(5543) => q(pnr), + q(5544) => q(pns), + q(5545) => q(pnt), + q(5546) => q(pnu), + q(5547) => q(pnv), + q(5548) => q(pnw), + q(5549) => q(pnx), + q(5550) => q(pny), + q(5551) => q(pnz), + q(5552) => q(poc), + q(5553) => q(pod), + q(5554) => q(poe), + q(5555) => q(pof), + q(5556) => q(pog), + q(5557) => q(poh), + q(5558) => q(poi), + q(5559) => q(pok), + q(5560) => q(pom), + q(5561) => q(poo), + q(5562) => q(pop), + q(5563) => q(poq), + q(5564) => q(pos), + q(5565) => q(pot), + q(5566) => q(pov), + q(5567) => q(pow), + q(5568) => q(pox), + q(5569) => q(poy), + q(5570) => q(ppa), + q(5571) => q(ppe), + q(5572) => q(ppi), + q(5573) => q(ppk), + q(5574) => q(ppl), + q(5575) => q(ppm), + q(5576) => q(ppn), + q(5577) => q(ppo), + q(5578) => q(ppp), + q(5579) => q(ppq), + q(5580) => q(pps), + q(5581) => q(ppt), + q(5582) => q(ppu), + q(5583) => q(pqa), + q(5584) => q(pqm), + q(5585) => q(prb), + q(5586) => q(prc), + q(5587) => q(prd), + q(5588) => q(pre), + q(5589) => q(prf), + q(5590) => q(prg), + q(5591) => q(prh), + q(5592) => q(pri), + q(5593) => q(prk), + q(5594) => q(prl), + q(5595) => q(prm), + q(5596) => q(prn), + q(5597) => q(prp), + q(5598) => q(prq), + q(5599) => q(prr), + q(5600) => q(prs), + q(5601) => q(prt), + q(5602) => q(pru), + q(5603) => q(prw), + q(5604) => q(prx), + q(5605) => q(pry), + q(5606) => q(prz), + q(5607) => q(psa), + q(5608) => q(psc), + q(5609) => q(psd), + q(5610) => q(pse), + q(5611) => q(psg), + q(5612) => q(psh), + q(5613) => q(psi), + q(5614) => q(psl), + q(5615) => q(psm), + q(5616) => q(psn), + q(5617) => q(pso), + q(5618) => q(psp), + q(5619) => q(psq), + q(5620) => q(psr), + q(5621) => q(pss), + q(5622) => q(pst), + q(5623) => q(psu), + q(5624) => q(psw), + q(5625) => q(psy), + q(5626) => q(pta), + q(5627) => q(pth), + q(5628) => q(pti), + q(5629) => q(ptn), + q(5630) => q(pto), + q(5631) => q(ptp), + q(5632) => q(ptq), + q(5633) => q(ptr), + q(5634) => q(ptt), + q(5635) => q(ptu), + q(5636) => q(ptv), + q(5637) => q(ptw), + q(5638) => q(pty), + q(5639) => q(pua), + q(5640) => q(pub), + q(5641) => q(puc), + q(5642) => q(pud), + q(5643) => q(pue), + q(5644) => q(puf), + q(5645) => q(pug), + q(5646) => q(pui), + q(5647) => q(puj), + q(5648) => q(puk), + q(5649) => q(pum), + q(5650) => q(puo), + q(5651) => q(pup), + q(5652) => q(puq), + q(5653) => q(pur), + q(5654) => q(put), + q(5655) => q(puu), + q(5656) => q(puw), + q(5657) => q(pux), + q(5658) => q(puy), + q(5659) => q(pwa), + q(5660) => q(pwb), + q(5661) => q(pwg), + q(5662) => q(pwi), + q(5663) => q(pwm), + q(5664) => q(pwn), + q(5665) => q(pwo), + q(5666) => q(pwr), + q(5667) => q(pww), + q(5668) => q(pxm), + q(5669) => q(pye), + q(5670) => q(pym), + q(5671) => q(pyn), + q(5672) => q(pys), + q(5673) => q(pyu), + q(5674) => q(pyx), + q(5675) => q(pyy), + q(5676) => q(pzn), + q(5677) => q(qua), + q(5678) => q(qub), + q(5679) => q(quc), + q(5680) => q(qud), + q(5681) => q(quf), + q(5682) => q(qug), + q(5683) => q(quh), + q(5684) => q(qui), + q(5685) => q(quk), + q(5686) => q(qul), + q(5687) => q(qum), + q(5688) => q(qun), + q(5689) => q(qup), + q(5690) => q(quq), + q(5691) => q(qur), + q(5692) => q(qus), + q(5693) => q(quv), + q(5694) => q(quw), + q(5695) => q(qux), + q(5696) => q(quy), + q(5697) => q(quz), + q(5698) => q(qva), + q(5699) => q(qvc), + q(5700) => q(qve), + q(5701) => q(qvh), + q(5702) => q(qvi), + q(5703) => q(qvj), + q(5704) => q(qvl), + q(5705) => q(qvm), + q(5706) => q(qvn), + q(5707) => q(qvo), + q(5708) => q(qvp), + q(5709) => q(qvs), + q(5710) => q(qvw), + q(5711) => q(qvy), + q(5712) => q(qvz), + q(5713) => q(qwa), + q(5714) => q(qwc), + q(5715) => q(qwh), + q(5716) => q(qwm), + q(5717) => q(qws), + q(5718) => q(qwt), + q(5719) => q(qxa), + q(5720) => q(qxc), + q(5721) => q(qxh), + q(5722) => q(qxl), + q(5723) => q(qxn), + q(5724) => q(qxo), + q(5725) => q(qxp), + q(5726) => q(qxq), + q(5727) => q(qxr), + q(5728) => q(qxs), + q(5729) => q(qxt), + q(5730) => q(qxu), + q(5731) => q(qxw), + q(5732) => q(qya), + q(5733) => q(qyp), + q(5734) => q(raa), + q(5735) => q(rab), + q(5736) => q(rac), + q(5737) => q(rad), + q(5738) => q(raf), + q(5739) => q(rag), + q(5740) => q(rah), + q(5741) => q(rai), + q(5742) => q(rak), + q(5743) => q(ral), + q(5744) => q(ram), + q(5745) => q(ran), + q(5746) => q(rao), + q(5747) => q(raq), + q(5748) => q(ras), + q(5749) => q(rat), + q(5750) => q(rau), + q(5751) => q(rav), + q(5752) => q(raw), + q(5753) => q(rax), + q(5754) => q(ray), + q(5755) => q(raz), + q(5756) => q(rbb), + q(5757) => q(rbk), + q(5758) => q(rbl), + q(5759) => q(rbp), + q(5760) => q(rcf), + q(5761) => q(rdb), + q(5762) => q(rea), + q(5763) => q(reb), + q(5764) => q(ree), + q(5765) => q(reg), + q(5766) => q(rei), + q(5767) => q(rej), + q(5768) => q(rel), + q(5769) => q(rem), + q(5770) => q(ren), + q(5771) => q(rer), + q(5772) => q(res), + q(5773) => q(ret), + q(5774) => q(rey), + q(5775) => q(rga), + q(5776) => q(rge), + q(5777) => q(rgk), + q(5778) => q(rgn), + q(5779) => q(rgr), + q(5780) => q(rgs), + q(5781) => q(rgu), + q(5782) => q(rhg), + q(5783) => q(rhp), + q(5784) => q(ria), + q(5785) => q(rie), + q(5786) => q(rif), + q(5787) => q(ril), + q(5788) => q(rim), + q(5789) => q(rin), + q(5790) => q(rir), + q(5791) => q(rit), + q(5792) => q(riu), + q(5793) => q(rjg), + q(5794) => q(rji), + q(5795) => q(rjs), + q(5796) => q(rka), + q(5797) => q(rkb), + q(5798) => q(rkh), + q(5799) => q(rki), + q(5800) => q(rkm), + q(5801) => q(rkt), + q(5802) => q(rkw), + q(5803) => q(rma), + q(5804) => q(rmb), + q(5805) => q(rmc), + q(5806) => q(rmd), + q(5807) => q(rme), + q(5808) => q(rmf), + q(5809) => q(rmg), + q(5810) => q(rmh), + q(5811) => q(rmi), + q(5812) => q(rmk), + q(5813) => q(rml), + q(5814) => q(rmm), + q(5815) => q(rmn), + q(5816) => q(rmo), + q(5817) => q(rmp), + q(5818) => q(rmq), + q(5819) => q(rms), + q(5820) => q(rmt), + q(5821) => q(rmu), + q(5822) => q(rmv), + q(5823) => q(rmw), + q(5824) => q(rmx), + q(5825) => q(rmy), + q(5826) => q(rmz), + q(5827) => q(rna), + q(5828) => q(rnd), + q(5829) => q(rng), + q(5830) => q(rnl), + q(5831) => q(rnn), + q(5832) => q(rnp), + q(5833) => q(rnr), + q(5834) => q(rnw), + q(5835) => q(rob), + q(5836) => q(roc), + q(5837) => q(rod), + q(5838) => q(roe), + q(5839) => q(rof), + q(5840) => q(rog), + q(5841) => q(rol), + q(5842) => q(roo), + q(5843) => q(rop), + q(5844) => q(ror), + q(5845) => q(rou), + q(5846) => q(row), + q(5847) => q(rpn), + q(5848) => q(rpt), + q(5849) => q(rri), + q(5850) => q(rro), + q(5851) => q(rrt), + q(5852) => q(rsb), + q(5853) => q(rsi), + q(5854) => q(rsl), + q(5855) => q(rtc), + q(5856) => q(rth), + q(5857) => q(rtm), + q(5858) => q(rts), + q(5859) => q(rtw), + q(5860) => q(rub), + q(5861) => q(ruc), + q(5862) => q(rue), + q(5863) => q(ruf), + q(5864) => q(rug), + q(5865) => q(ruh), + q(5866) => q(rui), + q(5867) => q(ruk), + q(5868) => q(ruo), + q(5869) => q(ruq), + q(5870) => q(rut), + q(5871) => q(ruu), + q(5872) => q(ruy), + q(5873) => q(ruz), + q(5874) => q(rwa), + q(5875) => q(rwk), + q(5876) => q(rwm), + q(5877) => q(rwo), + q(5878) => q(rwr), + q(5879) => q(rxd), + q(5880) => q(rxw), + q(5881) => q(ryn), + q(5882) => q(rys), + q(5883) => q(ryu), + q(5884) => q(saa), + q(5885) => q(sab), + q(5886) => q(sac), + q(5887) => q(sae), + q(5888) => q(saf), + q(5889) => q(saj), + q(5890) => q(sak), + q(5891) => q(sao), + q(5892) => q(saq), + q(5893) => q(sar), + q(5894) => q(sau), + q(5895) => q(sav), + q(5896) => q(saw), + q(5897) => q(sax), + q(5898) => q(say), + q(5899) => q(saz), + q(5900) => q(sba), + q(5901) => q(sbb), + q(5902) => q(sbc), + q(5903) => q(sbd), + q(5904) => q(slc), + q(5905) => q(sbf), + q(5906) => q(sbg), + q(5907) => q(sbh), + q(5908) => q(sbi), + q(5909) => q(sbj), + q(5910) => q(sbk), + q(5911) => q(sbl), + q(5912) => q(sbm), + q(5913) => q(sbn), + q(5914) => q(sbo), + q(5915) => q(sbp), + q(5916) => q(sbq), + q(5917) => q(sbr), + q(5918) => q(sbs), + q(5919) => q(sbt), + q(5920) => q(sbu), + q(5921) => q(sbv), + q(5922) => q(sbw), + q(5923) => q(sbx), + q(5924) => q(sby), + q(5925) => q(sbz), + q(5926) => q(scb), + q(5927) => q(sce), + q(5928) => q(scf), + q(5929) => q(scg), + q(5930) => q(sch), + q(5931) => q(sci), + q(5932) => q(sck), + q(5933) => q(scl), + q(5934) => q(scp), + q(5935) => q(scq), + q(5936) => q(scs), + q(5937) => q(scu), + q(5938) => q(scv), + q(5939) => q(scw), + q(5940) => q(scx), + q(5941) => q(sda), + q(5942) => q(sdb), + q(5943) => q(sdc), + q(5944) => q(sde), + q(5945) => q(sdf), + q(5946) => q(sdg), + q(5947) => q(sdh), + q(5948) => q(sdj), + q(5949) => q(sdk), + q(5950) => q(sdl), + q(5951) => q(sdm), + q(5952) => q(sdn), + q(5953) => q(sdo), + q(5954) => q(sdp), + q(5955) => q(sdr), + q(5956) => q(sds), + q(5957) => q(sdt), + q(5958) => q(sdu), + q(5959) => q(sdx), + q(5960) => q(sdz), + q(5961) => q(sea), + q(5962) => q(seb), + q(5963) => q(sec), + q(5964) => q(sed), + q(5965) => q(see), + q(5966) => q(sef), + q(5967) => q(seg), + q(5968) => q(seh), + q(5969) => q(sei), + q(5970) => q(sej), + q(5971) => q(sek), + q(5972) => q(sen), + q(5973) => q(seo), + q(5974) => q(sep), + q(5975) => q(seq), + q(5976) => q(ser), + q(5977) => q(ses), + q(5978) => q(set), + q(5979) => q(seu), + q(5980) => q(sev), + q(5981) => q(sew), + q(5982) => q(sey), + q(5983) => q(sez), + q(5984) => q(sfb), + q(5985) => q(sfe), + q(5986) => q(sfm), + q(5987) => q(sfs), + q(5988) => q(sfw), + q(5989) => q(sgb), + q(5990) => q(sgc), + q(5991) => q(sgd), + q(5992) => q(sge), + q(5993) => q(sgg), + q(5994) => q(sgh), + q(5995) => q(sgi), + q(5996) => q(sgj), + q(5997) => q(sgk), + q(5998) => q(sgm), + q(5999) => q(sgp), + q(6000) => q(sgr), + q(6001) => q(sgs), + q(6002) => q(sgt), + q(6003) => q(sgu), + q(6004) => q(sgw), + q(6005) => q(sgx), + q(6006) => q(sgy), + q(6007) => q(sgz), + q(6008) => q(sha), + q(6009) => q(shb), + q(6010) => q(shc), + q(6011) => q(shd), + q(6012) => q(she), + q(6013) => q(shg), + q(6014) => q(shh), + q(6015) => q(shi), + q(6016) => q(shj), + q(6017) => q(shk), + q(6018) => q(shl), + q(6019) => q(shm), + q(6020) => q(sho), + q(6021) => q(shp), + q(6022) => q(shq), + q(6023) => q(shr), + q(6024) => q(shs), + q(6025) => q(sht), + q(6026) => q(shu), + q(6027) => q(shv), + q(6028) => q(shw), + q(6029) => q(shx), + q(6030) => q(shy), + q(6031) => q(shz), + q(6032) => q(sia), + q(6033) => q(sib), + q(6034) => q(sie), + q(6035) => q(sif), + q(6036) => q(sig), + q(6037) => q(sih), + q(6038) => q(sii), + q(6039) => q(sij), + q(6040) => q(sik), + q(6041) => q(sil), + q(6042) => q(sim), + q(6043) => q(sip), + q(6044) => q(siq), + q(6045) => q(sir), + q(6046) => q(sis), + q(6047) => q(siu), + q(6048) => q(siv), + q(6049) => q(siw), + q(6050) => q(six), + q(6051) => q(siy), + q(6052) => q(siz), + q(6053) => q(sja), + q(6054) => q(sjb), + q(6055) => q(sjd), + q(6056) => q(sje), + q(6057) => q(sjg), + q(6058) => q(sjk), + q(6059) => q(sjl), + q(6060) => q(sjm), + q(6061) => q(sjn), + q(6062) => q(sjo), + q(6063) => q(sjp), + q(6064) => q(sjr), + q(6065) => q(sjs), + q(6066) => q(sjt), + q(6067) => q(sju), + q(6068) => q(sjw), + q(6069) => q(ska), + q(6070) => q(skb), + q(6071) => q(skc), + q(6072) => q(skd), + q(6073) => q(ske), + q(6074) => q(skf), + q(6075) => q(skg), + q(6076) => q(skh), + q(6077) => q(ski), + q(6078) => q(skj), + q(6079) => q(skk), + q(6080) => q(skm), + q(6081) => q(skn), + q(6082) => q(sko), + q(6083) => q(skp), + q(6084) => q(skq), + q(6085) => q(skr), + q(6086) => q(sks), + q(6087) => q(skt), + q(6088) => q(sku), + q(6089) => q(skv), + q(6090) => q(skw), + q(6091) => q(skx), + q(6092) => q(sky), + q(6093) => q(skz), + q(6094) => q(sld), + q(6095) => q(sle), + q(6096) => q(slf), + q(6097) => q(slg), + q(6098) => q(slh), + q(6099) => q(sli), + q(6100) => q(slj), + q(6101) => q(sll), + q(6102) => q(slm), + q(6103) => q(sln), + q(6104) => q(slp), + q(6105) => q(slq), + q(6106) => q(slr), + q(6107) => q(sls), + q(6108) => q(slt), + q(6109) => q(slu), + q(6110) => q(slw), + q(6111) => q(slx), + q(6112) => q(sly), + q(6113) => q(slz), + q(6114) => q(smb), + q(6115) => q(smc), + q(6116) => q(smd), + q(6117) => q(smf), + q(6118) => q(smg), + q(6119) => q(smh), + q(6120) => q(smk), + q(6121) => q(sml), + q(6122) => q(smm), + q(6123) => q(smp), + q(6124) => q(smq), + q(6125) => q(smr), + q(6126) => q(smt), + q(6127) => q(smu), + q(6128) => q(smv), + q(6129) => q(smw), + q(6130) => q(smx), + q(6131) => q(smy), + q(6132) => q(smz), + q(6133) => q(snb), + q(6134) => q(snc), + q(6135) => q(sne), + q(6136) => q(snf), + q(6137) => q(sng), + q(6138) => q(snh), + q(6139) => q(sni), + q(6140) => q(snj), + q(6141) => q(snl), + q(6142) => q(snm), + q(6143) => q(snn), + q(6144) => q(sno), + q(6145) => q(snp), + q(6146) => q(snq), + q(6147) => q(snr), + q(6148) => q(sns), + q(6149) => q(snu), + q(6150) => q(snv), + q(6151) => q(snw), + q(6152) => q(snx), + q(6153) => q(sny), + q(6154) => q(snz), + q(6155) => q(soa), + q(6156) => q(sob), + q(6157) => q(soc), + q(6158) => q(sod), + q(6159) => q(soe), + q(6160) => q(soh), + q(6161) => q(soi), + q(6162) => q(soj), + q(6163) => q(sok), + q(6164) => q(sol), + q(6165) => q(soo), + q(6166) => q(sop), + q(6167) => q(soq), + q(6168) => q(sor), + q(6169) => q(sos), + q(6170) => q(sou), + q(6171) => q(sov), + q(6172) => q(sow), + q(6173) => q(sox), + q(6174) => q(soy), + q(6175) => q(soz), + q(6176) => q(spb), + q(6177) => q(spc), + q(6178) => q(spd), + q(6179) => q(spe), + q(6180) => q(spg), + q(6181) => q(spi), + q(6182) => q(spk), + q(6183) => q(spl), + q(6184) => q(spm), + q(6185) => q(spn), + q(6186) => q(spo), + q(6187) => q(spp), + q(6188) => q(spq), + q(6189) => q(spr), + q(6190) => q(sps), + q(6191) => q(spt), + q(6192) => q(spu), + q(6193) => q(spv), + q(6194) => q(spx), + q(6195) => q(spy), + q(6196) => q(sqa), + q(6197) => q(sqh), + q(6198) => q(sqk), + q(6199) => q(sqm), + q(6200) => q(sqn), + q(6201) => q(sqo), + q(6202) => q(sqq), + q(6203) => q(sqr), + q(6204) => q(sqs), + q(6205) => q(sqt), + q(6206) => q(squ), + q(6207) => q(sra), + q(6208) => q(srb), + q(6209) => q(src), + q(6210) => q(sre), + q(6211) => q(srf), + q(6212) => q(srg), + q(6213) => q(srh), + q(6214) => q(sri), + q(6215) => q(srk), + q(6216) => q(srl), + q(6217) => q(srm), + q(6218) => q(sro), + q(6219) => q(srq), + q(6220) => q(srs), + q(6221) => q(srt), + q(6222) => q(sru), + q(6223) => q(srv), + q(6224) => q(srw), + q(6225) => q(srx), + q(6226) => q(sry), + q(6227) => q(srz), + q(6228) => q(ssb), + q(6229) => q(ssc), + q(6230) => q(ssd), + q(6231) => q(sse), + q(6232) => q(ssf), + q(6233) => q(ssg), + q(6234) => q(ssh), + q(6235) => q(ssi), + q(6236) => q(ssj), + q(6237) => q(ssk), + q(6238) => q(ssl), + q(6239) => q(ssm), + q(6240) => q(ssn), + q(6241) => q(sso), + q(6242) => q(ssp), + q(6243) => q(ssq), + q(6244) => q(ssr), + q(6245) => q(sss), + q(6246) => q(sst), + q(6247) => q(ssu), + q(6248) => q(ssv), + q(6249) => q(ssx), + q(6250) => q(ssy), + q(6251) => q(ssz), + q(6252) => q(sta), + q(6253) => q(stb), + q(6254) => q(std), + q(6255) => q(ste), + q(6256) => q(stf), + q(6257) => q(stg), + q(6258) => q(sth), + q(6259) => q(sti), + q(6260) => q(stj), + q(6261) => q(stk), + q(6262) => q(stl), + q(6263) => q(stm), + q(6264) => q(stn), + q(6265) => q(sto), + q(6266) => q(stp), + q(6267) => q(stq), + q(6268) => q(str), + q(6269) => q(sts), + q(6270) => q(stt), + q(6271) => q(stu), + q(6272) => q(stv), + q(6273) => q(stw), + q(6274) => q(sty), + q(6275) => q(sua), + q(6276) => q(sub), + q(6277) => q(suc), + q(6278) => q(sue), + q(6279) => q(sug), + q(6280) => q(sui), + q(6281) => q(suj), + q(6282) => q(suq), + q(6283) => q(sur), + q(6284) => q(sut), + q(6285) => q(suv), + q(6286) => q(suw), + q(6287) => q(suy), + q(6288) => q(suz), + q(6289) => q(sva), + q(6290) => q(svb), + q(6291) => q(svc), + q(6292) => q(sve), + q(6293) => q(svk), + q(6294) => q(svm), + q(6295) => q(svr), + q(6296) => q(svs), + q(6297) => q(svx), + q(6298) => q(swb), + q(6299) => q(swc), + q(6300) => q(swf), + q(6301) => q(swg), + q(6302) => q(swh), + q(6303) => q(swi), + q(6304) => q(swj), + q(6305) => q(swk), + q(6306) => q(swl), + q(6307) => q(swm), + q(6308) => q(swn), + q(6309) => q(swo), + q(6310) => q(swp), + q(6311) => q(swq), + q(6312) => q(swr), + q(6313) => q(sws), + q(6314) => q(swt), + q(6315) => q(swu), + q(6316) => q(swv), + q(6317) => q(sww), + q(6318) => q(swx), + q(6319) => q(swy), + q(6320) => q(sxb), + q(6321) => q(sxc), + q(6322) => q(sxe), + q(6323) => q(sxg), + q(6324) => q(sxk), + q(6325) => q(sxl), + q(6326) => q(sxm), + q(6327) => q(sxn), + q(6328) => q(sxo), + q(6329) => q(sxr), + q(6330) => q(sxs), + q(6331) => q(sxu), + q(6332) => q(sxw), + q(6333) => q(sya), + q(6334) => q(syb), + q(6335) => q(syi), + q(6336) => q(syk), + q(6337) => q(syl), + q(6338) => q(sym), + q(6339) => q(syn), + q(6340) => q(syo), + q(6341) => q(sys), + q(6342) => q(syw), + q(6343) => q(syx), + q(6344) => q(syy), + q(6345) => q(sza), + q(6346) => q(szb), + q(6347) => q(szc), + q(6348) => q(szd), + q(6349) => q(sze), + q(6350) => q(szg), + q(6351) => q(szl), + q(6352) => q(szn), + q(6353) => q(szp), + q(6354) => q(szv), + q(6355) => q(szw), + q(6356) => q(taa), + q(6357) => q(tab), + q(6358) => q(tac), + q(6359) => q(tad), + q(6360) => q(tae), + q(6361) => q(taf), + q(6362) => q(tag), + q(6363) => q(taj), + q(6364) => q(tak), + q(6365) => q(tal), + q(6366) => q(tan), + q(6367) => q(tao), + q(6368) => q(tap), + q(6369) => q(taq), + q(6370) => q(tar), + q(6371) => q(tas), + q(6372) => q(tau), + q(6373) => q(tav), + q(6374) => q(taw), + q(6375) => q(tax), + q(6376) => q(tay), + q(6377) => q(taz), + q(6378) => q(tba), + q(6379) => q(tbb), + q(6380) => q(tbc), + q(6381) => q(tbd), + q(6382) => q(tbe), + q(6383) => q(tbf), + q(6384) => q(tbg), + q(6385) => q(tbh), + q(6386) => q(tbi), + q(6387) => q(tbj), + q(6388) => q(tbk), + q(6389) => q(tbl), + q(6390) => q(tbm), + q(6391) => q(tbn), + q(6392) => q(tbo), + q(6393) => q(tbp), + q(6394) => q(tbr), + q(6395) => q(tbs), + q(6396) => q(tbt), + q(6397) => q(tbu), + q(6398) => q(tbv), + q(6399) => q(tbw), + q(6400) => q(tbx), + q(6401) => q(tby), + q(6402) => q(tbz), + q(6403) => q(tca), + q(6404) => q(tcb), + q(6405) => q(tcc), + q(6406) => q(tcd), + q(6407) => q(tce), + q(6408) => q(tcf), + q(6409) => q(tcg), + q(6410) => q(tch), + q(6411) => q(wbf), + q(6412) => q(tck), + q(6413) => q(tcl), + q(6414) => q(tcm), + q(6415) => q(tcn), + q(6416) => q(tco), + q(6417) => q(tcp), + q(6418) => q(tcq), + q(6419) => q(tcs), + q(6420) => q(tct), + q(6421) => q(tcu), + q(6422) => q(tcw), + q(6423) => q(tcx), + q(6424) => q(tcy), + q(6425) => q(tcz), + q(6426) => q(tda), + q(6427) => q(tdb), + q(6428) => q(tdc), + q(6429) => q(tdd), + q(6430) => q(tde), + q(6431) => q(tdf), + q(6432) => q(tdg), + q(6433) => q(tdh), + q(6434) => q(tdi), + q(6435) => q(tdj), + q(6436) => q(tdk), + q(6437) => q(tdl), + q(6438) => q(tdn), + q(6439) => q(tdo), + q(6440) => q(tdq), + q(6441) => q(tdr), + q(6442) => q(tds), + q(6443) => q(tdt), + q(6444) => q(tdu), + q(6445) => q(tdv), + q(6446) => q(tdx), + q(6447) => q(tdy), + q(6448) => q(tea), + q(6449) => q(teb), + q(6450) => q(tec), + q(6451) => q(ted), + q(6452) => q(tee), + q(6453) => q(tef), + q(6454) => q(teg), + q(6455) => q(teh), + q(6456) => q(tei), + q(6457) => q(tek), + q(6458) => q(ten), + q(6459) => q(teo), + q(6460) => q(tep), + q(6461) => q(teq), + q(6462) => q(tes), + q(6463) => q(teu), + q(6464) => q(tev), + q(6465) => q(tew), + q(6466) => q(tex), + q(6467) => q(tey), + q(6468) => q(tfi), + q(6469) => q(tfn), + q(6470) => q(tfo), + q(6471) => q(tfr), + q(6472) => q(tft), + q(6473) => q(tga), + q(6474) => q(tgb), + q(6475) => q(tgc), + q(6476) => q(tgd), + q(6477) => q(tge), + q(6478) => q(tgf), + q(6479) => q(tgh), + q(6480) => q(tgi), + q(6481) => q(tgj), + q(6482) => q(tgn), + q(6483) => q(tgo), + q(6484) => q(tgp), + q(6485) => q(tgq), + q(6486) => q(tgr), + q(6487) => q(tgs), + q(6488) => q(tgt), + q(6489) => q(tgu), + q(6490) => q(tgv), + q(6491) => q(tgw), + q(6492) => q(tgx), + q(6493) => q(tgy), + q(6494) => q(tgz), + q(6495) => q(thc), + q(6496) => q(thd), + q(6497) => q(the), + q(6498) => q(thf), + q(6499) => q(thh), + q(6500) => q(thi), + q(6501) => q(thk), + q(6502) => q(thl), + q(6503) => q(thm), + q(6504) => q(thn), + q(6505) => q(thp), + q(6506) => q(thq), + q(6507) => q(thr), + q(6508) => q(ths), + q(6509) => q(tht), + q(6510) => q(thu), + q(6511) => q(thv), + q(6512) => q(thw), + q(6513) => q(thy), + q(6514) => q(thz), + q(6515) => q(tia), + q(6516) => q(tic), + q(6517) => q(tid), + q(6518) => q(tif), + q(6519) => q(tih), + q(6520) => q(tii), + q(6521) => q(tij), + q(6522) => q(tik), + q(6523) => q(til), + q(6524) => q(tim), + q(6525) => q(tin), + q(6526) => q(tio), + q(6527) => q(tip), + q(6528) => q(tiq), + q(6529) => q(tis), + q(6530) => q(tit), + q(6531) => q(tiu), + q(6532) => q(tiw), + q(6533) => q(tix), + q(6534) => q(tiy), + q(6535) => q(tiz), + q(6536) => q(tja), + q(6537) => q(tjg), + q(6538) => q(tji), + q(6539) => q(tjl), + q(6540) => q(tjm), + q(6541) => q(tjn), + q(6542) => q(tjo), + q(6543) => q(tjs), + q(6544) => q(tju), + q(6545) => q(tjw), + q(6546) => q(tka), + q(6547) => q(tkb), + q(6548) => q(tkd), + q(6549) => q(tke), + q(6550) => q(tkf), + q(6551) => q(tkg), + q(6552) => q(tkm), + q(6553) => q(tkn), + q(6554) => q(tkp), + q(6555) => q(tkq), + q(6556) => q(tkr), + q(6557) => q(tks), + q(6558) => q(tkt), + q(6559) => q(tku), + q(6560) => q(tkv), + q(6561) => q(tkw), + q(6562) => q(tkx), + q(6563) => q(tkz), + q(6564) => q(tla), + q(6565) => q(tlb), + q(6566) => q(tlc), + q(6567) => q(tld), + q(6568) => q(tlf), + q(6569) => q(tlg), + q(6570) => q(tlj), + q(6571) => q(tlk), + q(6572) => q(tll), + q(6573) => q(tlm), + q(6574) => q(tln), + q(6575) => q(tlo), + q(6576) => q(tlp), + q(6577) => q(tlq), + q(6578) => q(tlr), + q(6579) => q(tls), + q(6580) => q(tlt), + q(6581) => q(tlu), + q(6582) => q(tlv), + q(6583) => q(tlx), + q(6584) => q(tly), + q(6585) => q(tma), + q(6586) => q(tmb), + q(6587) => q(tmc), + q(6588) => q(tmd), + q(6589) => q(tme), + q(6590) => q(tmf), + q(6591) => q(tmg), + q(6592) => q(tmi), + q(6593) => q(tmj), + q(6594) => q(tmk), + q(6595) => q(tml), + q(6596) => q(tmm), + q(6597) => q(tmn), + q(6598) => q(tmo), + q(6599) => q(tmp), + q(6600) => q(tmq), + q(6601) => q(tmr), + q(6602) => q(tms), + q(6603) => q(tmt), + q(6604) => q(tmu), + q(6605) => q(tmv), + q(6606) => q(tmw), + q(6607) => q(tmy), + q(6608) => q(tmz), + q(6609) => q(tna), + q(6610) => q(tnb), + q(6611) => q(tnc), + q(6612) => q(tnd), + q(6613) => q(tne), + q(6614) => q(tng), + q(6615) => q(tnh), + q(6616) => q(tni), + q(6617) => q(tnk), + q(6618) => q(tnl), + q(6619) => q(tnm), + q(6620) => q(tnn), + q(6621) => q(tno), + q(6622) => q(tnp), + q(6623) => q(tnq), + q(6624) => q(tnr), + q(6625) => q(tns), + q(6626) => q(tnt), + q(6627) => q(tnu), + q(6628) => q(tnv), + q(6629) => q(tnw), + q(6630) => q(tnx), + q(6631) => q(tny), + q(6632) => q(tnz), + q(6633) => q(tob), + q(6634) => q(toc), + q(6635) => q(tod), + q(6636) => q(toe), + q(6637) => q(tof), + q(6638) => q(toh), + q(6639) => q(toi), + q(6640) => q(toj), + q(6641) => q(tol), + q(6642) => q(tom), + q(6643) => q(too), + q(6644) => q(top), + q(6645) => q(toq), + q(6646) => q(tor), + q(6647) => q(tos), + q(6648) => q(tou), + q(6649) => q(tov), + q(6650) => q(tow), + q(6651) => q(tox), + q(6652) => q(toy), + q(6653) => q(toz), + q(6654) => q(tpa), + q(6655) => q(tpc), + q(6656) => q(tpe), + q(6657) => q(tpf), + q(6658) => q(tpg), + q(6659) => q(tpj), + q(6660) => q(tpk), + q(6661) => q(tpl), + q(6662) => q(tpm), + q(6663) => q(tpn), + q(6664) => q(tpo), + q(6665) => q(tpp), + q(6666) => q(tpq), + q(6667) => q(tpr), + q(6668) => q(tpt), + q(6669) => q(tpu), + q(6670) => q(tpv), + q(6671) => q(tpw), + q(6672) => q(tpx), + q(6673) => q(tpy), + q(6674) => q(tpz), + q(6675) => q(tqb), + q(6676) => q(tql), + q(6677) => q(tqm), + q(6678) => q(tqn), + q(6679) => q(tqo), + q(6680) => q(tqp), + q(6681) => q(tqq), + q(6682) => q(tqr), + q(6683) => q(tqt), + q(6684) => q(tqu), + q(6685) => q(tqw), + q(6686) => q(tra), + q(6687) => q(trb), + q(6688) => q(trc), + q(6689) => q(trd), + q(6690) => q(tre), + q(6691) => q(trf), + q(6692) => q(trg), + q(6693) => q(trh), + q(6694) => q(tri), + q(6695) => q(trj), + q(6696) => q(trl), + q(6697) => q(trm), + q(6698) => q(trn), + q(6699) => q(tro), + q(6700) => q(trp), + q(6701) => q(trq), + q(6702) => q(trr), + q(6703) => q(trs), + q(6704) => q(trt), + q(6705) => q(tru), + q(6706) => q(trv), + q(6707) => q(trw), + q(6708) => q(trx), + q(6709) => q(try), + q(6710) => q(trz), + q(6711) => q(tsa), + q(6712) => q(tsb), + q(6713) => q(tsc), + q(6714) => q(tsd), + q(6715) => q(tse), + q(6716) => q(tsg), + q(6717) => q(tsh), + q(6718) => q(tsj), + q(6719) => q(tsk), + q(6720) => q(tsl), + q(6721) => q(tsm), + q(6722) => q(tsp), + q(6723) => q(tsq), + q(6724) => q(tsr), + q(6725) => q(tss), + q(6726) => q(tst), + q(6727) => q(tsu), + q(6728) => q(tsv), + q(6729) => q(tsw), + q(6730) => q(tsx), + q(6731) => q(tsy), + q(6732) => q(tsz), + q(6733) => q(tta), + q(6734) => q(ttb), + q(6735) => q(ttc), + q(6736) => q(ttd), + q(6737) => q(tte), + q(6738) => q(ttf), + q(6739) => q(ttg), + q(6740) => q(tth), + q(6741) => q(tti), + q(6742) => q(ttj), + q(6743) => q(ttk), + q(6744) => q(ttl), + q(6745) => q(ttm), + q(6746) => q(ttn), + q(6747) => q(tto), + q(6748) => q(ttp), + q(6749) => q(ttq), + q(6750) => q(ttr), + q(6751) => q(tts), + q(6752) => q(ttt), + q(6753) => q(ttu), + q(6754) => q(ttv), + q(6755) => q(ttw), + q(6756) => q(tty), + q(6757) => q(ttz), + q(6758) => q(tua), + q(6759) => q(tub), + q(6760) => q(tuc), + q(6761) => q(tud), + q(6762) => q(tue), + q(6763) => q(tuf), + q(6764) => q(tug), + q(6765) => q(tuh), + q(6766) => q(tui), + q(6767) => q(tuj), + q(6768) => q(tul), + q(6769) => q(tun), + q(6770) => q(tuo), + q(6771) => q(tuq), + q(6772) => q(tus), + q(6773) => q(tuu), + q(6774) => q(tuv), + q(6775) => q(tux), + q(6776) => q(tuy), + q(6777) => q(tuz), + q(6778) => q(tva), + q(6779) => q(tvd), + q(6780) => q(tve), + q(6781) => q(tvk), + q(6782) => q(tvm), + q(6783) => q(tvn), + q(6784) => q(tvo), + q(6785) => q(tvs), + q(6786) => q(tvt), + q(6787) => q(tvu), + q(6788) => q(tvw), + q(6789) => q(tvy), + q(6790) => q(twa), + q(6791) => q(twb), + q(6792) => q(twc), + q(6793) => q(twd), + q(6794) => q(twe), + q(6795) => q(twf), + q(6796) => q(twg), + q(6797) => q(twh), + q(6798) => q(twl), + q(6799) => q(twm), + q(6800) => q(twn), + q(6801) => q(two), + q(6802) => q(twp), + q(6803) => q(twq), + q(6804) => q(twr), + q(6805) => q(twt), + q(6806) => q(twu), + q(6807) => q(tww), + q(6808) => q(twx), + q(6809) => q(twy), + q(6810) => q(txa), + q(6811) => q(txb), + q(6812) => q(txc), + q(6813) => q(txe), + q(6814) => q(txg), + q(6815) => q(txh), + q(6816) => q(txi), + q(6817) => q(txj), + q(6818) => q(txm), + q(6819) => q(txn), + q(6820) => q(txo), + q(6821) => q(txq), + q(6822) => q(txr), + q(6823) => q(txs), + q(6824) => q(txt), + q(6825) => q(txu), + q(6826) => q(txx), + q(6827) => q(txy), + q(6828) => q(tya), + q(6829) => q(tye), + q(6830) => q(tyh), + q(6831) => q(tyi), + q(6832) => q(tyj), + q(6833) => q(tyl), + q(6834) => q(tyn), + q(6835) => q(typ), + q(6836) => q(tyr), + q(6837) => q(tys), + q(6838) => q(tyt), + q(6839) => q(tyu), + q(6840) => q(tyx), + q(6841) => q(tyz), + q(6842) => q(tza), + q(6843) => q(tzh), + q(6844) => q(tzj), + q(6845) => q(tzl), + q(6846) => q(tzm), + q(6847) => q(tzn), + q(6848) => q(tzo), + q(6849) => q(tzx), + q(6850) => q(uam), + q(6851) => q(uan), + q(6852) => q(uar), + q(6853) => q(uba), + q(6854) => q(ubi), + q(6855) => q(ubl), + q(6856) => q(ubr), + q(6857) => q(ubu), + q(6858) => q(uby), + q(6859) => q(uda), + q(6860) => q(ude), + q(6861) => q(udg), + q(6862) => q(udi), + q(6863) => q(udj), + q(6864) => q(udl), + q(6865) => q(udu), + q(6866) => q(ues), + q(6867) => q(ufi), + q(6868) => q(ugb), + q(6869) => q(uge), + q(6870) => q(ugn), + q(6871) => q(ugo), + q(6872) => q(ugy), + q(6873) => q(uha), + q(6874) => q(uhn), + q(6875) => q(uis), + q(6876) => q(uiv), + q(6877) => q(uji), + q(6878) => q(uka), + q(6879) => q(ukg), + q(6880) => q(ukh), + q(6881) => q(ukl), + q(6882) => q(ukp), + q(6883) => q(ukq), + q(6884) => q(uks), + q(6885) => q(uku), + q(6886) => q(ukw), + q(6887) => q(uky), + q(6888) => q(ula), + q(6889) => q(ulb), + q(6890) => q(ulc), + q(6891) => q(ule), + q(6892) => q(ulf), + q(6893) => q(uli), + q(6894) => q(ulk), + q(6895) => q(ull), + q(6896) => q(ulm), + q(6897) => q(uln), + q(6898) => q(ulu), + q(6899) => q(ulw), + q(6900) => q(uma), + q(6901) => q(umc), + q(6902) => q(umd), + q(6903) => q(umg), + q(6904) => q(umi), + q(6905) => q(umm), + q(6906) => q(umn), + q(6907) => q(umo), + q(6908) => q(ump), + q(6909) => q(umr), + q(6910) => q(ums), + q(6911) => q(umu), + q(6912) => q(una), + q(6913) => q(une), + q(6914) => q(ung), + q(6915) => q(unk), + q(6916) => q(unm), + q(6917) => q(unn), + q(6918) => q(unr), + q(6919) => q(unu), + q(6920) => q(unx), + q(6921) => q(unz), + q(6922) => q(upi), + q(6923) => q(upv), + q(6924) => q(ura), + q(6925) => q(urb), + q(6926) => q(urc), + q(6927) => q(ure), + q(6928) => q(urf), + q(6929) => q(urg), + q(6930) => q(urh), + q(6931) => q(uri), + q(6932) => q(urk), + q(6933) => q(url), + q(6934) => q(urm), + q(6935) => q(urn), + q(6936) => q(uro), + q(6937) => q(urp), + q(6938) => q(urr), + q(6939) => q(urt), + q(6940) => q(uru), + q(6941) => q(urv), + q(6942) => q(urw), + q(6943) => q(urx), + q(6944) => q(ury), + q(6945) => q(urz), + q(6946) => q(usa), + q(6947) => q(ush), + q(6948) => q(usi), + q(6949) => q(usk), + q(6950) => q(usp), + q(6951) => q(usu), + q(6952) => q(uta), + q(6953) => q(ute), + q(6954) => q(utp), + q(6955) => q(utr), + q(6956) => q(utu), + q(6957) => q(uum), + q(6958) => q(uun), + q(6959) => q(uur), + q(6960) => q(uuu), + q(6961) => q(uve), + q(6962) => q(uvh), + q(6963) => q(uvl), + q(6964) => q(uwa), + q(6965) => q(uya), + q(6966) => q(uzn), + q(6967) => q(uzs), + q(6968) => q(vaa), + q(6969) => q(vae), + q(6970) => q(vaf), + q(6971) => q(vag), + q(6972) => q(vah), + q(6973) => q(vaj), + q(6974) => q(val), + q(6975) => q(vam), + q(6976) => q(van), + q(6977) => q(vao), + q(6978) => q(vap), + q(6979) => q(var), + q(6980) => q(vas), + q(6981) => q(vau), + q(6982) => q(vav), + q(6983) => q(vay), + q(6984) => q(vbb), + q(6985) => q(vbk), + q(6986) => q(vec), + q(6987) => q(ved), + q(6988) => q(vel), + q(6989) => q(vem), + q(6990) => q(veo), + q(6991) => q(vep), + q(6992) => q(ver), + q(6993) => q(vgr), + q(6994) => q(vgt), + q(6995) => q(vic), + q(6996) => q(vid), + q(6997) => q(vif), + q(6998) => q(vig), + q(6999) => q(vil), + q(7000) => q(vin), + q(7001) => q(vis), + q(7002) => q(vit), + q(7003) => q(viv), + q(7004) => q(vka), + q(7005) => q(vki), + q(7006) => q(vkj), + q(7007) => q(vkk), + q(7008) => q(vkl), + q(7009) => q(vkm), + q(7010) => q(vko), + q(7011) => q(vkp), + q(7012) => q(vkt), + q(7013) => q(vku), + q(7014) => q(vlp), + q(7015) => q(vls), + q(7016) => q(vma), + q(7017) => q(vmb), + q(7018) => q(vmc), + q(7019) => q(vmd), + q(7020) => q(vme), + q(7021) => q(vmf), + q(7022) => q(vmg), + q(7023) => q(vmh), + q(7024) => q(vmi), + q(7025) => q(vmj), + q(7026) => q(vmk), + q(7027) => q(vml), + q(7028) => q(vmm), + q(7029) => q(vmp), + q(7030) => q(vmq), + q(7031) => q(vmr), + q(7032) => q(vms), + q(7033) => q(vmu), + q(7034) => q(vmv), + q(7035) => q(vmw), + q(7036) => q(vmx), + q(7037) => q(vmy), + q(7038) => q(vmz), + q(7039) => q(vnk), + q(7040) => q(vnm), + q(7041) => q(vnp), + q(7042) => q(vro), + q(7043) => q(vra), + q(7044) => q(vrs), + q(7045) => q(vrt), + q(7046) => q(vsi), + q(7047) => q(vsl), + q(7048) => q(vsv), + q(7049) => q(vto), + q(7050) => q(vum), + q(7051) => q(vun), + q(7052) => q(vut), + q(7053) => q(vwa), + q(7054) => q(waa), + q(7055) => q(wab), + q(7056) => q(wac), + q(7057) => q(wad), + q(7058) => q(wae), + q(7059) => q(waf), + q(7060) => q(wag), + q(7061) => q(wah), + q(7062) => q(wai), + q(7063) => q(waj), + q(7064) => q(wam), + q(7065) => q(wan), + q(7066) => q(wao), + q(7067) => q(wap), + q(7068) => q(waq), + q(7069) => q(wat), + q(7070) => q(wau), + q(7071) => q(wav), + q(7072) => q(waw), + q(7073) => q(wax), + q(7074) => q(way), + q(7075) => q(waz), + q(7076) => q(wba), + q(7077) => q(wbb), + q(7078) => q(wbe), + q(7079) => q(wbh), + q(7080) => q(wbi), + q(7081) => q(wbj), + q(7082) => q(wbk), + q(7083) => q(wbl), + q(7084) => q(wbm), + q(7085) => q(wbp), + q(7086) => q(wbq), + q(7087) => q(wbr), + q(7088) => q(wbt), + q(7089) => q(wbv), + q(7090) => q(wbw), + q(7091) => q(wca), + q(7092) => q(wci), + q(7093) => q(wdd), + q(7094) => q(wdg), + q(7095) => q(wdj), + q(7096) => q(wdk), + q(7097) => q(wdu), + q(7098) => q(wdy), + q(7099) => q(wea), + q(7100) => q(wec), + q(7101) => q(wed), + q(7102) => q(weg), + q(7103) => q(weh), + q(7104) => q(wei), + q(7105) => q(wem), + q(7106) => q(weo), + q(7107) => q(wep), + q(7108) => q(wer), + q(7109) => q(wes), + q(7110) => q(wet), + q(7111) => q(weu), + q(7112) => q(wew), + q(7113) => q(wfg), + q(7114) => q(wga), + q(7115) => q(wgb), + q(7116) => q(wgg), + q(7117) => q(wgi), + q(7118) => q(wgo), + q(7119) => q(wgu), + q(7120) => q(wgy), + q(7121) => q(wha), + q(7122) => q(whg), + q(7123) => q(whk), + q(7124) => q(whu), + q(7125) => q(wib), + q(7126) => q(wic), + q(7127) => q(wie), + q(7128) => q(wif), + q(7129) => q(wig), + q(7130) => q(wih), + q(7131) => q(wii), + q(7132) => q(wij), + q(7133) => q(wik), + q(7134) => q(wil), + q(7135) => q(wim), + q(7136) => q(win), + q(7137) => q(wir), + q(7138) => q(wiu), + q(7139) => q(wiv), + q(7140) => q(wiy), + q(7141) => q(wja), + q(7142) => q(wji), + q(7143) => q(wka), + q(7144) => q(wkb), + q(7145) => q(wkd), + q(7146) => q(wkl), + q(7147) => q(wku), + q(7148) => q(wkw), + q(7149) => q(wky), + q(7150) => q(wla), + q(7151) => q(wlc), + q(7152) => q(wle), + q(7153) => q(wlg), + q(7154) => q(wli), + q(7155) => q(wlk), + q(7156) => q(wll), + q(7157) => q(wlm), + q(7158) => q(wlo), + q(7159) => q(wlr), + q(7160) => q(wls), + q(7161) => q(wlu), + q(7162) => q(wlv), + q(7163) => q(wlw), + q(7164) => q(wlx), + q(7165) => q(wly), + q(7166) => q(wma), + q(7167) => q(wmb), + q(7168) => q(wmc), + q(7169) => q(wmd), + q(7170) => q(wme), + q(7171) => q(wmh), + q(7172) => q(wmi), + q(7173) => q(wmm), + q(7174) => q(wmn), + q(7175) => q(wmo), + q(7176) => q(wms), + q(7177) => q(wmt), + q(7178) => q(wmw), + q(7179) => q(wmx), + q(7180) => q(wnb), + q(7181) => q(wnc), + q(7182) => q(wnd), + q(7183) => q(wne), + q(7184) => q(wng), + q(7185) => q(wni), + q(7186) => q(wnk), + q(7187) => q(wnm), + q(7188) => q(wnn), + q(7189) => q(wno), + q(7190) => q(wnp), + q(7191) => q(wnu), + q(7192) => q(wnw), + q(7193) => q(wny), + q(7194) => q(woa), + q(7195) => q(wob), + q(7196) => q(woc), + q(7197) => q(wod), + q(7198) => q(woe), + q(7199) => q(wof), + q(7200) => q(wog), + q(7201) => q(woi), + q(7202) => q(wok), + q(7203) => q(wom), + q(7204) => q(won), + q(7205) => q(woo), + q(7206) => q(wor), + q(7207) => q(wos), + q(7208) => q(wow), + q(7209) => q(woy), + q(7210) => q(wpc), + q(7211) => q(wra), + q(7212) => q(wrb), + q(7213) => q(wrd), + q(7214) => q(wrg), + q(7215) => q(wrh), + q(7216) => q(wri), + q(7217) => q(wrk), + q(7218) => q(wrl), + q(7219) => q(wrm), + q(7220) => q(wrn), + q(7221) => q(wro), + q(7222) => q(wrp), + q(7223) => q(wrr), + q(7224) => q(wrs), + q(7225) => q(wru), + q(7226) => q(wrv), + q(7227) => q(wrw), + q(7228) => q(wrx), + q(7229) => q(wry), + q(7230) => q(wrz), + q(7231) => q(wsa), + q(7232) => q(wsi), + q(7233) => q(wsk), + q(7234) => q(wsr), + q(7235) => q(wss), + q(7236) => q(wsu), + q(7237) => q(wsv), + q(7238) => q(wtf), + q(7239) => q(wth), + q(7240) => q(wti), + q(7241) => q(wtk), + q(7242) => q(wtm), + q(7243) => q(wtw), + q(7244) => q(wua), + q(7245) => q(wub), + q(7246) => q(wud), + q(7247) => q(wuh), + q(7248) => q(wul), + q(7249) => q(wum), + q(7250) => q(wun), + q(7251) => q(wur), + q(7252) => q(wut), + q(7253) => q(wuu), + q(7254) => q(wuv), + q(7255) => q(wux), + q(7256) => q(wuy), + q(7257) => q(wwa), + q(7258) => q(wwb), + q(7259) => q(wwo), + q(7260) => q(wwr), + q(7261) => q(www), + q(7262) => q(wxa), + q(7263) => q(wxw), + q(7264) => q(wya), + q(7265) => q(wyb), + q(7266) => q(wyi), + q(7267) => q(wym), + q(7268) => q(wyr), + q(7269) => q(wyy), + q(7270) => q(xaa), + q(7271) => q(xab), + q(7272) => q(xac), + q(7273) => q(xad), + q(7274) => q(xae), + q(7275) => q(xag), + q(7276) => q(xai), + q(7277) => q(xaj), + q(7278) => q(xam), + q(7279) => q(xan), + q(7280) => q(xao), + q(7281) => q(xap), + q(7282) => q(xaq), + q(7283) => q(xar), + q(7284) => q(xas), + q(7285) => q(xat), + q(7286) => q(xau), + q(7287) => q(xav), + q(7288) => q(xaw), + q(7289) => q(xay), + q(7290) => q(xba), + q(7291) => q(xbb), + q(7292) => q(xbc), + q(7293) => q(xbd), + q(7294) => q(xbe), + q(7295) => q(xbg), + q(7296) => q(xbi), + q(7297) => q(xbj), + q(7298) => q(xbm), + q(7299) => q(xbn), + q(7300) => q(xbo), + q(7301) => q(xbp), + q(7302) => q(xbr), + q(7303) => q(xbw), + q(7304) => q(xbx), + q(7305) => q(xby), + q(7306) => q(xcb), + q(7307) => q(xcc), + q(7308) => q(xce), + q(7309) => q(xcg), + q(7310) => q(xch), + q(7311) => q(xcl), + q(7312) => q(xcm), + q(7313) => q(xcn), + q(7314) => q(xco), + q(7315) => q(xcr), + q(7316) => q(xct), + q(7317) => q(xcu), + q(7318) => q(xcv), + q(7319) => q(xcw), + q(7320) => q(xcy), + q(7321) => q(xda), + q(7322) => q(xdc), + q(7323) => q(xdk), + q(7324) => q(xdm), + q(7325) => q(xdy), + q(7326) => q(xeb), + q(7327) => q(xed), + q(7328) => q(xeg), + q(7329) => q(xel), + q(7330) => q(xem), + q(7331) => q(xep), + q(7332) => q(xer), + q(7333) => q(xes), + q(7334) => q(xet), + q(7335) => q(xeu), + q(7336) => q(xfa), + q(7337) => q(xga), + q(7338) => q(xgb), + q(7339) => q(xgd), + q(7340) => q(xgf), + q(7341) => q(xgg), + q(7342) => q(xgi), + q(7343) => q(xgl), + q(7344) => q(xgm), + q(7345) => q(xgr), + q(7346) => q(xgu), + q(7347) => q(xgw), + q(7348) => q(xha), + q(7349) => q(xhc), + q(7350) => q(xhd), + q(7351) => q(xhe), + q(7352) => q(xhr), + q(7353) => q(xht), + q(7354) => q(xhu), + q(7355) => q(xhv), + q(7356) => q(xib), + q(7357) => q(xii), + q(7358) => q(xil), + q(7359) => q(xin), + q(7360) => q(xip), + q(7361) => q(xir), + q(7362) => q(xis), + q(7363) => q(xiv), + q(7364) => q(xiy), + q(7365) => q(xjb), + q(7366) => q(xjt), + q(7367) => q(xka), + q(7368) => q(xkb), + q(7369) => q(xkc), + q(7370) => q(xkd), + q(7371) => q(xke), + q(7372) => q(xkf), + q(7373) => q(xkg), + q(7374) => q(xkh), + q(7375) => q(xki), + q(7376) => q(xkj), + q(7377) => q(xkk), + q(7378) => q(xkl), + q(7379) => q(xkn), + q(7380) => q(xko), + q(7381) => q(xkp), + q(7382) => q(xkq), + q(7383) => q(xkr), + q(7384) => q(xks), + q(7385) => q(xkt), + q(7386) => q(xku), + q(7387) => q(xkv), + q(7388) => q(xkw), + q(7389) => q(xkx), + q(7390) => q(xky), + q(7391) => q(xkz), + q(7392) => q(xla), + q(7393) => q(xlb), + q(7394) => q(xlc), + q(7395) => q(xld), + q(7396) => q(xle), + q(7397) => q(xlg), + q(7398) => q(xli), + q(7399) => q(xln), + q(7400) => q(xlo), + q(7401) => q(xlp), + q(7402) => q(xls), + q(7403) => q(xlu), + q(7404) => q(xly), + q(7405) => q(xma), + q(7406) => q(xmb), + q(7407) => q(xmc), + q(7408) => q(xmd), + q(7409) => q(xme), + q(7410) => q(xmf), + q(7411) => q(xmg), + q(7412) => q(xmh), + q(7413) => q(xmj), + q(7414) => q(xmk), + q(7415) => q(xml), + q(7416) => q(xmm), + q(7417) => q(xmn), + q(7418) => q(xmo), + q(7419) => q(xmp), + q(7420) => q(xmq), + q(7421) => q(xmr), + q(7422) => q(xms), + q(7423) => q(xmt), + q(7424) => q(xmu), + q(7425) => q(xmv), + q(7426) => q(xmw), + q(7427) => q(xmx), + q(7428) => q(xmy), + q(7429) => q(xmz), + q(7430) => q(xna), + q(7431) => q(xnb), + q(7432) => q(xng), + q(7433) => q(xnh), + q(7434) => q(xni), + q(7435) => q(xnk), + q(7436) => q(xnn), + q(7437) => q(xno), + q(7438) => q(xnr), + q(7439) => q(xns), + q(7440) => q(xnt), + q(7441) => q(xnu), + q(7442) => q(xny), + q(7443) => q(xnz), + q(7444) => q(xoc), + q(7445) => q(xod), + q(7446) => q(xog), + q(7447) => q(xoi), + q(7448) => q(xok), + q(7449) => q(xom), + q(7450) => q(xon), + q(7451) => q(xoo), + q(7452) => q(xop), + q(7453) => q(xor), + q(7454) => q(xow), + q(7455) => q(xpa), + q(7456) => q(xpc), + q(7457) => q(xpe), + q(7458) => q(xpg), + q(7459) => q(xpi), + q(7460) => q(xpj), + q(7461) => q(xpk), + q(7462) => q(xpm), + q(7463) => q(xpn), + q(7464) => q(xpo), + q(7465) => q(xpp), + q(7466) => q(xpq), + q(7467) => q(xpr), + q(7468) => q(xps), + q(7469) => q(xpt), + q(7470) => q(xpu), + q(7471) => q(xpy), + q(7472) => q(xqa), + q(7473) => q(xqt), + q(7474) => q(xra), + q(7475) => q(xrb), + q(7476) => q(xrd), + q(7477) => q(xre), + q(7478) => q(xrg), + q(7479) => q(xri), + q(7480) => q(xrm), + q(7481) => q(xrn), + q(7482) => q(xrq), + q(7483) => q(xrr), + q(7484) => q(xrt), + q(7485) => q(xru), + q(7486) => q(xrw), + q(7487) => q(xsa), + q(7488) => q(xsb), + q(7489) => q(xsc), + q(7490) => q(xsd), + q(7491) => q(xse), + q(7492) => q(xsh), + q(7493) => q(xsi), + q(7494) => q(xsl), + q(7495) => q(xsm), + q(7496) => q(xsn), + q(7497) => q(xso), + q(7498) => q(xsp), + q(7499) => q(xsq), + q(7500) => q(xsr), + q(7501) => q(xss), + q(7502) => q(xsu), + q(7503) => q(xsv), + q(7504) => q(xsy), + q(7505) => q(xta), + q(7506) => q(xtb), + q(7507) => q(xtc), + q(7508) => q(xtd), + q(7509) => q(xte), + q(7510) => q(xtg), + q(7511) => q(xth), + q(7512) => q(xti), + q(7513) => q(xtj), + q(7514) => q(xtl), + q(7515) => q(xtm), + q(7516) => q(xtn), + q(7517) => q(xto), + q(7518) => q(xtp), + q(7519) => q(xtq), + q(7520) => q(xtr), + q(7521) => q(xts), + q(7522) => q(xtt), + q(7523) => q(xtu), + q(7524) => q(xtv), + q(7525) => q(xtw), + q(7526) => q(xty), + q(7527) => q(xtz), + q(7528) => q(xua), + q(7529) => q(xub), + q(7530) => q(xud), + q(7531) => q(xug), + q(7532) => q(xuj), + q(7533) => q(xul), + q(7534) => q(xum), + q(7535) => q(xun), + q(7536) => q(xuo), + q(7537) => q(xup), + q(7538) => q(xur), + q(7539) => q(xut), + q(7540) => q(xuu), + q(7541) => q(xve), + q(7542) => q(xvi), + q(7543) => q(xvn), + q(7544) => q(xvo), + q(7545) => q(xvs), + q(7546) => q(xwa), + q(7547) => q(xwc), + q(7548) => q(xwd), + q(7549) => q(xwe), + q(7550) => q(xwg), + q(7551) => q(xwj), + q(7552) => q(xwk), + q(7553) => q(xwl), + q(7554) => q(xwo), + q(7555) => q(xwr), + q(7556) => q(xwt), + q(7557) => q(xww), + q(7558) => q(xxb), + q(7559) => q(xxk), + q(7560) => q(xxm), + q(7561) => q(xxr), + q(7562) => q(xxt), + q(7563) => q(xya), + q(7564) => q(xyb), + q(7565) => q(xyj), + q(7566) => q(xyk), + q(7567) => q(xyl), + q(7568) => q(xyt), + q(7569) => q(xyy), + q(7570) => q(xzh), + q(7571) => q(xzm), + q(7572) => q(xzp), + q(7573) => q(yaa), + q(7574) => q(yab), + q(7575) => q(yac), + q(7576) => q(yad), + q(7577) => q(yae), + q(7578) => q(yaf), + q(7579) => q(yag), + q(7580) => q(yah), + q(7581) => q(yai), + q(7582) => q(yaj), + q(7583) => q(yak), + q(7584) => q(yal), + q(7585) => q(yam), + q(7586) => q(yan), + q(7587) => q(yaq), + q(7588) => q(yar), + q(7589) => q(yas), + q(7590) => q(yat), + q(7591) => q(yau), + q(7592) => q(yav), + q(7593) => q(yaw), + q(7594) => q(yax), + q(7595) => q(yay), + q(7596) => q(yaz), + q(7597) => q(yba), + q(7598) => q(ybb), + q(7599) => q(ybe), + q(7600) => q(ybh), + q(7601) => q(ybi), + q(7602) => q(ybj), + q(7603) => q(ybk), + q(7604) => q(ybl), + q(7605) => q(ybm), + q(7606) => q(ybn), + q(7607) => q(ybo), + q(7608) => q(ybx), + q(7609) => q(yby), + q(7610) => q(ych), + q(7611) => q(ycl), + q(7612) => q(ycn), + q(7613) => q(ycp), + q(7614) => q(yda), + q(7615) => q(ydd), + q(7616) => q(yde), + q(7617) => q(ydg), + q(7618) => q(ydk), + q(7619) => q(yea), + q(7620) => q(yec), + q(7621) => q(yee), + q(7622) => q(yei), + q(7623) => q(yej), + q(7624) => q(yel), + q(7625) => q(yer), + q(7626) => q(yes), + q(7627) => q(yet), + q(7628) => q(yeu), + q(7629) => q(yev), + q(7630) => q(yey), + q(7631) => q(yga), + q(7632) => q(ygi), + q(7633) => q(ygl), + q(7634) => q(ygm), + q(7635) => q(ygp), + q(7636) => q(ygr), + q(7637) => q(ygs), + q(7638) => q(ygu), + q(7639) => q(ygw), + q(7640) => q(yha), + q(7641) => q(yhd), + q(7642) => q(yhl), + q(7643) => q(yhs), q(7644) => q(yia), q(7645) => q(yig), q(7646) => q(yih), diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Language_Retired.pm b/cpan/Locale-Codes/lib/Locale/Codes/Language_Retired.pm index 3bf73c5..f697467 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Language_Retired.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/Language_Retired.pm @@ -3,7 +3,7 @@ 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: Fri Feb 20 15:27:22 GMT 2015 +# Generated on: Mon Jun 1 13:35:17 EDT 2015 use strict; require 5.006; @@ -11,7 +11,7 @@ use warnings; use utf8; our($VERSION); -$VERSION='3.34'; +$VERSION='3.35'; $Locale::Codes::Retired{'language'}{'alpha-2'}{'code'} = { q(in) => q(Indonesian), diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Script.pm b/cpan/Locale-Codes/lib/Locale/Codes/Script.pm index 94130a9..e021c58 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Script.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/Script.pm @@ -22,7 +22,7 @@ use Locale::Codes::Script_Retired; our($VERSION,@ISA,@EXPORT,@EXPORT_OK); -$VERSION='3.34'; +$VERSION='3.35'; @ISA = qw(Exporter); @EXPORT = qw(code2script script2code diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Script.pod b/cpan/Locale-Codes/lib/Locale/Codes/Script.pod index b62d148..e4e1d40 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Script.pod +++ b/cpan/Locale-Codes/lib/Locale/Codes/Script.pod @@ -18,7 +18,7 @@ Locale::Codes::Script - standard codes for script identification =head1 DESCRIPTION -The C module provides access to standards codes used +This 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 @@ -61,33 +61,33 @@ for Phoenician. =over 4 -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -These routines are all documented in the Locale::Codes::API man page. +These routines are all documented in the L man page. =back @@ -95,19 +95,19 @@ These routines are all documented in the Locale::Codes::API man page. =over 4 -=item B +=item L The Locale-Codes distribution. -=item B +=item L The list of functions supported by this module. -=item B +=item L Home page for ISO 15924. -=item B +=item L The IANA language subtag registry. diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Script_Codes.pm b/cpan/Locale-Codes/lib/Locale/Codes/Script_Codes.pm index 1e8f0de..d4dd585 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Script_Codes.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/Script_Codes.pm @@ -3,7 +3,7 @@ Locale::Codes::Script_Codes; # This file was automatically generated. Any changes to this file will # be lost the next time 'harvest_data' is run. -# Generated on: Thu Feb 19 20:50:29 GMT 2015 +# Generated on: Mon Jun 1 10:50:41 EDT 2015 use strict; require 5.006; @@ -11,7 +11,7 @@ use warnings; use utf8; our($VERSION); -$VERSION='3.34'; +$VERSION='3.35'; $Locale::Codes::Data{'script'}{'id'} = '0173'; diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Script_Retired.pm b/cpan/Locale-Codes/lib/Locale/Codes/Script_Retired.pm index eb4d17c..25bcdb6 100644 --- a/cpan/Locale-Codes/lib/Locale/Codes/Script_Retired.pm +++ b/cpan/Locale-Codes/lib/Locale/Codes/Script_Retired.pm @@ -3,7 +3,7 @@ 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: Fri Feb 20 15:27:22 GMT 2015 +# Generated on: Mon Jun 1 13:35:17 EDT 2015 use strict; require 5.006; @@ -11,7 +11,7 @@ use warnings; use utf8; our($VERSION); -$VERSION='3.34'; +$VERSION='3.35'; $Locale::Codes::Retired{'script'}{'alpha'}{'code'} = { }; diff --git a/cpan/Locale-Codes/lib/Locale/Country.pm b/cpan/Locale-Codes/lib/Locale/Country.pm index 9dd896c..faa6629 100644 --- a/cpan/Locale-Codes/lib/Locale/Country.pm +++ b/cpan/Locale-Codes/lib/Locale/Country.pm @@ -10,7 +10,7 @@ use warnings; use Exporter; our $VERSION; -$VERSION='3.34'; +$VERSION='3.35'; our (@ISA,@EXPORT); diff --git a/cpan/Locale-Codes/lib/Locale/Country.pod b/cpan/Locale-Codes/lib/Locale/Country.pod index 133a9d6..e35c4f1 100644 --- a/cpan/Locale-Codes/lib/Locale/Country.pod +++ b/cpan/Locale-Codes/lib/Locale/Country.pod @@ -20,7 +20,7 @@ Locale::Country - standard codes for country identification =head1 DESCRIPTION -The C module provides access to several code sets +This module provides access to several code sets that can be used for identifying countries, such as those defined in ISO 3166-1. @@ -80,33 +80,33 @@ Locale::Codes::Changes document for details. =over 4 -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -These routines are all documented in the Locale::Codes::API man page. +These routines are all documented in the L man page. =item B @@ -137,35 +137,35 @@ all 2.X releases, but has been dropped as of 3.00. =over 4 -=item B +=item L The Locale-Codes distribution. -=item B +=item L The list of functions supported by this module. -=item B +=item L 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 +=item L Official home page for the ISO 3166 maintenance agency. -=item B +=item L The source of ISO 3166-1 two-letter codes used by this module. -=item B +=item L Official source of the top-level domain names. -=item B +=item L The source of the official ISO 3166-1 three-letter codes and three-digit codes. @@ -174,13 +174,13 @@ 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 +=item L 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 +=item L Another unofficial source of data. Currently, it is not used to get data, but the notes and explanatory material were very useful for diff --git a/cpan/Locale-Codes/lib/Locale/Currency.pm b/cpan/Locale-Codes/lib/Locale/Currency.pm index 26535d1..b68c8da 100644 --- a/cpan/Locale-Codes/lib/Locale/Currency.pm +++ b/cpan/Locale-Codes/lib/Locale/Currency.pm @@ -10,7 +10,7 @@ use warnings; use Exporter; our $VERSION; -$VERSION='3.34'; +$VERSION='3.35'; our (@ISA,@EXPORT); diff --git a/cpan/Locale-Codes/lib/Locale/Currency.pod b/cpan/Locale-Codes/lib/Locale/Currency.pod index 6b52d7f..22cafaf 100644 --- a/cpan/Locale-Codes/lib/Locale/Currency.pod +++ b/cpan/Locale-Codes/lib/Locale/Currency.pod @@ -14,11 +14,10 @@ Locale::Currency - standard codes for currency identification @codes = all_currency_codes(); @names = all_currency_names(); - =head1 DESCRIPTION -The C module provides access to standard codes used -for identifying currencies and funds, such as those defined in ISO 4217. +This 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 @@ -60,33 +59,33 @@ This is the set of three-digit numeric codes from ISO 4217. =over 4 -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -These routines are all documented in the Locale::Codes::API man page. +These routines are all documented in the L man page. =back @@ -94,15 +93,15 @@ These routines are all documented in the Locale::Codes::API man page. =over 4 -=item B +=item L The Locale-Codes distribution. -=item B +=item L The list of functions supported by this module. -=item B +=item L The ISO 4217 data. diff --git a/cpan/Locale-Codes/lib/Locale/Language.pm b/cpan/Locale-Codes/lib/Locale/Language.pm index bf3afa4..a14a879 100644 --- a/cpan/Locale-Codes/lib/Locale/Language.pm +++ b/cpan/Locale-Codes/lib/Locale/Language.pm @@ -10,7 +10,7 @@ use warnings; use Exporter; our $VERSION; -$VERSION='3.34'; +$VERSION='3.35'; our (@ISA,@EXPORT); diff --git a/cpan/Locale-Codes/lib/Locale/Language.pod b/cpan/Locale-Codes/lib/Locale/Language.pod index 771aa8a..d7e4bd8 100644 --- a/cpan/Locale-Codes/lib/Locale/Language.pod +++ b/cpan/Locale-Codes/lib/Locale/Language.pod @@ -16,7 +16,7 @@ Locale::Language - standard codes for language identification =head1 DESCRIPTION -The C module provides access to standard codes used +This 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 @@ -63,33 +63,33 @@ ISO 639. =over 4 -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -These routines are all documented in the Locale::Codes::API man page. +These routines are all documented in the L man page. =back @@ -97,23 +97,23 @@ These routines are all documented in the Locale::Codes::API man page. =over 4 -=item B +=item L The Locale-Codes distribution. -=item B +=item L The list of functions supported by this module. -=item B +=item L Source of the ISO 639-2 codes. -=item B +=item L Source of the ISO 639-5 codes. -=item B +=item L The IANA language subtag registry. diff --git a/cpan/Locale-Codes/lib/Locale/Script.pm b/cpan/Locale-Codes/lib/Locale/Script.pm index 185935d..6a8ac38 100644 --- a/cpan/Locale-Codes/lib/Locale/Script.pm +++ b/cpan/Locale-Codes/lib/Locale/Script.pm @@ -10,7 +10,7 @@ use warnings; use Exporter; our $VERSION; -$VERSION='3.34'; +$VERSION='3.35'; our (@ISA,@EXPORT); diff --git a/cpan/Locale-Codes/lib/Locale/Script.pod b/cpan/Locale-Codes/lib/Locale/Script.pod index a1c2c81..c06f1b1 100644 --- a/cpan/Locale-Codes/lib/Locale/Script.pod +++ b/cpan/Locale-Codes/lib/Locale/Script.pod @@ -18,7 +18,7 @@ Locale::Script - standard codes for script identification =head1 DESCRIPTION -The C module provides access to standards codes used +This 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 @@ -61,33 +61,33 @@ for Phoenician. =over 4 -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -=item B +=item B -These routines are all documented in the Locale::Codes::API man page. +These routines are all documented in the L man page. =back @@ -95,19 +95,19 @@ These routines are all documented in the Locale::Codes::API man page. =over 4 -=item B +=item L The Locale-Codes distribution. -=item B +=item L The list of functions supported by this module. -=item B +=item L Home page for ISO 15924. -=item B +=item L The IANA language subtag registry. diff --git a/cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm b/cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm index 9e61670..30760f3 100644 --- a/cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm +++ b/cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm @@ -1,5 +1,5 @@ package Locale::Maketext::Simple; -$Locale::Maketext::Simple::VERSION = '0.21_01'; +$Locale::Maketext::Simple::VERSION = '0.21'; use strict; use 5.005; @@ -134,12 +134,7 @@ sub load_loc { my $pkg = join('::', grep { defined and length } $args{Class}, $args{Subclass}); return $Loc{$pkg} if exists $Loc{$pkg}; - eval { - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - require Locale::Maketext::Lexicon; - 1 - } or return; + eval { require Locale::Maketext::Lexicon; 1 } or return; $Locale::Maketext::Lexicon::VERSION > 0.20 or return; eval { require File::Spec; 1 } or return; diff --git a/cpan/Memoize/Memoize.pm b/cpan/Memoize/Memoize.pm index f4e6522..9a58c4a 100644 --- a/cpan/Memoize/Memoize.pm +++ b/cpan/Memoize/Memoize.pm @@ -9,7 +9,7 @@ # write to mjd-perl-memoize+@plover.com for a license. package Memoize; -$VERSION = '1.03_01'; +$VERSION = '1.03'; # Compile-time constants sub SCALAR () { 0 } @@ -184,11 +184,7 @@ sub _my_tie { } my $modulefile = $module . '.pm'; $modulefile =~ s{::}{/}g; - eval { - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - require $modulefile - }; + eval { require $modulefile }; if ($@) { croak "Memoize: Couldn't load hash tie module `$module': $@; aborting"; } diff --git a/cpan/Module-Metadata/lib/Module/Metadata.pm b/cpan/Module-Metadata/lib/Module/Metadata.pm index 7ea1210..2fa75c1 100644 --- a/cpan/Module-Metadata/lib/Module/Metadata.pm +++ b/cpan/Module-Metadata/lib/Module/Metadata.pm @@ -1,6 +1,6 @@ # -*- mode: cperl; tab-width: 8; indent-tabs-mode: nil; basic-offset: 2 -*- # vim:ts=8:sw=2:et:sta:sts=2 -package Module::Metadata; # git description: v1.000025-7-g47ca1b2 +package Module::Metadata; # git description: v1.000026-12-g9b12bf1 # Adapted from Perl-licensed code originally distributed with # Module-Build by Ken Williams @@ -13,7 +13,7 @@ sub __clean_eval { eval $_[0] } use strict; use warnings; -our $VERSION = '1.000026'; +our $VERSION = '1.000027'; use Carp qw/croak/; use File::Spec; @@ -26,7 +26,10 @@ BEGIN { use version 0.87; BEGIN { if ($INC{'Log/Contextual.pm'}) { - Log::Contextual->import('log_info'); + require "Log/Contextual/WarnLogger.pm"; # Hide from AutoPrereqs + Log::Contextual->import('log_info', + '-default_logger' => Log::Contextual::WarnLogger->new({ env_prefix => 'MODULE_METADATA', }), + ); } else { *log_info = sub (&) { warn $_[0]->() }; } @@ -814,13 +817,9 @@ This module provides a standard way to gather metadata about a .pm file through version of a module, the C<$VERSION> assignment is Ced, as is traditional in the CPAN toolchain. -=head1 USAGE - -=head2 Class methods - -=over 4 +=head1 CLASS METHODS -=item C<< new_from_file($filename, collect_pod => 1) >> +=head2 C<< new_from_file($filename, collect_pod => 1) >> Constructs a C object given the path to a file. Returns undef if the filename does not exist. @@ -833,7 +832,7 @@ If the file begins by an UTF-8, UTF-16BE or UTF-16LE byte-order mark, then it is skipped before processing, and the content of the file is also decoded appropriately starting from perl 5.8. -=item C<< new_from_handle($handle, $filename, collect_pod => 1) >> +=head2 C<< new_from_handle($handle, $filename, collect_pod => 1) >> This works just like C, except that a handle can be provided as the first argument. @@ -846,7 +845,7 @@ mandatory or undef will be returned. You are responsible for setting the decoding layers on C<$handle> if required. -=item C<< new_from_module($module, collect_pod => 1, inc => \@dirs) >> +=head2 C<< new_from_module($module, collect_pod => 1, inc => \@dirs) >> Constructs a C object given a module or package name. Returns undef if the module cannot be found. @@ -860,7 +859,7 @@ If the file that contains the module begins by an UTF-8, UTF-16BE or UTF-16LE byte-order mark, then it is skipped before processing, and the content of the file is also decoded appropriately starting from perl 5.8. -=item C<< find_module_by_name($module, \@dirs) >> +=head2 C<< find_module_by_name($module, \@dirs) >> Returns the path to a module given the module or package name. A list of directories can be passed in as an optional parameter, otherwise @@ -868,7 +867,7 @@ of directories can be passed in as an optional parameter, otherwise Can be called as either an object or a class method. -=item C<< find_module_dir_by_name($module, \@dirs) >> +=head2 C<< find_module_dir_by_name($module, \@dirs) >> Returns the entry in C<@dirs> (or C<@INC> by default) that contains the module C<$module>. A list of directories can be passed in as an @@ -876,7 +875,7 @@ optional parameter, otherwise @INC is searched. Can be called as either an object or a class method. -=item C<< provides( %options ) >> +=head2 C<< provides( %options ) >> This is a convenience wrapper around C to generate a CPAN META C data structure. It takes key/value @@ -925,7 +924,7 @@ is a hashref of the form: 'OtherPackage::Name' => ... } -=item C<< package_versions_from_directory($dir, \@files?) >> +=head2 C<< package_versions_from_directory($dir, \@files?) >> Scans C<$dir> for .pm files (unless C<@files> is given, in which case looks for those files in C<$dir> - and reads each file for packages and versions, @@ -947,36 +946,33 @@ Note that the file path is relative to C<$dir> if that is specified. This B be used directly for CPAN META C. See the C method instead. -=item C<< log_info (internal) >> +=head2 C<< log_info (internal) >> Used internally to perform logging; imported from Log::Contextual if Log::Contextual has already been loaded, otherwise simply calls warn. -=back - -=head2 Object methods +=head1 OBJECT METHODS -=over 4 - -=item C<< name() >> +=head2 C<< name() >> Returns the name of the package represented by this module. If there is more than one package, it makes a best guess based on the filename. If it's a script (i.e. not a *.pm) the package name is 'main'. -=item C<< version($package) >> +=head2 C<< version($package) >> Returns the version as defined by the $VERSION variable for the package as returned by the C method if no arguments are given. If given the name of a package it will attempt to return the version of that package if it is specified in the file. -=item C<< filename() >> +=head2 C<< filename() >> Returns the absolute path to the file. +Note that this file may not actually exist on disk yet, e.g. if the module was read from an in-memory filehandle. -=item C<< packages_inside() >> +=head2 C<< packages_inside() >> Returns a list of packages. Note: this is a raw list of packages discovered (or assumed, in the case of C
). It is not @@ -986,27 +982,25 @@ 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() >> +=head2 C<< pod_inside() >> Returns a list of POD sections. -=item C<< contains_pod() >> +=head2 C<< contains_pod() >> Returns true if there is any POD in the file. -=item C<< pod($section) >> +=head2 C<< pod($section) >> Returns the POD data in the given section. -=item C<< is_indexable($package) >> or C<< is_indexable() >> +=head2 C<< is_indexable($package) >> or C<< is_indexable() >> Returns a boolean indicating whether the package (if provided) or any package (otherwise) is eligible for indexing by PAUSE, the Perl Authors Upload Server. Note This only checks for valid C declarations, and does not take any ownership information into account. -=back - =head1 AUTHOR Original code from Module::Build::ModuleInfo by Ken Williams @@ -1025,4 +1019,3 @@ This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut - diff --git a/cpan/Module-Metadata/t/metadata.t b/cpan/Module-Metadata/t/metadata.t index ca92863..67c68a9 100644 --- a/cpan/Module-Metadata/t/metadata.t +++ b/cpan/Module-Metadata/t/metadata.t @@ -1,4 +1,3 @@ -#!/usr/bin/perl -w # -*- mode: cperl; tab-width: 8; indent-tabs-mode: nil; basic-offset: 2 -*- # vim:ts=8:sw=2:et:sta:sts=2 diff --git a/cpan/Module-Metadata/t/taint.t b/cpan/Module-Metadata/t/taint.t index 80ae7ea..18f0300 100644 --- a/cpan/Module-Metadata/t/taint.t +++ b/cpan/Module-Metadata/t/taint.t @@ -2,7 +2,9 @@ use strict; use warnings; -use Test::More tests => 2; +use Config; +use Test::More $Config{ccflags} =~ /-DSILENT_NO_TAINT_SUPPORT/ + ? ( skip_all => 'No taint support' ) : ( tests => 2 ); use Module::Metadata; use Carp 'croak'; diff --git a/cpan/Parse-CPAN-Meta/t/data/BadMETA.yml b/cpan/Parse-CPAN-Meta/corpus/BadMETA.yml similarity index 100% rename from cpan/Parse-CPAN-Meta/t/data/BadMETA.yml rename to cpan/Parse-CPAN-Meta/corpus/BadMETA.yml diff --git a/cpan/Parse-CPAN-Meta/t/data/META-VR.json b/cpan/Parse-CPAN-Meta/corpus/META-VR.json similarity index 100% rename from cpan/Parse-CPAN-Meta/t/data/META-VR.json rename to cpan/Parse-CPAN-Meta/corpus/META-VR.json diff --git a/cpan/Parse-CPAN-Meta/t/data/META-VR.yml b/cpan/Parse-CPAN-Meta/corpus/META-VR.yml similarity index 100% rename from cpan/Parse-CPAN-Meta/t/data/META-VR.yml rename to cpan/Parse-CPAN-Meta/corpus/META-VR.yml diff --git a/cpan/Parse-CPAN-Meta/t/data/bareyaml.meta b/cpan/Parse-CPAN-Meta/corpus/bareyaml.meta similarity index 100% rename from cpan/Parse-CPAN-Meta/t/data/bareyaml.meta rename to cpan/Parse-CPAN-Meta/corpus/bareyaml.meta diff --git a/cpan/Parse-CPAN-Meta/t/data/json.meta b/cpan/Parse-CPAN-Meta/corpus/json.meta similarity index 100% rename from cpan/Parse-CPAN-Meta/t/data/json.meta rename to cpan/Parse-CPAN-Meta/corpus/json.meta diff --git a/cpan/Parse-CPAN-Meta/t/data/yaml.meta b/cpan/Parse-CPAN-Meta/corpus/yaml.meta similarity index 100% rename from cpan/Parse-CPAN-Meta/t/data/yaml.meta rename to cpan/Parse-CPAN-Meta/corpus/yaml.meta diff --git a/cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm b/cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm index 1285ad5..77a0764 100644 --- a/cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm +++ b/cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm @@ -2,7 +2,8 @@ use 5.008001; use strict; package Parse::CPAN::Meta; # ABSTRACT: Parse META.yml and META.json CPAN metadata files -our $VERSION = '1.4414_001'; # VERSION + +our $VERSION = '1.4417'; use Exporter; use Carp 'croak'; @@ -55,7 +56,7 @@ sub load_json_string { } sub yaml_backend { - if ($ENV{PERL_CORE} or not defined $ENV{PERL_YAML_BACKEND} ) { + if (! defined $ENV{PERL_YAML_BACKEND} ) { _can_load( 'CPAN::Meta::YAML', 0.011 ) or croak "CPAN::Meta::YAML 0.011 is not available\n"; return "CPAN::Meta::YAML"; @@ -71,7 +72,7 @@ sub yaml_backend { } sub json_backend { - if ($ENV{PERL_CORE} or ! $ENV{PERL_JSON_BACKEND} or $ENV{PERL_JSON_BACKEND} eq 'JSON::PP') { + if (! $ENV{PERL_JSON_BACKEND} or $ENV{PERL_JSON_BACKEND} eq 'JSON::PP') { _can_load( 'JSON::PP' => 2.27103 ) or croak "JSON::PP 2.27103 is not available\n"; return 'JSON::PP'; @@ -110,12 +111,12 @@ sub _can_load { # Kept for backwards compatibility only # Create an object from a file -sub LoadFile ($) { +sub LoadFile ($) { ## no critic return Load(_slurp(shift)); } # Parse a document from a string. -sub Load ($) { +sub Load ($) { ## no critic require CPAN::Meta::YAML; my $object = eval { CPAN::Meta::YAML::Load(shift) }; croak $@ if $@; @@ -136,7 +137,7 @@ Parse::CPAN::Meta - Parse META.yml and META.json CPAN metadata files =head1 VERSION -version 1.4414 +version 1.4417 =head1 SYNOPSIS @@ -283,7 +284,7 @@ will be thrown. =head2 Bugs / Feature Requests Please report any bugs or feature requests through the issue tracker -at L. +at L. You will be notified automatically of any progress on your issue. =head2 Source Code @@ -311,6 +312,8 @@ David Golden =head1 CONTRIBUTORS +=for stopwords Graham Knop Joshua ben Jore Karen Etheridge Neil Bowers Ricardo Signes Steffen Mueller + =over 4 =item * @@ -323,6 +326,10 @@ Joshua ben Jore =item * +Karen Etheridge + +=item * + Neil Bowers =item * @@ -337,7 +344,7 @@ Steffen Mueller =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2014 by Adam Kennedy and Contributors. +This software is copyright (c) 2015 by Adam Kennedy and Contributors. 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/cpan/Parse-CPAN-Meta/t/02_api.t b/cpan/Parse-CPAN-Meta/t/02_api.t index 2791c25..5f94bc7 100644 --- a/cpan/Parse-CPAN-Meta/t/02_api.t +++ b/cpan/Parse-CPAN-Meta/t/02_api.t @@ -54,55 +54,62 @@ my $meta_yaml = catfile( test_data_directory(), 'META-VR.yml' ); my $yaml_meta = catfile( test_data_directory(), 'yaml.meta' ); my $json_meta = catfile( test_data_directory(), 'json.meta' ); my $bare_yaml_meta = catfile( test_data_directory(), 'bareyaml.meta' ); +my $bad_yaml_meta = catfile( test_data_directory(), 'BadMETA.yml' ); ### YAML tests { - local $ENV{PERL_YAML_BACKEND} if not $ENV{PERL_CORE}; # ensure we get CPAN::META::YAML + local $ENV{PERL_YAML_BACKEND}; # ensure we get CPAN::META::YAML - is(Parse::CPAN::Meta->yaml_backend(), 'CPAN::Meta::YAML', 'yaml_backend()'); + is(Parse::CPAN::Meta->yaml_backend(), 'CPAN::Meta::YAML', 'yaml_backend(): CPAN::Meta::YAML'); my $from_yaml = Parse::CPAN::Meta->load_file( $meta_yaml ); is_deeply($from_yaml, $want, "load from YAML file results in expected data"); } { - local $ENV{PERL_YAML_BACKEND} if not $ENV{PERL_CORE}; # ensure we get CPAN::META::YAML + local $ENV{PERL_YAML_BACKEND}; # ensure we get CPAN::META::YAML - is(Parse::CPAN::Meta->yaml_backend(), 'CPAN::Meta::YAML', 'yaml_backend()'); + note ''; + is(Parse::CPAN::Meta->yaml_backend(), 'CPAN::Meta::YAML', 'yaml_backend(): CPAN::Meta::YAML'); my $from_yaml = Parse::CPAN::Meta->load_file( $yaml_meta ); is_deeply($from_yaml, $want, "load from YAML .meta file results in expected data"); } { - local $ENV{PERL_YAML_BACKEND} if not $ENV{PERL_CORE}; # ensure we get CPAN::META::YAML + local $ENV{PERL_YAML_BACKEND}; # ensure we get CPAN::META::YAML - is(Parse::CPAN::Meta->yaml_backend(), 'CPAN::Meta::YAML', 'yaml_backend()'); + note ''; + is(Parse::CPAN::Meta->yaml_backend(), 'CPAN::Meta::YAML', 'yaml_backend(): CPAN::Meta::YAML'); my $from_yaml = Parse::CPAN::Meta->load_file( $bare_yaml_meta ); is_deeply($from_yaml, $want, "load from bare YAML .meta file results in expected data"); } { - local $ENV{PERL_YAML_BACKEND} if not $ENV{PERL_CORE}; # ensure we get CPAN::META::YAML + local $ENV{PERL_YAML_BACKEND}; # ensure we get CPAN::META::YAML + note ''; + is(Parse::CPAN::Meta->yaml_backend(), 'CPAN::Meta::YAML', 'yaml_backend(): CPAN::Meta::YAML'); my $yaml = load_ok( 'META-VR.yml', $meta_yaml, 100); my $from_yaml = Parse::CPAN::Meta->load_yaml_string( $yaml ); is_deeply($from_yaml, $want, "load from YAML str results in expected data"); } { - local $ENV{PERL_YAML_BACKEND} if not $ENV{PERL_CORE}; # ensure we get CPAN::META::YAML + local $ENV{PERL_YAML_BACKEND}; # ensure we get CPAN::META::YAML - my @yaml = Parse::CPAN::Meta::LoadFile( 't/data/BadMETA.yml' ); + note ''; + is(Parse::CPAN::Meta->yaml_backend(), 'CPAN::Meta::YAML', 'yaml_backend(): CPAN::Meta::YAML'); + my @yaml = Parse::CPAN::Meta::LoadFile( $bad_yaml_meta ); is($yaml[0]{author}[0], 'Olivier Mengu\xE9', "Bad UTF-8 is replaced"); } SKIP: { - skip 'these tests are for cpan builds only', 2 if $ENV{PERL_CORE}; + note ''; skip "YAML module not installed", 2 unless eval "require YAML; 1"; local $ENV{PERL_YAML_BACKEND} = 'YAML'; - is(Parse::CPAN::Meta->yaml_backend(), 'YAML', 'yaml_backend()'); + is(Parse::CPAN::Meta->yaml_backend(), 'YAML', 'yaml_backend(): YAML'); my $yaml = load_ok( 'META-VR.yml', $meta_yaml, 100); my $from_yaml = Parse::CPAN::Meta->load_yaml_string( $yaml ); is_deeply($from_yaml, $want, "load_yaml_string using PERL_YAML_BACKEND"); @@ -111,26 +118,30 @@ SKIP: { ### JSON tests { # JSON tests with JSON::PP - local $ENV{PERL_JSON_BACKEND} if not $ENV{PERL_CORE}; # ensure we get JSON::PP + local $ENV{PERL_JSON_BACKEND}; # ensure we get JSON::PP - is(Parse::CPAN::Meta->json_backend(), 'JSON::PP', 'json_backend()'); + note ''; + is(Parse::CPAN::Meta->json_backend(), 'JSON::PP', 'json_backend(): JSON::PP'); my $from_json = Parse::CPAN::Meta->load_file( $meta_json ); is_deeply($from_json, $want, "load from JSON file results in expected data"); } { # JSON tests with JSON::PP - local $ENV{PERL_JSON_BACKEND} if not $ENV{PERL_CORE}; # ensure we get JSON::PP + local $ENV{PERL_JSON_BACKEND}; # ensure we get JSON::PP - is(Parse::CPAN::Meta->json_backend(), 'JSON::PP', 'json_backend()'); + note ''; + is(Parse::CPAN::Meta->json_backend(), 'JSON::PP', 'json_backend(): JSON::PP'); my $from_json = Parse::CPAN::Meta->load_file( $json_meta ); is_deeply($from_json, $want, "load from JSON .meta file results in expected data"); } { # JSON tests with JSON::PP - local $ENV{PERL_JSON_BACKEND} if not $ENV{PERL_CORE}; # ensure we get JSON::PP + local $ENV{PERL_JSON_BACKEND}; # ensure we get JSON::PP + note ''; + is(Parse::CPAN::Meta->json_backend(), 'JSON::PP', 'json_backend(): JSON::PP'); my $json = load_ok( 'META-VR.json', $meta_json, 100); my $from_json = Parse::CPAN::Meta->load_json_string( $json ); is_deeply($from_json, $want, "load from JSON str results in expected data"); @@ -138,8 +149,10 @@ SKIP: { { # JSON tests with JSON::PP, take 2 - local $ENV{PERL_JSON_BACKEND} = 0 if not $ENV{PERL_CORE}; # request JSON::PP + local $ENV{PERL_JSON_BACKEND} = 0; # request JSON::PP + note ''; + is(Parse::CPAN::Meta->json_backend(), 'JSON::PP', 'json_backend(): JSON::PP'); my $json = load_ok( 'META-VR.json', $meta_json, 100); my $from_json = Parse::CPAN::Meta->load_json_string( $json ); is_deeply($from_json, $want, "load_json_string with PERL_JSON_BACKEND = 0"); @@ -147,20 +160,22 @@ SKIP: { { # JSON tests with JSON::PP, take 3 - local $ENV{PERL_JSON_BACKEND} = 'JSON::PP' if not $ENV{PERL_CORE}; # request JSON::PP + local $ENV{PERL_JSON_BACKEND} = 'JSON::PP'; # request JSON::PP + note ''; + is(Parse::CPAN::Meta->json_backend(), 'JSON::PP', 'json_backend(): JSON::PP'); my $json = load_ok( 'META-VR.json', $meta_json, 100); my $from_json = Parse::CPAN::Meta->load_json_string( $json ); is_deeply($from_json, $want, "load_json_string with PERL_JSON_BACKEND = 'JSON::PP'"); } SKIP: { - skip 'these tests are for cpan builds only', 2 if $ENV{PERL_CORE}; + note ''; skip "JSON module version 2.5 not installed", 2 unless eval "require JSON; JSON->VERSION(2.5); 1"; local $ENV{PERL_JSON_BACKEND} = 1; - is(Parse::CPAN::Meta->json_backend(), 'JSON', 'json_backend()'); + is(Parse::CPAN::Meta->json_backend(), 'JSON', 'json_backend(): JSON'); my $json = load_ok( 'META-VR.json', $meta_json, 100); my $from_json = Parse::CPAN::Meta->load_json_string( $json ); is_deeply($from_json, $want, "load_json_string with PERL_JSON_BACKEND = 1"); diff --git a/cpan/Parse-CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm b/cpan/Parse-CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm index 46024db..b6bb4f7 100644 --- a/cpan/Parse-CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm +++ b/cpan/Parse-CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm @@ -16,7 +16,7 @@ BEGIN { } sub test_data_directory { - return( File::Spec->catdir(qw(t data)) ); + return( "corpus" ); } # 22 tests per call to yaml_ok diff --git a/cpan/Pod-Perldoc/lib/Pod/Perldoc.pm b/cpan/Pod-Perldoc/lib/Pod/Perldoc.pm index 52ae015..969019d 100644 --- a/cpan/Pod-Perldoc/lib/Pod/Perldoc.pm +++ b/cpan/Pod-Perldoc/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.25_01'; +$VERSION = '3.25'; #.......................................................................... @@ -573,9 +573,6 @@ sub find_good_formatter_class { my @class_list = @{ $self->{'formatter_classes'} || [] }; $self->die( "WHAT? Nothing in the formatter class list!?" ) unless @class_list; - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - my $good_class_found; foreach my $c (@class_list) { DEBUG > 4 and print "Trying to load $c...\n"; @@ -1007,8 +1004,6 @@ sub new_translator { # $tr = $self->new_translator($lang); my $self = shift; my $lang = shift; - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; my $pack = 'POD2::' . uc($lang); eval "require $pack"; if ( !$@ && $pack->can('new') ) { diff --git a/cpan/Pod-Simple/lib/Pod/Simple.pm b/cpan/Pod-Simple/lib/Pod/Simple.pm index 538969d..b9a1197 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple.pm @@ -18,7 +18,7 @@ use vars qw( ); @ISA = ('Pod::Simple::BlackBox'); -$VERSION = '3.29'; +$VERSION = '3.30'; @Known_formatting_codes = qw(I B C L E F S X Z); %Known_formatting_codes = map(($_=>1), @Known_formatting_codes); @@ -48,6 +48,22 @@ if(DEBUG > 2) { print "# We are under a Unicode-safe Perl.\n"; } +# The NO BREAK SPACE and SOFT HYHPEN are used in several submodules. +if ($] ge 5.007_003) { # On sufficiently modern Perls we can handle any + # character set + $Pod::Simple::nbsp = chr utf8::unicode_to_native(0xA0); + $Pod::Simple::shy = chr utf8::unicode_to_native(0xAD); +} +elsif (Pod::Simple::ASCII) { # Hard code ASCII early Perl + $Pod::Simple::nbsp = "\xA0"; + $Pod::Simple::shy = "\xAD"; +} +else { # EBCDIC on early Perl. We know what the values are for the code + # pages supported then. + $Pod::Simple::nbsp = "\x41"; + $Pod::Simple::shy = "\xCA"; +} + # Design note: # This is a parser for Pod. It is not a parser for the set of Pod-like # languages which happens to contain Pod -- it is just for Pod, plus possibly @@ -317,6 +333,13 @@ sub unaccept_targets { # # And now codes (not targets or directives) +# XXX Probably it is an error that the digit '9' is excluded from these re's. +# Broken for early Perls on EBCDIC +my $xml_name_re = eval "qr/[^-.0-8:A-Z_a-z[:^ascii:]]/"; +if (! defined $xml_name_re) { + $xml_name_re = qr/[\x00-\x2C\x2F\x39\x3B-\x40\x5B-\x5E\x60\x7B-\x7F]/; +} + sub accept_code { shift->accept_codes(@_) } # alias sub accept_codes { # Add some codes @@ -324,20 +347,17 @@ sub accept_codes { # Add some codes foreach my $new_code (@_) { next unless defined $new_code and length $new_code; - if(ASCII) { - # A good-enough check that it's good as an XML Name symbol: - Carp::croak "\"$new_code\" isn't a valid element name" - if $new_code =~ - m/[\x00-\x2C\x2F\x39\x3B-\x40\x5B-\x5E\x60\x7B-\x7F]/ - # Characters under 0x80 that aren't legal in an XML Name. - or $new_code =~ m/^[-\.0-9]/s - or $new_code =~ m/:[-\.0-9]/s; - # The legal under-0x80 Name characters that - # an XML Name still can't start with. - } - + # A good-enough check that it's good as an XML Name symbol: + Carp::croak "\"$new_code\" isn't a valid element name" + if $new_code =~ $xml_name_re + # Characters under 0x80 that aren't legal in an XML Name. + or $new_code =~ m/^[-\.0-9]/s + or $new_code =~ m/:[-\.0-9]/s; + # The legal under-0x80 Name characters that + # an XML Name still can't start with. + $this->{'accept_codes'}{$new_code} = $new_code; - + # Yes, map to itself -- just so that when we # see "=extend W [whatever] thatelementname", we say that W maps # to whatever $this->{accept_codes}{thatelementname} is, @@ -359,18 +379,15 @@ sub unaccept_codes { # remove some codes foreach my $new_code (@_) { next unless defined $new_code and length $new_code; - if(ASCII) { - # A good-enough check that it's good as an XML Name symbol: - Carp::croak "\"$new_code\" isn't a valid element name" - if $new_code =~ - m/[\x00-\x2C\x2F\x39\x3B-\x40\x5B-\x5E\x60\x7B-\x7F]/ - # Characters under 0x80 that aren't legal in an XML Name. - or $new_code =~ m/^[-\.0-9]/s - or $new_code =~ m/:[-\.0-9]/s; - # The legal under-0x80 Name characters that - # an XML Name still can't start with. - } - + # A good-enough check that it's good as an XML Name symbol: + Carp::croak "\"$new_code\" isn't a valid element name" + if $new_code =~ $xml_name_re + # Characters under 0x80 that aren't legal in an XML Name. + or $new_code =~ m/^[-\.0-9]/s + or $new_code =~ m/:[-\.0-9]/s; + # The legal under-0x80 Name characters that + # an XML Name still can't start with. + Carp::croak "But you must accept \"$new_code\" codes -- it's a builtin!" if grep $new_code eq $_, @Known_formatting_codes; @@ -1441,15 +1458,6 @@ sub _treat_Ss { return; } -# We can get NO BREAK SPACE accurately for any platform for recent Perls; for -# earlier ones use the ASCII value for those platforms, and assume the typical -# EBCDIC value for any others. -my $nbsp = ($] >= 5.007003) - ? chr utf8::unicode_to_native(0xA0) - : (ASCII) - ? "\xA0" - : "\x41"; - sub _change_S_to_nbsp { # a recursive function # Sanely assumes that the top node in the excursion won't be an S node. my($treelet, $in_s) = @_; @@ -1467,7 +1475,7 @@ sub _change_S_to_nbsp { # a recursive function $i += @$to_pull_up - 1; # Make $i skip the pulled-up stuff } } else { - $treelet->[$i] =~ s/\s/$nbsp/g if $in_s; + $treelet->[$i] =~ s/\s/$Pod::Simple::nbsp/g if $in_s; # Note that if you apply nbsp_for_S to text, and so turn # "foo S quux" into "foo bar faz quux", you diff --git a/cpan/Pod-Simple/lib/Pod/Simple.pod b/cpan/Pod-Simple/lib/Pod/Simple.pod index aadba19..60229bd 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple.pod +++ b/cpan/Pod-Simple/lib/Pod/Simple.pod @@ -349,21 +349,15 @@ 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 +attempt to guess the encoding (selecting one of UTF-8 or CP 1252) by examining the first non-ASCII bytes and applying the heuristic described in -L. +L. (It the POD source contains only ASCII bytes, the +encoding is assumed to be ASCII.) If you set the C 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 diff --git a/cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm b/cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm index ee6e747..5c1461f 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm @@ -22,13 +22,27 @@ use integer; # vroom! use strict; use Carp (); use vars qw($VERSION ); -$VERSION = '3.29'; +$VERSION = '3.30'; #use constant DEBUG => 7; BEGIN { require Pod::Simple; *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG } +# Matches a character iff the character will have a different meaning +# if we choose CP1252 vs UTF-8 if there is no =encoding line. +# This is broken for early Perls on non-ASCII platforms. +my $non_ascii_re = eval "qr/[[:^ascii:]]/"; +$non_ascii_re = qr/[\x80-\xFF]/ if ! defined $non_ascii_re; + +my $utf8_bom; +if (($] ge 5.007_003)) { + $utf8_bom = "\x{FEFF}"; + utf8::encode($utf8_bom); +} else { + $utf8_bom = "\xEF\xBB\xBF"; # No EBCDIC BOM detection for early Perls. +} + #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ sub parse_line { shift->parse_lines(@_) } # alias @@ -87,7 +101,7 @@ sub parse_lines { # Usage: $parser->parse_lines(@lines) } else { DEBUG > 2 and print "First line: [$source_line]\n"; - if( ($line = $source_line) =~ s/^\xEF\xBB\xBF//s ) { + if( ($line = $source_line) =~ s/^$utf8_bom//s ) { DEBUG and print "UTF-8 BOM seen. Faking a '=encoding utf8'.\n"; $self->_handle_encoding_line( "=encoding utf8" ); delete $self->{'_processed_encoding'}; @@ -123,28 +137,102 @@ sub parse_lines { # Usage: $parser->parse_lines(@lines) } } - # Try to guess encoding. Inlined for performance reasons. if(!$self->{'parse_characters'} && !$self->{'encoding'} && ($self->{'in_pod'} || $line =~ /^=/s) - && $line =~ /[[:^ascii:]]/ + && $line =~ /$non_ascii_re/ ) { + my $encoding; - if (ord("A") != 65) { - # Hard to figure out on non-ASCII platform if UTF-8 or not. This - # won't work if it isn't UTF-8, so just assume it is and hope for the - # best. It's not clear that the other encodings work on non-ASCII - # platforms anyway. - $encoding = 'UTF-8'; - } - else { - $encoding = $line =~ /^[\x00-\x7f]*[\xC0-\xFD][\x80-\xBF]/ ? 'UTF-8' : 'ISO8859-1'; - } + # No =encoding line, and we are at the first line in the input that + # contains a non-ascii byte, that is one whose meaning varies depending + # on whether the file is encoded in UTF-8 or CP1252, which are the two + # possibilities permitted by the pod spec. (ASCII is assumed if the + # file only contains ASCII bytes.) In order to process this line, we + # need to figure out what encoding we will use for the file. + # + # Strictly speaking ISO 8859-1 (Latin 1) refers to the code points + # 160-255, but it is used here, as it often colloquially is, to refer to + # the complete set of code points 0-255, including ASCII (0-127), the C1 + # controls (128-159), and strict Latin 1 (160-255). + # + # CP1252 is effectively a superset of Latin 1, because it differs only + # from colloquial 8859-1 in the C1 controls, which are very unlikely to + # actually be present in 8859-1 files, so can be used for other purposes + # without conflict. CP 1252 uses most of them for graphic characters. + # + # Note that all ASCII-range bytes represent their corresponding code + # points in CP1252 and UTF-8. In ASCII platform UTF-8 all other code + # points require multiple (non-ASCII) bytes to represent. (A separate + # paragraph for EBCDIC is below.) The multi-byte representation is + # quite structured. If we find an isolated byte that requires multiple + # bytes to represent in UTF-8, we know that the encoding is not UTF-8. + # If we find a sequence of bytes that violates the UTF-8 structure, we + # also can presume the encoding isn't UTF-8, and hence must be 1252. + # + # But there are ambiguous cases where we could guess wrong. If so, the + # user will end up having to supply an =encoding line. We use all + # readily available information to improve our chances of guessing + # right. The odds of something not being UTF-8, but still passing a + # UTF-8 validity test go down very rapidly with increasing length of the + # sequence. Therefore we look at all the maximal length non-ascii + # sequences on the line. If any of the sequences can't be UTF-8, we + # quit there and choose CP1252. If all could be UTF-8, we guess UTF-8. + # + # On EBCDIC platforms, the situation is somewhat different. In + # UTF-EBCDIC, not only do ASCII-range bytes represent their code points, + # but so do the bytes that are for the C1 controls. Recall that these + # correspond to the unused portion of 8859-1 that 1252 mostly takes + # over. That means that there are fewer code points that are + # represented by multi-bytes. But, note that the these controls are + # very unlikely to be in pod text. So if we encounter one of them, it + # means that it is quite likely CP1252 and not UTF-8. The net result is + # the same code below is used for both platforms. + while ($line =~ m/($non_ascii_re+)/g) { + my $non_ascii_seq = $1; + + if (length $non_ascii_seq == 1) { + $encoding = 'CP1252'; + goto guessed; + } elsif ($] ge 5.007_003) { + + # On Perls that have this function, we can see if the sequence is + # valid UTF-8 or not. + if (! utf8::decode($non_ascii_seq)) { + $encoding = 'CP1252'; + goto guessed; + } + } elsif (ord("A") == 65) { # An early Perl, ASCII platform + + # Without utf8::decode, it's a lot harder to do a rigorous check + # (though some early releases had a different function that + # accomplished the same thing). Since these are ancient Perls, not + # likely to be in use today, we take the easy way out, and look at + # just the first two bytes of the sequence to see if they are the + # start of a UTF-8 character. In ASCII UTF-8, continuation bytes + # must be between 0x80 and 0xBF. Start bytes can range from 0xC2 + # through 0xFF, but anything above 0xF4 is not Unicode, and hence + # extremely unlikely to be in a pod. + if ($non_ascii_seq !~ /^[\xC2-\xF4][\x80-\xBF]/) { + $encoding = 'CP1252'; + goto guessed; + } + + # We don't bother doing anything special for EBCDIC on early Perls. + # If there is a solitary variant, CP1252 will be chosen; otherwise + # UTF-8. + } + } # End of loop through all variant sequences on the line + + # All sequences in the line could be UTF-8. Guess that. + $encoding = 'UTF-8'; + + guessed: $self->_handle_encoding_line( "=encoding $encoding" ); delete $self->{'_processed_encoding'}; $self->{'_transcoder'} && $self->{'_transcoder'}->($line); - my ($word) = $line =~ /(\S*[[:^ascii:]]\S*)/; + my ($word) = $line =~ /(\S*$non_ascii_re\S*)/; $self->whine( $self->{'line_count'}, @@ -155,7 +243,7 @@ sub parse_lines { # Usage: $parser->parse_lines(@lines) DEBUG > 5 and print "# Parsing line: [$line]\n"; if(!$self->{'in_pod'}) { - if($line =~ m/^=([a-zA-Z]+)/s) { + if($line =~ m/^=([a-zA-Z][a-zA-Z0-9]*)(?:\s|$)/s) { if($1 eq 'cut') { $self->scream( $self->{'line_count'}, diff --git a/cpan/Pod-Simple/lib/Pod/Simple/Checker.pm b/cpan/Pod-Simple/lib/Pod/Simple/Checker.pm index 3ef64ee..7f7390b 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/Checker.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/Checker.pm @@ -9,7 +9,7 @@ use Carp (); use Pod::Simple::Methody (); use Pod::Simple (); use vars qw( @ISA $VERSION ); -$VERSION = '3.29'; +$VERSION = '3.30'; @ISA = ('Pod::Simple::Methody'); BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG) ? \&Pod::Simple::DEBUG @@ -91,9 +91,9 @@ sub emit_par { my $indent = ' ' x ( 2 * $self->{'Indent'} + ($tweak_indent||0) ); # Yes, 'STRING' x NEGATIVE gives '', same as 'STRING' x 0 - $self->{'Thispara'} =~ tr{\xAD}{}d if Pod::Simple::ASCII; + $self->{'Thispara'} =~ s/$Pod::Simple::shy//g; my $out = Text::Wrap::wrap($indent, $indent, $self->{'Thispara'} .= "\n"); - $out =~ tr{\xA0}{ } if Pod::Simple::ASCII; + $out =~ s/$Pod::Simple::nbsp/ /g; print {$self->{'output_fh'}} $out, #"\n" ; @@ -107,10 +107,8 @@ sub emit_par { sub end_Verbatim { return unless $_[0]{'Errata_seen'}; my $self = shift; - if(Pod::Simple::ASCII) { - $self->{'Thispara'} =~ tr{\xA0}{ }; - $self->{'Thispara'} =~ tr{\xAD}{}d; - } + $self->{'Thispara'} =~ s/$Pod::Simple::nbsp/ /g; + $self->{'Thispara'} =~ s/$Pod::Simple::shy//g; my $i = ' ' x ( 2 * $self->{'Indent'} + 4); diff --git a/cpan/Pod-Simple/lib/Pod/Simple/Debug.pm b/cpan/Pod-Simple/lib/Pod/Simple/Debug.pm index 2bbd50a..c27170d 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/Debug.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/Debug.pm @@ -2,7 +2,7 @@ require 5; package Pod::Simple::Debug; use strict; use vars qw($VERSION ); -$VERSION = '3.29'; +$VERSION = '3.30'; sub import { my($value,$variable); diff --git a/cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm b/cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm index dfde4d6..03be00b 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm @@ -1,7 +1,7 @@ require 5; package Pod::Simple::DumpAsText; -$VERSION = '3.29'; +$VERSION = '3.30'; use Pod::Simple (); BEGIN {@ISA = ('Pod::Simple')} diff --git a/cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm b/cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm index 4db6a06..560275d 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm @@ -1,7 +1,7 @@ require 5; package Pod::Simple::DumpAsXML; -$VERSION = '3.29'; +$VERSION = '3.30'; use Pod::Simple (); BEGIN {@ISA = ('Pod::Simple')} @@ -70,11 +70,13 @@ sub _handle_element_end { sub _xml_escape { foreach my $x (@_) { # Escape things very cautiously: - $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg; + if ($] ge 5.007_003) { + $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(utf8::native_to_unicode(ord($1))).';'/eg; + } else { # Is broken for non-ASCII platforms on early perls + $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg; + } # Yes, stipulate the list without a range, so that this can work right on # all charsets that this module happens to run under. - # Altho, hmm, what about that ord? Presumably that won't work right - # under non-ASCII charsets. Something should be done about that. } return; } diff --git a/cpan/Pod-Simple/lib/Pod/Simple/HTML.pm b/cpan/Pod-Simple/lib/Pod/Simple/HTML.pm index 2c6494b..d46290d 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/HTML.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/HTML.pm @@ -9,7 +9,7 @@ use vars qw( $Doctype_decl $Content_decl ); @ISA = ('Pod::Simple::PullParser'); -$VERSION = '3.29'; +$VERSION = '3.30'; BEGIN { if(defined &DEBUG) { } # no-op elsif( defined &Pod::Simple::DEBUG ) { *DEBUG = \&Pod::Simple::DEBUG } @@ -654,7 +654,7 @@ sub do_pod_link { $self->resolve_pod_page_link($to, $section); # (I pass it the section value, but I don't see a # particular reason it'd use it.) - DEBUG > 1 and print "resolve_pod_page_link gives ", $to || "(nil)", "\n"; + DEBUG > 1 and print "resolve_pod_page_link gives ", $there || "(nil)", "\n"; unless( defined $there and length $there ) { DEBUG and print "Can't resolve $to\n"; return undef; @@ -695,7 +695,11 @@ sub section_name_tidy { $section =~ s/^\s+//; $section =~ s/\s+$//; $section =~ tr/ /_/; - $section =~ tr/\x00-\x1F\x80-\x9F//d if 'A' eq chr(65); # drop crazy characters + if ($] ge 5.006) { + $section =~ s/[[:cntrl:][:^ascii:]]//g; # drop crazy characters + } elsif ('A' eq chr(65)) { # But not on early EBCDIC + $section =~ tr/\x00-\x1F\x80-\x9F//d; + } $section = $self->unicode_escape_url($section); $section = '_' unless length $section; return $section; @@ -714,12 +718,13 @@ sub general_url_escape { # A pretty conservative escaping, behoovey even for query components # of a URL (see RFC 2396) - $string =~ s/([^-_\.!~*()abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/sprintf('%%%02X',ord($1))/eg; + if ($] ge 5.007_003) { + $string =~ s/([^-_\.!~*()abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/sprintf('%%%02X',utf8::native_to_unicode(ord($1)))/eg; + } else { # Is broken for non-ASCII platforms on early perls + $string =~ s/([^-_\.!~*()abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/sprintf('%%%02X',ord($1))/eg; + } # Yes, stipulate the list without a range, so that this can work right on # all charsets that this module happens to run under. - # Altho, hmm, what about that ord? Presumably that won't work right - # under non-ASCII charsets. Something should be done - # about that, I guess? return $string; } @@ -851,21 +856,28 @@ sub esc { # a function. @_ = splice @_; # break aliasing } else { my $x = shift; - $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg; + if ($] ge 5.007_003) { + $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(utf8::native_to_unicode(ord($1))).';'/eg; + } else { # Is broken for non-ASCII platforms on early perls + $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg; + } return $x; } } foreach my $x (@_) { # Escape things very cautiously: - $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg - if defined $x; + if (defined $x) { + if ($] ge 5.007_003) { + $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(utf8::native_to_unicode(ord($1))).';'/eg + } else { # Is broken for non-ASCII platforms on early perls + $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg + } + } # Leave out "- so that "--" won't make it thru in X-generated comments # with text in them. # Yes, stipulate the list without a range, so that this can work right on # all charsets that this module happens to run under. - # Altho, hmm, what about that ord? Presumably that won't work right - # under non-ASCII charsets. Something should be done about that. } return @_; } diff --git a/cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm b/cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm index 19e700b..85cad7b 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm @@ -5,7 +5,7 @@ use strict; use vars qw( $VERSION $HTML_RENDER_CLASS $HTML_EXTENSION $CSS $JAVASCRIPT $SLEEPY $SEARCH_CLASS @ISA ); -$VERSION = '3.29'; +$VERSION = '3.30'; @ISA = (); # Yup, we're NOT a subclass of Pod::Simple::HTML! # TODO: nocontents stylesheets. Strike some of the color variations? diff --git a/cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm b/cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm index 2139509..34582e1 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm @@ -3,12 +3,12 @@ require 5; package Pod::Simple::LinkSection; # Based somewhat dimly on Array::Autojoin use vars qw($VERSION ); -$VERSION = '3.29'; +$VERSION = '3.30'; use strict; use Pod::Simple::BlackBox; use vars qw($VERSION ); -$VERSION = '3.29'; +$VERSION = '3.30'; use overload( # So it'll stringify nice '""' => \&Pod::Simple::BlackBox::stringify_lol, diff --git a/cpan/Pod-Simple/lib/Pod/Simple/Methody.pm b/cpan/Pod-Simple/lib/Pod/Simple/Methody.pm index d867b1c..cb27076 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/Methody.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/Methody.pm @@ -4,7 +4,7 @@ package Pod::Simple::Methody; use strict; use Pod::Simple (); use vars qw(@ISA $VERSION); -$VERSION = '3.29'; +$VERSION = '3.30'; @ISA = ('Pod::Simple'); # Yes, we could use named variables, but I want this to be impose diff --git a/cpan/Pod-Simple/lib/Pod/Simple/Progress.pm b/cpan/Pod-Simple/lib/Pod/Simple/Progress.pm index 3a87b99..968f0a4 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/Progress.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/Progress.pm @@ -1,7 +1,7 @@ require 5; package Pod::Simple::Progress; -$VERSION = '3.29'; +$VERSION = '3.30'; use strict; # Objects of this class are used for noting progress of an diff --git a/cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm b/cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm index 0e47ec3..7af5d12 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm @@ -1,6 +1,6 @@ require 5; package Pod::Simple::PullParser; -$VERSION = '3.29'; +$VERSION = '3.30'; use Pod::Simple (); BEGIN {@ISA = ('Pod::Simple')} diff --git a/cpan/Pod-Simple/lib/Pod/Simple/PullParserEndToken.pm b/cpan/Pod-Simple/lib/Pod/Simple/PullParserEndToken.pm index bb5ac7a..f8747a8 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/PullParserEndToken.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/PullParserEndToken.pm @@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken (); use strict; use vars qw(@ISA $VERSION); @ISA = ('Pod::Simple::PullParserToken'); -$VERSION = '3.29'; +$VERSION = '3.30'; sub new { # Class->new(tagname); my $class = shift; diff --git a/cpan/Pod-Simple/lib/Pod/Simple/PullParserStartToken.pm b/cpan/Pod-Simple/lib/Pod/Simple/PullParserStartToken.pm index dbb0b2c..bec0e2e 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/PullParserStartToken.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/PullParserStartToken.pm @@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken (); use strict; use vars qw(@ISA $VERSION); @ISA = ('Pod::Simple::PullParserToken'); -$VERSION = '3.29'; +$VERSION = '3.30'; sub new { # Class->new(tagname, optional_attrhash); my $class = shift; diff --git a/cpan/Pod-Simple/lib/Pod/Simple/PullParserTextToken.pm b/cpan/Pod-Simple/lib/Pod/Simple/PullParserTextToken.pm index 9db7f1e..59fd06d 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/PullParserTextToken.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/PullParserTextToken.pm @@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken (); use strict; use vars qw(@ISA $VERSION); @ISA = ('Pod::Simple::PullParserToken'); -$VERSION = '3.29'; +$VERSION = '3.30'; sub new { # Class->new(text); my $class = shift; @@ -70,6 +70,12 @@ Or, if you want to alter the value, you can even do things like this: } ...or however you want to alter the value... + (Note that starting with Perl v5.8, you can use, e.g., + + my $nbsp = chr utf8::unicode_to_native(0xA0); + s/$nbsp/ /g; + + to handle the above regardless if it's an ASCII world or not) } =back diff --git a/cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm b/cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm index 46ab1fd..4beff5c 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm @@ -3,7 +3,7 @@ require 5; package Pod::Simple::PullParserToken; # Base class for tokens gotten from Pod::Simple::PullParser's $parser->get_token @ISA = (); -$VERSION = '3.29'; +$VERSION = '3.30'; use strict; sub new { # Class->new('type', stuff...); ## Overridden in derived classes anyway diff --git a/cpan/Pod-Simple/lib/Pod/Simple/RTF.pm b/cpan/Pod-Simple/lib/Pod/Simple/RTF.pm index 6171904..5c72aba 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/RTF.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/RTF.pm @@ -8,7 +8,7 @@ package Pod::Simple::RTF; use strict; use vars qw($VERSION @ISA %Escape $WRAP %Tagmap); -$VERSION = '3.29'; +$VERSION = '3.30'; use Pod::Simple::PullParser (); BEGIN {@ISA = ('Pod::Simple::PullParser')} @@ -17,6 +17,16 @@ BEGIN { *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG } $WRAP = 1 unless defined $WRAP; +# These are broken for early Perls on EBCDIC; they could be fixed to work +# better there, but not worth it. These are part of a larger [...] class, so +# are just the strings to substitute into it, as opposed to compiled patterns. +my $cntrl = '[:cntrl:]'; +$cntrl = '\x00-\x1F\x7F' unless eval "qr/[$cntrl]/"; + +my $not_ascii = '[:^ascii:]'; +$not_ascii = '\x80-\xFF' unless eval "qr/[$not_ascii]/"; + + #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sub _openclose { @@ -176,7 +186,7 @@ sub do_middle { # the main work s/(?: ^ | - (?<=[\cm\cj\t "\[\<\(]) + (?<=[\r\n\t "\[\<\(]) ) # start on whitespace, sequence-start, or quote ( # something looking like a Perl token: (?: @@ -185,7 +195,7 @@ sub do_middle { # the main work | # or starting alpha, but containing anything strange: (?: - [a-zA-Z'\x80-\xFF]+[\$\@\:_<>\(\\\*]\S+ + [a-zA-Z'${not_ascii}]+[\$\@\:_<>\(\\\*]\S+ ) ) /\cb$1\cc/xsg @@ -194,10 +204,10 @@ sub do_middle { # the main work rtf_esc($scratch); $scratch =~ s/( - [^\cm\cj\n]{65} # Snare 65 characters from a line - [^\cm\cj\n\x20]{0,50} # and finish any current word + [^\r\n]{65} # Snare 65 characters from a line + [^\r\n ]{0,50} # and finish any current word ) - (\x20{1,10})(?![\cm\cj\n]) # capture some spaces not at line-end + (\ {1,10})(?![\r\n]) # capture some spaces not at line-end /$1$2\n/gx # and put a NL before those spaces if $WRAP; # This may wrap at well past the 65th column, but not past the 120th. @@ -300,7 +310,7 @@ sub do_middle { # the main work if ($tagname eq 'item-number') { print $fh $token->attr('number'), ". \n"; } elsif ($tagname eq 'item-bullet') { - print $fh "\\'95 \n"; + print $fh "\\'", ord("_"), "\n"; #for funky testing: print $fh '', rtf_esc("\x{4E4B}\x{9053}"); } @@ -483,19 +493,19 @@ sub rtf_esc { my $x; # scratch if(!defined wantarray) { # void context: alter in-place! for(@_) { - s/([F\x00-\x1F\-\\\{\}\x7F-\xFF])/$Escape{$1}/g; # ESCAPER + s/([F${cntrl}\-\\\{\}${not_ascii}])/$Escape{$1}/g; # ESCAPER s/([^\x00-\xFF])/'\\uc1\\u'.((ord($1)<32768)?ord($1):(ord($1)-65536)).'?'/eg; } return; } elsif(wantarray) { # return an array return map {; ($x = $_) =~ - s/([F\x00-\x1F\-\\\{\}\x7F-\xFF])/$Escape{$1}/g; # ESCAPER + s/([F${cntrl}\-\\\{\}${not_ascii}])/$Escape{$1}/g; # ESCAPER $x =~ s/([^\x00-\xFF])/'\\uc1\\u'.((ord($1)<32768)?ord($1):(ord($1)-65536)).'?'/eg; $x; } @_; } else { # return a single scalar ($x = ((@_ == 1) ? $_[0] : join '', @_) - ) =~ s/([F\x00-\x1F\-\\\{\}\x7F-\xFF])/$Escape{$1}/g; # ESCAPER + ) =~ s/([F${cntrl}\-\\\{\}${not_ascii}])/$Escape{$1}/g; # ESCAPER # Escape \, {, }, -, control chars, and 7f-ff. $x =~ s/([^\x00-\xFF])/'\\uc1\\u'.((ord($1)<32768)?ord($1):(ord($1)-65536)).'?'/eg; return $x; @@ -512,19 +522,19 @@ sub rtf_esc_codely { my $x; # scratch if(!defined wantarray) { # void context: alter in-place! for(@_) { - s/([F\x00-\x1F\\\{\}\x7F-\xFF])/$Escape{$1}/g; # ESCAPER + s/([F${cntrl}\\\{\}${not_ascii}])/$Escape{$1}/g; # ESCAPER s/([^\x00-\xFF])/'\\uc1\\u'.((ord($1)<32768)?ord($1):(ord($1)-65536)).'?'/eg; } return; } elsif(wantarray) { # return an array return map {; ($x = $_) =~ - s/([F\x00-\x1F\\\{\}\x7F-\xFF])/$Escape{$1}/g; # ESCAPER + s/([F${cntrl}\\\{\}${not_ascii}])/$Escape{$1}/g; # ESCAPER $x =~ s/([^\x00-\xFF])/'\\uc1\\u'.((ord($1)<32768)?ord($1):(ord($1)-65536)).'?'/eg; $x; } @_; } else { # return a single scalar ($x = ((@_ == 1) ? $_[0] : join '', @_) - ) =~ s/([F\x00-\x1F\\\{\}\x7F-\xFF])/$Escape{$1}/g; # ESCAPER + ) =~ s/([F${cntrl}\\\{\}${not_ascii}])/$Escape{$1}/g; # ESCAPER # Escape \, {, }, -, control chars, and 7f-ff. $x =~ s/([^\x00-\xFF])/'\\uc1\\u'.((ord($1)<32768)?ord($1):(ord($1)-65536)).'?'/eg; return $x; @@ -532,25 +542,30 @@ sub rtf_esc_codely { } %Escape = ( - map( (chr($_),chr($_)), # things not apparently needing escaping + (($] lt 5.007_003) # Broken for non-ASCII on early Perls + ? (map( (chr($_),chr($_)), # things not apparently needing escaping + 0x20 .. 0x7E ), + map( (chr($_),sprintf("\\'%02x", $_)), # apparently escapeworthy things + 0x00 .. 0x1F, 0x5c, 0x7b, 0x7d, 0x7f .. 0xFF, 0x46)) + : (map( (chr(utf8::unicode_to_native($_)),chr(utf8::unicode_to_native($_))), 0x20 .. 0x7E ), - map( (chr($_),sprintf("\\'%02x", $_)), # apparently escapeworthy things - 0x00 .. 0x1F, 0x5c, 0x7b, 0x7d, 0x7f .. 0xFF, 0x46), + map( (chr($_),sprintf("\\'%02x", utf8::unicode_to_native($_))), + 0x00 .. 0x1F, 0x5c, 0x7b, 0x7d, 0x7f .. 0xFF, 0x46))), # We get to escape out 'F' so that we can send RTF files thru the mail # without the slightest worry that paragraphs beginning with "From" # will get munged. # And some refinements: - "\cm" => "\n", + "\r" => "\n", "\cj" => "\n", "\n" => "\n\\line ", "\t" => "\\tab ", # Tabs (altho theoretically raw \t's are okay) "\f" => "\n\\page\n", # Formfeed "-" => "\\_", # Turn plaintext '-' into a non-breaking hyphen - "\xA0" => "\\~", # Latin-1 non-breaking space - "\xAD" => "\\-", # Latin-1 soft (optional) hyphen + $Pod::Simple::nbsp => "\\~", # Latin-1 non-breaking space + $Pod::Simple::shy => "\\-", # Latin-1 soft (optional) hyphen # CRAZY HACKS: "\n" => "\\line\n", diff --git a/cpan/Pod-Simple/lib/Pod/Simple/Search.pm b/cpan/Pod-Simple/lib/Pod/Simple/Search.pm index 49df34d..5be5aea 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/Search.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/Search.pm @@ -3,7 +3,7 @@ package Pod::Simple::Search; use strict; use vars qw($VERSION $MAX_VERSION_WITHIN $SLEEPY); -$VERSION = '3.29'; ## Current version of this package +$VERSION = '3.30'; ## Current version of this package BEGIN { *DEBUG = sub () {0} unless defined &DEBUG; } # set DEBUG level use Carp (); @@ -17,7 +17,7 @@ $MAX_VERSION_WITHIN ||= 60; #use diagnostics; use File::Spec (); -use File::Basename qw( basename ); +use File::Basename qw( basename dirname ); use Config (); use Cwd qw( cwd ); @@ -25,6 +25,7 @@ use Cwd qw( cwd ); __PACKAGE__->_accessorize( # Make my dumb accessor methods 'callback', 'progress', 'dir_prefix', 'inc', 'laborious', 'limit_glob', 'limit_re', 'shadows', 'verbose', 'name2path', 'path2name', 'recurse', + 'ciseen' ); #========================================================================== @@ -51,11 +52,11 @@ sub survey { $self->_expand_inc( \@search_dirs ); - $self->{'_scan_count'} = 0; $self->{'_dirs_visited'} = {}; $self->path2name( {} ); $self->name2path( {} ); + $self->ciseen( {} ); $self->limit_re( $self->_limit_glob_to_limit_re ) if $self->{'limit_glob'}; my $cwd = cwd(); my $verbose = $self->verbose; @@ -115,12 +116,25 @@ sub survey { } $self->progress and $self->progress->done( "Noted $$self{'_scan_count'} Pod files total"); + $self->ciseen( {} ); return unless defined wantarray; # void return $self->name2path unless wantarray; # scalar return $self->name2path, $self->path2name; # list } +my $IS_CASE_INSENSITIVE; +sub _is_case_insensitive { + unless (defined $IS_CASE_INSENSITIVE) { + $IS_CASE_INSENSITIVE = 0; + my ($uc) = glob uc __FILE__; + if ($uc) { + my ($lc) = glob lc __FILE__; + $IS_CASE_INSENSITIVE = 1 if $lc; + } + } + return $IS_CASE_INSENSITIVE; +} #========================================================================== sub _make_search_callback { @@ -128,10 +142,20 @@ sub _make_search_callback { # Put the options in variables, for easy access my( $laborious, $verbose, $shadows, $limit_re, $callback, $progress, - $path2name, $name2path, $recurse) = + $path2name, $name2path, $recurse, $ciseen) = map scalar($self->$_()), qw(laborious verbose shadows limit_re callback progress - path2name name2path recurse); + path2name name2path recurse ciseen); + my ($seen, $remember, $files_for); + if (_is_case_insensitive) { + $seen = sub { $ciseen->{ lc $_[0] } }; + $remember = sub { $name2path->{ $_[0] } = $ciseen->{ lc $_[0] } = $_[1]; }; + $files_for = sub { my $n = lc $_[0]; grep { lc $path2name->{$_} eq $n } %{ $path2name } }; + } else { + $seen = sub { $name2path->{ $_[0] } }; + $remember = sub { $name2path->{ $_[0] } = $_[1] }; + $files_for = sub { my $n = $_[0]; grep { $path2name->{$_} eq $n } %{ $path2name } }; + } my($file, $shortname, $isdir, $modname_bits); return sub { @@ -171,7 +195,6 @@ sub _make_search_callback { return; # (not pruning); } - # Make sure it's a file even worth even considering if($laborious) { unless( @@ -197,31 +220,26 @@ sub _make_search_callback { return; } - if( !$shadows and $name2path->{$name} ) { + if( !$shadows and $seen->($name) ) { $verbose and print "Not worth considering $file ", "-- already saw $name as ", - join(' ', grep($path2name->{$_} eq $name, keys %$path2name)), "\n"; + join(' ', $files_for->($name)), "\n"; return; } - + # Put off until as late as possible the expense of # actually reading the file: - if( m/\.pod\z/is ) { - # just assume it has pod, okay? - } else { - $progress and $progress->reach($self->{'_scan_count'}, "Scanning $file"); - return unless $self->contains_pod( $file ); - } + $progress and $progress->reach($self->{'_scan_count'}, "Scanning $file"); + return unless $self->contains_pod( $file ); ++ $self->{'_scan_count'}; # Or finally take note of it: - if( $name2path->{$name} ) { + if ( my $prev = $seen->($name) ) { $verbose and print "Duplicate POD found (shadowing?): $name ($file)\n", - " Already seen in ", - join(' ', grep($path2name->{$_} eq $name, keys %$path2name)), "\n"; + " Already seen in ", join(' ', $files_for->($name)), "\n"; } else { - $name2path->{$name} = $file; # Noting just the first occurrence + $remember->($name, $file); # Noting just the first occurrence } $verbose and print " Noting $name = $file\n"; if( $callback ) { @@ -326,7 +344,14 @@ sub _recurse_dir { closedir(INDIR); return } - my @items = sort readdir(INDIR); + + # Load all items; put no extension before .pod before .pm before .plx?. + my @items = map { $_->[0] } + sort { $a->[1] cmp $b->[1] || $b->[2] cmp $a->[2] } + map { + (my $t = $_) =~ s/[.]p(m|lx?|od)\z//; + [$_, $t, lc($1 || 'z') ] + } readdir(INDIR); closedir(INDIR); push @$modname_bits, $dir_bare unless $dir_bare eq ''; @@ -528,6 +553,14 @@ sub _limit_glob_to_limit_re { # contribution mostly from Tim Jenness +sub _actual_filenames { + my $dir = shift; + my $fn = lc shift; + opendir my $dh, $dir or return; + return map { File::Spec->catdir($dir, $_) } + grep { lc $_ eq $fn } readdir $dh; +} + sub find { my($self, $pod, @search_dirs) = @_; $self = $self->new unless ref $self; # tolerate being a class method @@ -544,34 +577,17 @@ sub find { #@search_dirs = File::Spec->curdir unless @search_dirs; - if( $self->inc ) { - if( $^O eq 'MacOS' ) { - push @search_dirs, $self->_mac_whammy(@INC); - } else { - push @search_dirs, @INC; - } - - # Add location of pod documentation for perl man pages (eg perlfunc) - # This is a pod directory in the private install tree - #my $perlpoddir = File::Spec->catdir($Config::Config{'installprivlib'}, - # 'pod'); - #push (@search_dirs, $perlpoddir) - # if -d $perlpoddir; - - # Add location of binaries such as pod2text: - push @search_dirs, $Config::Config{'scriptdir'}; - # and if that's undef or q{} or nonexistent, we just ignore it later - } + $self->_expand_inc(\@search_dirs); + # Add location of binaries such as pod2text: + push @search_dirs, $Config::Config{'scriptdir'} if $self->inc; my %seen_dir; - Dir: - foreach my $dir ( @search_dirs ) { + while (my $dir = shift @search_dirs ) { next unless defined $dir and length $dir; next if $seen_dir{$dir}; $seen_dir{$dir} = 1; unless(-d $dir) { print "Directory $dir does not exist\n" if $verbose; - next Dir; } print "Looking in directory $dir\n" if $verbose; @@ -580,16 +596,36 @@ sub find { foreach my $ext ('', '.pod', '.pm', '.pl') { # possible extensions my $fullext = $fullname . $ext; - if( -f $fullext and $self->contains_pod( $fullext ) ){ + if ( -f $fullext and $self->contains_pod($fullext) ) { print "FOUND: $fullext\n" if $verbose; + if (@parts > 1 && lc $parts[0] eq 'pod' && _is_case_insensitive && $ext eq '.pod') { + # Well, this file could be for a program (perldoc) but we actually + # want a module (Pod::Perldoc). So see if there is a .pm with the + # proper casing. + my $subdir = dirname $fullext; + unless (grep { $fullext eq $_ } _actual_filenames $subdir, "$parts[-1].pod") { + print "# Looking for alternate spelling in $subdir\n" if $verbose; + # Try the .pm file. + my $pm = $fullname . '.pm'; + if ( -f $pm and $self->contains_pod($pm) ) { + # Prefer the .pm if its case matches. + if (grep { $pm eq $_ } _actual_filenames $subdir, "$parts[-1].pm") { + print "FOUND: $fullext\n" if $verbose; + return $pm; + } + } + } + } return $fullext; } } - my $subdir = File::Spec->catdir($dir,'pod'); - if(-d $subdir) { # slip in the ./pod dir too - $verbose and print "Noticing $subdir and stopping there...\n"; - $dir = $subdir; - redo Dir; + + # Case-insensitively Look for ./pod directories and slip them in. + for my $subdir ( _actual_filenames($dir, 'pod') ) { + if (-d $subdir) { + $verbose and print "Noticing $subdir and looking there...\n"; + unshift @search_dirs, $subdir; + } } } @@ -1005,6 +1041,7 @@ with default attribute values is used. Returns true if the supplied filename (not POD module) contains some Pod documentation. + =head1 SUPPORT Questions or discussion about POD and Pod::Simple should be sent to the diff --git a/cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm b/cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm index 201e37a..14199df 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm @@ -5,7 +5,7 @@ use strict; use Carp (); use Pod::Simple (); use vars qw( $ATTR_PAD @ISA $VERSION $SORT_ATTRS); -$VERSION = '3.29'; +$VERSION = '3.30'; BEGIN { @ISA = ('Pod::Simple'); *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG; diff --git a/cpan/Pod-Simple/lib/Pod/Simple/Subclassing.pod b/cpan/Pod-Simple/lib/Pod/Simple/Subclassing.pod index e3f09a3..9768ace 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/Subclassing.pod +++ b/cpan/Pod-Simple/lib/Pod/Simple/Subclassing.pod @@ -46,7 +46,7 @@ anyone has a formatter for that format -- maybe someone cobbled one together but just hasn't released it. B in writing a Pod processor is to read L, -which contains notes information on writing a Pod parser (which has been +which contains 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. @@ -78,7 +78,7 @@ like L's interface. L provides a simple tree interface, rather like L's "Tree" interface. Users familiar with XML handling will -be comfortable with this interface. Users interested in outputting XML, +be comfortable with this interface. Users interested in outputting XML, should look into the modules that produce an XML representation of the Pod stream, notably L; you can feed the output of such a class to whatever XML parsing system you are most at home with. @@ -87,8 +87,8 @@ of such a class to whatever XML parsing system you are most at home with. B 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 +constructs in the output format. Also be sure to consider how to escape +text nodes containing arbitrary text, and what to do with text nodes that represent preformatted text (from verbatim sections). @@ -272,7 +272,7 @@ produces this event structure: crontab(5) -In the rare cases where a man page link has a specified, that text appears +In the rare cases where a man page link has a section specified, that text appears in a I
attribute. For example, this Pod source: L @@ -461,7 +461,7 @@ will produce this event structure: et al. -"=head2" thru "=head4" directives are the same, except for the element +"=head2" through "=head4" directives are the same, except for the element names in the event structure. =item events with an element_name of encoding @@ -922,8 +922,8 @@ interesting, but this is included for completeness. =item C<< $parser->whine( I, I ) >> -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 +This notes a problem in the Pod, which will be reported in the "Pod +Errors" section of the document and/or sent to STDERR, depending on the values of the attributes C, C, and C. @@ -1021,7 +1021,7 @@ indented text, showing each event on its own line L -- class for objects representing the values of the TODO and TODO attributes of LE...E elements -L -- the module the Pod::Simple uses for evaluating +L -- the module that Pod::Simple uses for evaluating EE...E content L -- a simple plaintext formatter for Pod diff --git a/cpan/Pod-Simple/lib/Pod/Simple/Text.pm b/cpan/Pod-Simple/lib/Pod/Simple/Text.pm index b3292f8..2a417c2 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/Text.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/Text.pm @@ -6,7 +6,7 @@ use Carp (); use Pod::Simple::Methody (); use Pod::Simple (); use vars qw( @ISA $VERSION $FREAKYMODE); -$VERSION = '3.29'; +$VERSION = '3.30'; @ISA = ('Pod::Simple::Methody'); BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG) ? \&Pod::Simple::DEBUG @@ -81,9 +81,9 @@ sub emit_par { my $indent = ' ' x ( 2 * $self->{'Indent'} + 4 + ($tweak_indent||0) ); # Yes, 'STRING' x NEGATIVE gives '', same as 'STRING' x 0 - $self->{'Thispara'} =~ tr{\xAD}{}d if Pod::Simple::ASCII; + $self->{'Thispara'} =~ s/$Pod::Simple::shy//g; my $out = Text::Wrap::wrap($indent, $indent, $self->{'Thispara'} .= "\n"); - $out =~ tr{\xA0}{ } if Pod::Simple::ASCII; + $out =~ s/$Pod::Simple::nbsp/ /g; print {$self->{'output_fh'}} $out, "\n"; $self->{'Thispara'} = ''; @@ -94,10 +94,8 @@ sub emit_par { sub end_Verbatim { my $self = shift; - if(Pod::Simple::ASCII) { - $self->{'Thispara'} =~ tr{\xA0}{ }; - $self->{'Thispara'} =~ tr{\xAD}{}d; - } + $self->{'Thispara'} =~ s/$Pod::Simple::nbsp/ /g; + $self->{'Thispara'} =~ s/$Pod::Simple::shy//g; my $i = ' ' x ( 2 * $self->{'Indent'} + 4); #my $i = ' ' x (4 + $self->{'Indent'}); diff --git a/cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm b/cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm index 516f28c..33c34f8 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm @@ -6,7 +6,7 @@ use strict; use Carp (); use Pod::Simple (); use vars qw( @ISA $VERSION ); -$VERSION = '3.29'; +$VERSION = '3.30'; @ISA = ('Pod::Simple'); sub new { @@ -25,10 +25,8 @@ sub _handle_element_start { } sub _handle_text { - if( chr(65) eq 'A' ) { # in ASCIIworld - $_[1] =~ tr/\xAD//d; - $_[1] =~ tr/\xA0/ /; - } + $_[1] =~ s/$Pod::Simple::shy//g; + $_[1] =~ s/$Pod::Simple::nbsp/ /g; print {$_[0]{'output_fh'}} $_[1]; return; } diff --git a/cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm b/cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm index dbf5210..925408b 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm @@ -4,7 +4,7 @@ package Pod::Simple::TiedOutFH; use Symbol ('gensym'); use Carp (); use vars qw($VERSION ); -$VERSION = '3.29'; +$VERSION = '3.30'; #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm b/cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm index 9c60f05..0dee9cb 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm @@ -2,7 +2,7 @@ require 5; package Pod::Simple::Transcode; use vars qw($VERSION ); -$VERSION = '3.29'; +$VERSION = '3.30'; BEGIN { if(defined &DEBUG) {;} # Okay diff --git a/cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm b/cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm index badb9a0..53082d7 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm @@ -5,7 +5,7 @@ require 5; package Pod::Simple::TranscodeDumb; use strict; use vars qw($VERSION %Supported); -$VERSION = '3.29'; +$VERSION = '3.30'; # This module basically pretends it knows how to transcode, except # only for null-transcodings! We use this when Encode isn't # available. @@ -14,6 +14,7 @@ $VERSION = '3.29'; 'ascii' => 1, 'ascii-ctrl' => 1, 'iso-8859-1' => 1, + 'cp1252' => 1, 'null' => 1, 'latin1' => 1, 'latin-1' => 1, @@ -36,24 +37,46 @@ sub encmodver { } sub make_transcoder { - my($e) = $_[1]; - die "WHAT ENCODING!?!?" unless $e; - my $x; - return sub {; - #foreach $x (@_) { - # if(Pod::Simple::ASCII and !Pod::Simple::UNICODE and $] > 5.005) { - # # We're in horrible gimp territory, so we need to knock out - # # all the highbit things - # $x = - # pack 'C*', - # map {; ($_ < 128) ? $_ : 0x7e } - # unpack "C*", - # $x - # ; - # } - #} - # - #return; + my ($e) = $_[1]; + die "WHAT ENCODING!?!?" unless $e; + # No-op for all but CP1252. + return sub {;} if $e !~ /^cp-?1252$/i; + + # Replace CP1252 nerbles with their ASCII equivalents. + return sub { + # Copied from Encode::ZapCP1252. + my %ascii_for = ( + # http://en.wikipedia.org/wiki/Windows-1252 + "\x80" => 'e', # EURO SIGN + "\x82" => ',', # SINGLE LOW-9 QUOTATION MARK + "\x83" => 'f', # LATIN SMALL LETTER F WITH HOOK + "\x84" => ',,', # DOUBLE LOW-9 QUOTATION MARK + "\x85" => '...', # HORIZONTAL ELLIPSIS + "\x86" => '+', # DAGGER + "\x87" => '++', # DOUBLE DAGGER + "\x88" => '^', # MODIFIER LETTER CIRCUMFLEX ACCENT + "\x89" => '%', # PER MILLE SIGN + "\x8a" => 'S', # LATIN CAPITAL LETTER S WITH CARON + "\x8b" => '<', # SINGLE LEFT-POINTING ANGLE QUOTATION MARK + "\x8c" => 'OE', # LATIN CAPITAL LIGATURE OE + "\x8e" => 'Z', # LATIN CAPITAL LETTER Z WITH CARON + "\x91" => "'", # LEFT SINGLE QUOTATION MARK + "\x92" => "'", # RIGHT SINGLE QUOTATION MARK + "\x93" => '"', # LEFT DOUBLE QUOTATION MARK + "\x94" => '"', # RIGHT DOUBLE QUOTATION MARK + "\x95" => '*', # BULLET + "\x96" => '-', # EN DASH + "\x97" => '--', # EM DASH + "\x98" => '~', # SMALL TILDE + "\x99" => '(tm)', # TRADE MARK SIGN + "\x9a" => 's', # LATIN SMALL LETTER S WITH CARON + "\x9b" => '>', # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + "\x9c" => 'oe', # LATIN SMALL LIGATURE OE + "\x9e" => 'z', # LATIN SMALL LETTER Z WITH CARON + "\x9f" => 'Y', # LATIN CAPITAL LETTER Y WITH DIAERESIS + ); + + s{([\x80-\x9f])}{$ascii_for{$1} || $1}emxsg for @_; }; } diff --git a/cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm b/cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm index 6735b99..0aec8d9 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm @@ -9,7 +9,7 @@ use strict; use Pod::Simple; require Encode; use vars qw($VERSION ); -$VERSION = '3.29'; +$VERSION = '3.30'; sub is_dumb {0} sub is_smart {1} diff --git a/cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm b/cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm index 3a2d209..af7e989 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm @@ -45,7 +45,7 @@ declare the output character set as UTF-8 before parsing, like so: package Pod::Simple::XHTML; use strict; use vars qw( $VERSION @ISA $HAS_HTML_ENTITIES ); -$VERSION = '3.29'; +$VERSION = '3.30'; use Pod::Simple::Methody (); @ISA = ('Pod::Simple::Methody'); diff --git a/cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm b/cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm index a0f50a2..6cc1fe6 100644 --- a/cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm +++ b/cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm @@ -5,7 +5,7 @@ use strict; use Carp (); use Pod::Simple (); use vars qw( $ATTR_PAD @ISA $VERSION $SORT_ATTRS); -$VERSION = '3.29'; +$VERSION = '3.30'; BEGIN { @ISA = ('Pod::Simple'); *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG; @@ -76,11 +76,13 @@ sub _handle_element_end { sub _xml_escape { foreach my $x (@_) { # Escape things very cautiously: - $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg; + if ($] ge 5.007_003) { + $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(utf8::native_to_unicode(ord($1))).';'/eg; + } else { # Is broken for non-ASCII platforms on early perls + $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg; + } # Yes, stipulate the list without a range, so that this can work right on # all charsets that this module happens to run under. - # Altho, hmm, what about that ord? Presumably that won't work right - # under non-ASCII charsets. Something should be done about that. } return; } diff --git a/cpan/Pod-Simple/t/ascii_order.pl b/cpan/Pod-Simple/t/ascii_order.pl new file mode 100644 index 0000000..3b453f1 --- /dev/null +++ b/cpan/Pod-Simple/t/ascii_order.pl @@ -0,0 +1,26 @@ +# Helper for some of the .t's in this directory + +sub native_to_uni($) { # Convert from platform character set to Unicode + # (which is the same as ASCII) + my $string = shift; + + return $string if ord("A") == 65 + || $] lt 5.007_003; # Doesn't work on early EBCDIC Perls + my $output = ""; + for my $i (0 .. length($string) - 1) { + $output .= chr(utf8::native_to_unicode(ord(substr($string, $i, 1)))); + } + # Preserve utf8ness of input onto the output, even if it didn't need to be + # utf8 + utf8::upgrade($output) if utf8::is_utf8($string); + + return $output; +} + + +sub ascii_order { # Sort helper. Causes the order to be the same as ASCII + # no matter what the platform's character set is. + return native_to_uni($a) cmp native_to_uni($b); +} + +1 diff --git a/cpan/Pod-Simple/t/basic.t b/cpan/Pod-Simple/t/basic.t index 0b9cefd..157a640 100644 --- a/cpan/Pod-Simple/t/basic.t +++ b/cpan/Pod-Simple/t/basic.t @@ -7,7 +7,7 @@ BEGIN { use strict; use Test; -BEGIN { plan tests => 30 }; +BEGIN { plan tests => 31 }; #use Pod::Simple::Debug (6); @@ -87,6 +87,10 @@ ok( Pod::Simple::XMLOutStream->_out("=head1 Chacha\n\nFoo\n"), 'ChachaFoo' ); +# Make sure an obviously invalid Pod tag is invalid. +ok( Pod::Simple::XMLOutStream->_out("=F\0blah\n\nwhatever\n"), + qq{} +); print "# Wrapping up... one for the road...\n"; ok 1; diff --git a/cpan/Pod-Simple/t/corpus.t b/cpan/Pod-Simple/t/corpus.t index 2f59302..e3a500e 100644 --- a/cpan/Pod-Simple/t/corpus.t +++ b/cpan/Pod-Simple/t/corpus.t @@ -10,6 +10,10 @@ BEGIN { print "1..0 # Skip: Encode was not built\n"; exit 0; } + if (ord("A") != 65) { + print "1..0 # Skip: Encode not fully working on non-ASCII platforms at this time\n"; + exit 0; + } } #use Pod::Simple::Debug (10); @@ -168,7 +172,7 @@ foreach my $f (@testfiles) { skip $skippy, 0; } else { print "# $outfilename and $xml don't match!\n"; - print STDERR `diff -u $xml $outfilename`; + print STDERR `diff $xml $outfilename`; ok 0; } diff --git a/cpan/Pod-Simple/t/corpus/encwarn01.xml b/cpan/Pod-Simple/t/corpus/encwarn01.xml index d64d56f..8fd2065 100644 --- a/cpan/Pod-Simple/t/corpus/encwarn01.xml +++ b/cpan/Pod-Simple/t/corpus/encwarn01.xml @@ -30,7 +30,7 @@ Non-ASCII character seen before =encoding in 'café'. Assuming - ISO8859-1 + CP1252 diff --git a/cpan/Pod-Simple/t/corpus/lat1frim.xml b/cpan/Pod-Simple/t/corpus/lat1frim.xml index 8b9191c..4a667c1 100644 --- a/cpan/Pod-Simple/t/corpus/lat1frim.xml +++ b/cpan/Pod-Simple/t/corpus/lat1frim.xml @@ -71,7 +71,7 @@ Non-ASCII character seen before =encoding in 'séparant'. - Assuming ISO8859-1 + Assuming CP1252 diff --git a/cpan/Pod-Simple/t/encod04.t b/cpan/Pod-Simple/t/encod04.t index fe2c314..e2b4fcc 100644 --- a/cpan/Pod-Simple/t/encod04.t +++ b/cpan/Pod-Simple/t/encod04.t @@ -1,13 +1,6 @@ -# The encoding detection heuristic will choose UTF8 or Latin-1. The current -# implementation will usually treat CP1252 (aka "Win-Latin-1") as Latin-1 but +# The encoding detection heuristic will choose UTF8 or CP1252. The current +# implementation will usually treat CP1252 (aka "Win-Latin-1") as CP1252 but # can be fooled into seeing it as UTF8. -# -# Note 1: Neither guess is 'correct' since even if we choose Latin-1, all the -# smart quote symbols will be rendered as control characters -# -# Note 2: the guess is only applied if the source POD omits =encoding, so -# CP1252 source will render correctly if properly declared -# BEGIN { if($ENV{PERL_CORE}) { @@ -18,7 +11,16 @@ BEGIN { use strict; use Test; -BEGIN { plan tests => 5 }; +BEGIN { + if ($] lt 5.007_003) { + plan tests => 5, todo => [4, 5]; # Need utf8::decode() to pass #5 + # and isn't available in this + # release + } + else { + plan tests => 5, todo => [4]; + } +} ok 1; @@ -26,14 +28,28 @@ use Pod::Simple::DumpAsXML; use Pod::Simple::XMLOutStream; -# Initial, isolated, non-ASCII byte triggers Latin-1 guess and later +# Initial, isolated, non-ASCII byte triggers CP1252 guess and later # multi-byte sequence is not considered by heuristic. -my @output_lines = split m/[\cm\cj]+/, Pod::Simple::XMLOutStream->_out( qq{ +my $x97; +my $x91; +my $dash; +if ($] ge 5.007_003) { + $x97 = chr utf8::unicode_to_native(0x97); + $x91 = chr utf8::unicode_to_native(0x91); + $dash = '—'; +} +else { # Tests will fail for early EBCDICs + $x97 = chr 0x97; + $x91 = chr 0x91; + $dash = '--'; +} + +my @output_lines = split m/[\r\n]+/, Pod::Simple::XMLOutStream->_out( qq{ =head1 NAME -Em::Dash \x97 \x91CAF\xC9\x92 +Em::Dash $x97 ${x91}CAF\xC9\x92 =cut @@ -41,8 +57,8 @@ Em::Dash \x97 \x91CAF\xC9\x92 my($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)}; if( $guess ) { - if( $guess eq 'ISO8859-1' ) { - if( grep m{Dash (\x97|—|—)}, @output_lines ) { + if( $guess eq 'CP1252' ) { + if( grep m{Dash $dash}, @output_lines ) { ok 1; } else { ok 0; @@ -50,7 +66,7 @@ if( $guess ) { } } else { ok 0; - print "# parser guessed wrong encoding expected 'ISO8859-1' got '$guess'\n"; + print "# parser guessed wrong encoding expected 'CP1252' got '$guess'\n"; } } else { ok 0; @@ -58,65 +74,74 @@ if( $guess ) { } -# Initial smart-quote character triggers Latin-1 guess as expected +# Initial smart-quote character triggers CP1252 guess as expected -@output_lines = split m/[\cm\cj]+/, Pod::Simple::XMLOutStream->_out( qq{ +@output_lines = split m/[\r\n]+/, Pod::Simple::XMLOutStream->_out( qq{ =head1 NAME -Smart::Quote - \x91FUT\xC9\x92 +Smart::Quote - ${x91}FUT\xC9\x92 =cut } ); -($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)}; -if( $guess ) { - if( $guess eq 'ISO8859-1' ) { - ok 1; - } else { - ok 0; - print "# parser guessed wrong encoding expected 'ISO8859-1' got '$guess'\n"; - } -} else { - ok 0; - print "# parser failed to detect non-ASCII bytes in input\n"; +if (ord("A") != 65) { # ASCII-platform dependent test skipped on this platform + ok (1); +} +else { + ($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)}; + if( $guess ) { + if( $guess eq 'CP1252' ) { + ok 1; + } else { + ok 0; + print "# parser guessed wrong encoding expected 'CP1252' got '$guess'\n"; + } + } else { + ok 0; + print "# parser failed to detect non-ASCII bytes in input\n"; + } } # Initial accented character followed by 'smart' apostrophe causes heuristic -# to choose UTF8 (a rather contrived example) +# to choose UTF8 (a somewhat contrived example) -@output_lines = split m/[\cm\cj]+/, Pod::Simple::XMLOutStream->_out( qq{ +@output_lines = split m/[\r\n]+/, Pod::Simple::XMLOutStream->_out( qq{ =head1 NAME -Smart::Apostrophe::Fail - L\xC9\x92STRANGE +=head2 JOS\xC9\x92S PLACE =cut } ); -($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)}; -if( $guess ) { - if( $guess eq 'UTF-8' ) { - ok 1; - } else { - ok 0; - print "# parser guessed wrong encoding expected 'UTF-8' got '$guess'\n"; - } -} else { - ok 0; - print "# parser failed to detect non-ASCII bytes in input\n"; +if (ord("A") != 65) { # ASCII-platform dependent test skipped on this platform + ok (1); +} +else { + ($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)}; + if( $guess ) { + if( $guess eq 'CP1252' ) { + ok 1; + } else { + ok 0; + print "# parser guessed wrong encoding expected 'CP1252' got '$guess'\n"; + } + } else { + ok 0; + print "# parser failed to detect non-ASCII bytes in input\n"; + } } # The previous example used a CP1252 byte sequence that also happened to be a -# valid UTF8 byte sequence. In this example the heuristic also guesses 'wrong' -# despite the byte sequence not being valid UTF8 (it's too short). This could -# arguably be 'fixed' by using a less naive regex. +# valid UTF8 byte sequence. In this example we use an illegal UTF-8 sequence +# (it needs a third byte), so must be 1252 -@output_lines = split m/[\cm\cj]+/, Pod::Simple::XMLOutStream->_out( qq{ +@output_lines = split m/[\r\n]+/, Pod::Simple::XMLOutStream->_out( qq{ =head1 NAME @@ -126,17 +151,22 @@ Smart::Apostrophe::Fail - L\xE9\x92Strange } ); -($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)}; -if( $guess ) { - if( $guess eq 'UTF-8' ) { - ok 1; - } else { - ok 0; - print "# parser guessed wrong encoding expected 'UTF-8' got '$guess'\n"; - } -} else { - ok 0; - print "# parser failed to detect non-ASCII bytes in input\n"; +if (ord("A") != 65) { # ASCII-platform dependent test skipped on this platform + ok (1); +} +else { + ($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)}; + if( $guess ) { + if( $guess eq 'CP1252' ) { + ok 1; + } else { + ok 0; + print "# parser guessed wrong encoding expected 'CP1252' got '$guess'\n"; + } + } else { + ok 0; + print "# parser failed to detect non-ASCII bytes in input\n"; + } } diff --git a/cpan/Pod-Simple/t/search10.t b/cpan/Pod-Simple/t/search10.t index 21f8a2d..0d0a9d4 100644 --- a/cpan/Pod-Simple/t/search10.t +++ b/cpan/Pod-Simple/t/search10.t @@ -66,13 +66,25 @@ $p =~ s/, +/,\n/g; $p =~ s/^/# /mg; print $p; +my $ascii_order; +if( -e ($ascii_order = source_path('ascii_order.pl'))) { + # +} elsif(-e ($ascii_order = File::Spec->catdir($cwd, 't', 'ascii_order.pl'))) { + # +} else { + print STDERR __FILE__, ": ", __LINE__, ": ascii_order='$ascii_order'; curdir=", $cwd, "; ", File::Spec->catdir($cwd, 't', 'ascii_order.pl'), "\n"; + die "Can't find ascii_order.pl"; +} + +require $ascii_order; + { -my $names = join "|", sort values %$where2name; +my $names = join "|", sort ascii_order values %$where2name; ok $names, "Blorm|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Vliff|perlflif|perlthng|squaa|squaa::Glunk|squaa::Vliff|zikzik"; } { -my $names = join "|", sort keys %$name2where; +my $names = join "|", sort ascii_order keys %$name2where; ok $names, "Blorm|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Vliff|perlflif|perlthng|squaa|squaa::Glunk|squaa::Vliff|zikzik"; } @@ -93,12 +105,12 @@ $p =~ s/^/# /mg; print $p; { -my $names = join "|", sort values %$where2name; +my $names = join "|", sort ascii_order values %$where2name; ok $names, "Blorm|squaa|zikzik"; } { -my $names = join "|", sort keys %$name2where; +my $names = join "|", sort ascii_order keys %$name2where; ok $names, "Blorm|squaa|zikzik"; } diff --git a/cpan/Pod-Simple/t/search12.t b/cpan/Pod-Simple/t/search12.t index e5bf492..851cf28 100644 --- a/cpan/Pod-Simple/t/search12.t +++ b/cpan/Pod-Simple/t/search12.t @@ -59,13 +59,24 @@ $p =~ s/, +/,\n/g; $p =~ s/^/# /mg; print $p; +my $ascii_order; +if( -e ($ascii_order = source_path('ascii_order.pl'))) { + # +} elsif(-e ($ascii_order = File::Spec->catdir($cwd, 't', 'ascii_order.pl'))) { + # +} else { + die "Can't find ascii_order.pl"; +} + +require $ascii_order; + { -my $names = join "|", sort values %$where2name; +my $names = join "|", sort ascii_order values %$where2name; ok $names, "Blorm|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Vliff|perlflif|perlthng|squaa|squaa::Glunk|squaa::Vliff|zikzik"; } { -my $names = join "|", sort keys %$name2where; +my $names = join "|", sort ascii_order keys %$name2where; ok $names, "Blorm|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Vliff|perlflif|perlthng|squaa|squaa::Glunk|squaa::Vliff|zikzik"; } @@ -87,12 +98,12 @@ $p =~ s/^/# /mg; print $p; { -my $names = lc join "|", sort values %$where2name; +my $names = lc join "|", sort ascii_order values %$where2name; ok $names, "suzzle"; } { -my $names = lc join "|", sort keys %$name2where; +my $names = lc join "|", sort ascii_order keys %$name2where; ok $names, "suzzle"; } diff --git a/cpan/Pod-Simple/t/search20.t b/cpan/Pod-Simple/t/search20.t index ea161cc..043a0a7 100644 --- a/cpan/Pod-Simple/t/search20.t +++ b/cpan/Pod-Simple/t/search20.t @@ -67,15 +67,26 @@ $p =~ s/, +/,\n/g; $p =~ s/^/# /mg; print $p; +my $ascii_order; +if( -e ($ascii_order = source_path('ascii_order.pl'))) { + # +} elsif(-e ($ascii_order = File::Spec->catdir($cwd, 't', 'ascii_order.pl'))) { + # +} else { + die "Can't find ascii_order.pl"; +} + +require $ascii_order; + { -my $names = join "|", sort values %$where2name; +my $names = join "|", sort ascii_order values %$where2name; skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, $names, "Blorm|Suzzle|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Vliff|perlflif|perlthng|perlzuk|squaa|squaa::Glunk|squaa::Vliff|squaa::Wowo|zikzik"; } { -my $names = join "|", sort keys %$name2where; +my $names = join "|", sort ascii_order keys %$name2where; skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, $names, "Blorm|Suzzle|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Vliff|perlflif|perlthng|perlzuk|squaa|squaa::Glunk|squaa::Vliff|squaa::Wowo|zikzik"; @@ -99,14 +110,14 @@ $p =~ s/^/# /mg; print $p; { -my $names = join "|", sort values %$where2name; +my $names = join "|", sort ascii_order values %$where2name; skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, $names, "Blorm|Suzzle|squaa|zikzik"; } { -my $names = join "|", sort keys %$name2where; +my $names = join "|", sort ascii_order keys %$name2where; skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, $names, "Blorm|Suzzle|squaa|zikzik"; diff --git a/cpan/Pod-Simple/t/search22.t b/cpan/Pod-Simple/t/search22.t index 24a91ed..64a6eeb 100644 --- a/cpan/Pod-Simple/t/search22.t +++ b/cpan/Pod-Simple/t/search22.t @@ -68,9 +68,20 @@ $p =~ s/, +/,\n/g; $p =~ s/^/# /mg; print $p; +my $ascii_order; +if( -e ($ascii_order = source_path('ascii_order.pl'))) { + # +} elsif(-e ($ascii_order = File::Spec->catdir($cwd, 't', 'ascii_order.pl'))) { + # +} else { + die "Can't find ascii_order.pl"; +} + +require $ascii_order; + { print "# won't show any shadows, since we're just looking at the name2where keys\n"; -my $names = join "|", sort keys %$name2where; +my $names = join "|", sort ascii_order keys %$name2where; skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, $names, "Blorm|Suzzle|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Vliff|perlflif|perlthng|perlzuk|squaa|squaa::Glunk|squaa::Vliff|squaa::Wowo|zikzik"; @@ -78,7 +89,7 @@ skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, { print "# but here we'll see shadowing:\n"; -my $names = join "|", sort values %$where2name; +my $names = join "|", sort ascii_order values %$where2name; skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, $names, "Blorm|Suzzle|Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Glunk|hinkhonk::Vliff|hinkhonk::Vliff|perlflif|perlthng|perlthng|perlzuk|squaa|squaa::Glunk|squaa::Vliff|squaa::Vliff|squaa::Vliff|squaa::Wowo|zikzik"; @@ -87,10 +98,10 @@ my %count; for(values %$where2name) { ++$count{$_} }; #print pretty(\%count), "\n\n"; delete @count{ grep $count{$_} < 2, keys %count }; -my $shadowed = join "|", sort keys %count; +my $shadowed = join "|", sort ascii_order keys %count; ok $shadowed, "hinkhonk::Glunk|hinkhonk::Vliff|perlthng|squaa::Vliff"; -sub thar { print "# Seen $_[0] :\n", map "# {$_}\n", sort grep $where2name->{$_} eq $_[0],keys %$where2name; return; } +sub thar { print "# Seen $_[0] :\n", map "# {$_}\n", sort ascii_order grep $where2name->{$_} eq $_[0],keys %$where2name; return; } ok $count{'perlthng'}, 2; thar 'perlthng'; diff --git a/cpan/Pod-Simple/t/search26.t b/cpan/Pod-Simple/t/search26.t index fb9d322..00b3ea4 100644 --- a/cpan/Pod-Simple/t/search26.t +++ b/cpan/Pod-Simple/t/search26.t @@ -78,13 +78,24 @@ $p =~ s/, +/,\n/g; $p =~ s/^/# /mg; print $p; +my $ascii_order; +if( -e ($ascii_order = source_path('ascii_order.pl'))) { + # +} elsif(-e ($ascii_order = File::Spec->catdir($cwd, 't', 'ascii_order.pl'))) { + # +} else { + die "Can't find ascii_order.pl"; +} + +require $ascii_order; + { -my $names = join "|", sort keys %$name2where; +my $names = join "|", sort ascii_order keys %$name2where; ok $names, "Zonk::Pronk|hinkhonk::Glunk|perlzuk|squaa::Glunk|zikzik"; } { -my $names = join "|", sort values %$where2name; +my $names = join "|", sort ascii_order values %$where2name; ok $names, "Zonk::Pronk|hinkhonk::Glunk|hinkhonk::Glunk|perlzuk|squaa::Glunk|zikzik"; } diff --git a/cpan/Pod-Simple/t/search28.t b/cpan/Pod-Simple/t/search28.t index 9301232..e0ad497 100644 --- a/cpan/Pod-Simple/t/search28.t +++ b/cpan/Pod-Simple/t/search28.t @@ -72,8 +72,19 @@ $p =~ s/, +/,\n/g; $p =~ s/^/# /mg; print $p; +my $ascii_order; +if( -e ($ascii_order = source_path('ascii_order.pl'))) { + # +} elsif(-e ($ascii_order = File::Spec->catdir($cwd, 't', 'ascii_order.pl'))) { + # +} else { + die "Can't find ascii_order.pl"; +} + +require $ascii_order; + { -my $names = join "|", sort values %$where2name; +my $names = join "|", sort ascii_order values %$where2name; ok $names, "Zonk::Pronk|perlzuk|zikzik"; } diff --git a/cpan/Pod-Simple/t/search50.t b/cpan/Pod-Simple/t/search50.t index 4501400..15bf5c1 100644 --- a/cpan/Pod-Simple/t/search50.t +++ b/cpan/Pod-Simple/t/search50.t @@ -39,9 +39,9 @@ ok $found; # print "# Found $found items in $t seconds!\n# See...\n"; -my $p = pretty( $where2name, $name2where )."\n"; -$p =~ s/, +/,\n/g; -$p =~ s/^/# /mg; +# my $p = pretty( $where2name, $name2where )."\n"; +# $p =~ s/, +/,\n/g; +# $p =~ s/^/# /mg; # print $p; # print "# OK, making sure strict and strict.pm were in there...\n"; @@ -64,8 +64,7 @@ SKIP: { # print "# Test again on a module we know is present, in case the # strict.pm tests were skipped...\n"; -# Grab the first item in $name2where, since it doesn't matter which we -# use. +# Search for all files in $name2where. while (my ($testmod, $testpath) = each %{ $name2where }) { unless ( $testmod ) { fail; # no 'thatpath/.pm' means can't test find() @@ -74,13 +73,10 @@ while (my ($testmod, $testpath) = each %{ $name2where }) { my @x = ($x->find($testmod)||'(nil)', $testpath); # print "# Comparing \"$x[0]\" to \"$x[1]\"\n"; for(@x) { s{[/\\]}{/}g; } - # If it finds a .pod, it's probably correct, as that's where the docs are. - # Change it to .pm so that it matches. - $x[0] =~ s{[.]pod$}{.pm} if $x[1] =~ m{[.]pm$}; # print "# => \"$x[0]\" to \"$x[1]\"\n"; is - lc $x[0], - lc $x[1], + $x[0], + $x[1], " find('$testmod') should match survey's name2where{$testmod}" ; } diff --git a/cpan/Pod-Simple/t/xhtml01.t b/cpan/Pod-Simple/t/xhtml01.t index dba6e5e..01e6f18 100644 --- a/cpan/Pod-Simple/t/xhtml01.t +++ b/cpan/Pod-Simple/t/xhtml01.t @@ -708,7 +708,7 @@ This is Anna's "Answer" to the Question. =cut EOPOD -my $T = $use_html_entities ? 84 : 'x54'; +my $T = $use_html_entities ? ord('T') : sprintf ("x%X", ord('T')); is($results, <<"EOHTML", 'HTML Entities should be only for specified characters');

&#$T;his is Anna's "Answer" to the <q>Question</q>.

diff --git a/cpan/Pod-Usage/lib/Pod/Usage.pm b/cpan/Pod-Usage/lib/Pod/Usage.pm index bb8e60f..a57d5f2 100644 --- a/cpan/Pod-Usage/lib/Pod/Usage.pm +++ b/cpan/Pod-Usage/lib/Pod/Usage.pm @@ -11,7 +11,7 @@ package Pod::Usage; use strict; use vars qw($VERSION @ISA @EXPORT); -$VERSION = '1.64'; ## Current version of this package +$VERSION = '1.67'; ## Current version of this package require 5.006; ## requires this Perl version or later #use diagnostics; @@ -128,7 +128,8 @@ sub pod2usage { } ## Check for perldoc - my $progpath = File::Spec->catfile($Config{scriptdirexp} + my $progpath = $opts{perldoc} ? $opts{perldoc} : + File::Spec->catfile($Config{scriptdirexp} || $Config{scriptdir}, 'perldoc'); my $version = sprintf("%vd",$^V); @@ -148,7 +149,9 @@ sub pod2usage { if(defined $opts{-input} && $opts{-input} =~ /^\s*(\S.*?)\s*$/) { # the perldocs back to 5.005 should all have -F # without -F there are warnings in -T scripts - system($progpath, '-F', $1); + my @perldoc_cmd = ( $progpath, '-F', $1 ); + unshift @perldoc_cmd, $opts{'-perlcmd'} if $opts{'-perlcmd'}; + system(@perldoc_cmd); if($?) { # RT16091: fall back to more if perldoc failed system(($Config{pager} || $ENV{PAGER} || '/bin/more'), $1); @@ -263,10 +266,13 @@ sub select { # Override Pod::Text->seq_i to return just "arg", not "*arg*". sub seq_i { return $_[1] } +# Override Pod::Text->cmd_i to return just "arg", not "*arg*". +# newer version based on Pod::Simple +sub cmd_i { return $_[2] } # This overrides the Pod::Text method to do something very akin to what # Pod::Select did as well as the work done below by preprocess_paragraph. -# Note that the below is very, very specific to Pod::Text. +# Note that the below is very, very specific to Pod::Text and Pod::Simple. sub _handle_element_end { my ($self, $element) = @_; if ($element eq 'head1') { @@ -278,6 +284,8 @@ sub _handle_element_end { my $idx = $1 - 1; $self->{USAGE_HEADINGS} = [] unless($self->{USAGE_HEADINGS}); $self->{USAGE_HEADINGS}->[$idx] = $$self{PENDING}[-1][1]; + # we have to get rid of the lower headings + splice(@{$self->{USAGE_HEADINGS}},$idx+1); } if ($element =~ /^head\d+$/) { $$self{USAGE_SKIPPING} = 1; @@ -312,7 +320,7 @@ sub _handle_element_end { $$self{PENDING}[-1][1] = $_; } } - if ($$self{USAGE_SKIPPING} && $element !~ m/^over-/) { + if ($$self{USAGE_SKIPPING} && $element !~ m/^over-|^[BCFILSZ]$/) { pop @{ $$self{PENDING} }; } else { $self->SUPER::_handle_element_end($element); @@ -383,10 +391,14 @@ Pod::Usage - print a usage message from embedded pod documentation pod2usage( -msg => $message_text , -exitval => $exit_status , -verbose => $verbose_level, - -output => $filehandle ); + -output => $filehandle ); pod2usage( -verbose => 2, - -noperldoc => 1 ) + -noperldoc => 1 ); + + pod2usage( -verbose => 2, + -perlcmd => $path_to_perl, + -perldoc => $path_to_perldoc ); =head1 ARGUMENTS @@ -418,49 +430,73 @@ keys: =over 4 -=item C<-message> +=item C<-message> I -=item C<-msg> +=item C<-msg> I The text of a message to print immediately prior to printing the program's usage message. -=item C<-exitval> +=item C<-exitval> I The desired exit status to pass to the B function. This should be an integer, or else the string "NOEXIT" to indicate that control should simply be returned without terminating the invoking process. -=item C<-verbose> +=item C<-verbose> I -The desired level of "verboseness" to use when printing the usage -message. If the corresponding value is 0, then only the "SYNOPSIS" -section of the pod documentation is printed. If the corresponding value -is 1, then the "SYNOPSIS" section, along with any section entitled -"OPTIONS", "ARGUMENTS", or "OPTIONS AND ARGUMENTS" is printed. If the -corresponding value is 2 or more then the entire manpage is printed. +The desired level of "verboseness" to use when printing the usage message. +If the value is 0, then only the "SYNOPSIS" section of the pod documentation +is printed. If the value is 1, then the "SYNOPSIS" section, along with any +section entitled "OPTIONS", "ARGUMENTS", or "OPTIONS AND ARGUMENTS" is +printed. If the corresponding value is 2 or more then the entire manpage is +printed, using L if available; otherwise L is used for +the formatting. For better readability, the all-capital headings are +downcased, e.g. C =E C. The special verbosity level 99 requires to also specify the -sections parameter; then these sections are extracted and printed. -=item C<-sections> +=item C<-sections> I + +There are two ways to specify the selection. Either a string (scalar) +representing a selection regexp for sections to be printed when -verbose +is set to 99, e.g. + + "NAME|SYNOPSIS|DESCRIPTION|VERSION" + +With the above regexp all content following (and including) any of the +given C<=head1> headings will be shown. It is possible to restrict the +output to particular subsections only, e.g.: + + "DESCRIPTION/Algorithm" + +This will output only the C<=head2 Algorithm> heading and content within +the C<=head1 DESCRIPTION> section. The regexp binding is stronger than the +section separator, such that e.g.: + + "DESCRIPTION|OPTIONS|ENVIORNMENT/Caveats" -A string representing a selection list for sections to be printed -when -verbose is set to 99, e.g. C<"NAME|SYNOPSIS|DESCRIPTION|VERSION">. +will print any C<=head2 Caveats> section (only) within any of the three +C<=head1> sections. Alternatively, an array reference of section specifications can be used: - pod2usage(-verbose => 99, - -sections => [ qw(fred fred/subsection) ] ); + pod2usage(-verbose => 99, -sections => [ + qw(DESCRIPTION DESCRIPTION/Introduction) ] ); -=item C<-output> +This will print only the content of C<=head1 DESCRIPTION> and the +C<=head2 Introduction> sections, but no other C<=head2>, and no other +C<=head1> either. + +=item C<-output> I A reference to a filehandle, or the pathname of a file to which the usage message should be written. The default is C<\*STDERR> unless the exit value is less than 2 (in which case the default is C<\*STDOUT>). -=item C<-input> +=item C<-input> I A reference to a filehandle, or the pathname of a file from which the invoking script's pod documentation should be read. It defaults to the @@ -472,7 +508,7 @@ that module's POD, you can use this: use Pod::Find qw(pod_where); pod2usage( -input => pod_where({-inc => 1}, __PACKAGE__) ); -=item C<-pathlist> +=item C<-pathlist> I A list of directory paths. If the input file does not exist, then it will be searched for in the given directory list (in the order the @@ -490,17 +526,37 @@ with L. The -noperldoc option suppresses the external call to L and uses the simple text formatter (L) to output the POD. +=item C<-perlcmd> + +By default, Pod::Usage will call L when -verbose >= 2 is +specified. In case of special or unusual Perl installations, +the -perlcmd option may be used to supply the path to a L executable +which should run L. + +=item C<-perldoc> + +By default, Pod::Usage will call L when -verbose >= 2 is +specified. In case L is not installed where the L interpreter +thinks it is (see L), the -perldoc option may be used to supply +the correct path to L. + =back =head2 Formatting base class -The default text formatter is L. The base class for Pod::Usage can +The default text formatter is L. The base class for Pod::Usage can be defined by pre-setting C<$Pod::Usage::Formatter> I loading Pod::Usage, e.g.: BEGIN { $Pod::Usage::Formatter = 'Pod::Text::Termcap'; } use Pod::Usage qw(pod2usage); +Pod::Usage uses L's _handle_element_end() method to implement +the section selection, and in case of verbosity < 2 it down-cases the +all-caps headings to first capital letter and rest lowercase, and adds +a colon/newline at the end of the headings, for better readability. Same for +verbosity = 99. + =head2 Pass-through options The following options are passed through to the underlying text formatter. diff --git a/cpan/Pod-Usage/scripts/pod2usage.PL b/cpan/Pod-Usage/scripts/pod2usage.PL index 0d84590..9102455 100644 --- a/cpan/Pod-Usage/scripts/pod2usage.PL +++ b/cpan/Pod-Usage/scripts/pod2usage.PL @@ -1,190 +1,198 @@ -#!/usr/local/bin/perl - -use Config; -use File::Basename qw(&basename &dirname); -use Cwd; - -# List explicitly here the variables you want Configure to -# generate. Metaconfig only looks for shell variables, so you -# have to mention them as if they were shell variables, not -# %Config entries. Thus you write -# $startperl -# to ensure Configure will look for $Config{startperl}. - -# This forces PL files to create target in same directory as PL file. -# This is so that make depend always knows where to find PL derivatives. -$origdir = cwd; -chdir(dirname($0)); -$file = basename($0, '.PL'); -$file .= '.com' if $^O eq 'VMS'; - -open OUT,">$file" or die "Can't create $file: $!"; - -print "Extracting $file (with variable substitutions)\n"; - -# In this section, perl variables will be expanded during extraction. -# You can use $Config{...} to use Configure variables. - -print OUT <<"!GROK!THIS!"; -$Config{'startperl'} - eval 'exec perl -S \$0 "\$@"' - if 0; -!GROK!THIS! - -# In the following, perl variables are not expanded during extraction. - -print OUT <<'!NO!SUBS!'; - -############################################################################# -# pod2usage -- command to print usage messages from embedded pod docs -# -# Copyright (c) 1996-2000 by Bradford Appleton. All rights reserved. -# This file is part of "PodParser". PodParser is free software; -# you can redistribute it and/or modify it under the same terms -# as Perl itself. -############################################################################# - -use strict; -#use diagnostics; - -=head1 NAME - -pod2usage - print usage messages from embedded pod docs in files - -=head1 SYNOPSIS - -=over 12 - -=item B - -[B<-help>] -[B<-man>] -[B<-exit>S< >I] -[B<-output>S< >I] -[B<-verbose> I] -[B<-pathlist> I] -[B<-formatter> I] -I - -=back - -=head1 OPTIONS AND ARGUMENTS - -=over 8 - -=item B<-help> - -Print a brief help message and exit. - -=item B<-man> - -Print this command's manual page and exit. - -=item B<-exit> I - -The exit status value to return. - -=item B<-output> I - -The output file to print to. If the special names "-" or ">&1" or ">&STDOUT" -are used then standard output is used. If ">&2" or ">&STDERR" is used then -standard error is used. - -=item B<-verbose> I - -The desired level of verbosity to use: - - 1 : print SYNOPSIS only - 2 : print SYNOPSIS sections and any OPTIONS/ARGUMENTS sections - 3 : print the entire manpage (similar to running pod2text) - -=item B<-pathlist> I - -Specifies one or more directories to search for the input file if it -was not supplied with an absolute path. Each directory path in the given -list should be separated by a ':' on Unix (';' on MSWin32 and DOS). - -=item B<-formatter> I - -Which text formatter to use. Default is L, or for very old -Perl versions L. An alternative would be e.g. -L. - -=item I - -The pathname of a file containing pod documentation to be output in -usage message format (defaults to standard input). - -=back - -=head1 DESCRIPTION - -B will read the given input file looking for pod -documentation and will print the corresponding usage message. -If no input file is specified then standard input is read. - -B invokes the B function in the B -module. Please see L. - -=head1 SEE ALSO - -L, L - -=head1 AUTHOR - -Please report bugs using L. - -Brad Appleton Ebradapp@enteract.comE - -Based on code for B written by -Tom Christiansen Etchrist@mox.perl.comE - -=cut - -use Getopt::Long; - -## Define options -my %options = (); -my @opt_specs = ( - 'help', - 'man', - 'exit=i', - 'output=s', - 'pathlist=s', - 'formatter=s', - 'verbose=i', -); - -## Parse options -GetOptions(\%options, @opt_specs) || pod2usage(2); -$Pod::Usage::Formatter = $options{formatter} if $options{formatter}; -require Pod::Usage; -Pod::Usage->import(); -pod2usage(1) if ($options{help}); -pod2usage(VERBOSE => 2) if ($options{man}); - -## Dont default to STDIN if connected to a terminal -pod2usage(2) if ((@ARGV == 0) && (-t STDIN)); - -@ARGV = ('-') unless (@ARGV); -if (@ARGV > 1) { - print STDERR "pod2usage: Too many filenames given\n\n"; - pod2usage(2); -} - -my %usage = (); -$usage{-input} = shift(@ARGV); -$usage{-exitval} = $options{'exit'} if (defined $options{'exit'}); -$usage{-output} = $options{'output'} if (defined $options{'output'}); -$usage{-verbose} = $options{'verbose'} if (defined $options{'verbose'}); -$usage{-pathlist} = $options{'pathlist'} if (defined $options{'pathlist'}); - -pod2usage(\%usage); - - -!NO!SUBS! - -close OUT or die "Can't close $file: $!"; -chmod 0755, $file or die "Can't reset permissions for $file: $!\n"; -exec("$Config{'eunicefix'} $file") if $Config{'eunicefix'} ne ':'; -chdir $origdir; +#!/usr/local/bin/perl + +use Config; +use File::Basename qw(&basename &dirname); +use Cwd; + +# List explicitly here the variables you want Configure to +# generate. Metaconfig only looks for shell variables, so you +# have to mention them as if they were shell variables, not +# %Config entries. Thus you write +# $startperl +# to ensure Configure will look for $Config{startperl}. + +# This forces PL files to create target in same directory as PL file. +# This is so that make depend always knows where to find PL derivatives. +$origdir = cwd; +chdir(dirname($0)); +$file = basename($0, '.PL'); +$file .= '.com' if $^O eq 'VMS'; + +open OUT,">$file" or die "Can't create $file: $!"; + +print "Extracting $file (with variable substitutions)\n"; + +# In this section, perl variables will be expanded during extraction. +# You can use $Config{...} to use Configure variables. + +print OUT <<"!GROK!THIS!"; +$Config{'startperl'} + eval 'exec perl -S \$0 "\$@"' + if 0; +!GROK!THIS! + +# In the following, perl variables are not expanded during extraction. + +print OUT <<'!NO!SUBS!'; + +############################################################################# +# pod2usage -- command to print usage messages from embedded pod docs +# +# Copyright (c) 1996-2000 by Bradford Appleton. All rights reserved. +# This file is part of "PodParser". PodParser is free software; +# you can redistribute it and/or modify it under the same terms +# as Perl itself. +############################################################################# + +use strict; +#use diagnostics; + +=head1 NAME + +pod2usage - print usage messages from embedded pod docs in files + +=head1 SYNOPSIS + +=over 12 + +=item B + +[B<-help>] +[B<-man>] +[B<-exit>S< >I] +[B<-output>S< >I] +[B<-verbose> I] +[B<-pathlist> I] +[B<-formatter> I] +[B<-utf8>] +I + +=back + +=head1 OPTIONS AND ARGUMENTS + +=over 8 + +=item B<-help> + +Print a brief help message and exit. + +=item B<-man> + +Print this command's manual page and exit. + +=item B<-exit> I + +The exit status value to return. + +=item B<-output> I + +The output file to print to. If the special names "-" or ">&1" or ">&STDOUT" +are used then standard output is used. If ">&2" or ">&STDERR" is used then +standard error is used. + +=item B<-verbose> I + +The desired level of verbosity to use: + + 1 : print SYNOPSIS only + 2 : print SYNOPSIS sections and any OPTIONS/ARGUMENTS sections + 3 : print the entire manpage (similar to running pod2text) + +=item B<-pathlist> I + +Specifies one or more directories to search for the input file if it +was not supplied with an absolute path. Each directory path in the given +list should be separated by a ':' on Unix (';' on MSWin32 and DOS). + +=item B<-formatter> I + +Which text formatter to use. Default is L, or for very old +Perl versions L. An alternative would be e.g. +L. + +=item B<-utf8> + +This option assumes that the formatter (see above) understands the option +"utf8". It turns on generation of utf8 output. + +=item I + +The pathname of a file containing pod documentation to be output in +usage message format (defaults to standard input). + +=back + +=head1 DESCRIPTION + +B will read the given input file looking for pod +documentation and will print the corresponding usage message. +If no input file is specified then standard input is read. + +B invokes the B function in the B +module. Please see L. + +=head1 SEE ALSO + +L, L + +=head1 AUTHOR + +Please report bugs using L. + +Brad Appleton Ebradapp@enteract.comE + +Based on code for B written by +Tom Christiansen Etchrist@mox.perl.comE + +=cut + +use Getopt::Long; + +## Define options +my %options = (); +my @opt_specs = ( + 'help', + 'man', + 'exit=i', + 'output=s', + 'pathlist=s', + 'formatter=s', + 'verbose=i', + 'utf8!' +); + +## Parse options +GetOptions(\%options, @opt_specs) || pod2usage(2); +$Pod::Usage::Formatter = $options{formatter} if $options{formatter}; +require Pod::Usage; +Pod::Usage->import(); +pod2usage(1) if ($options{help}); +pod2usage(VERBOSE => 2) if ($options{man}); + +## Dont default to STDIN if connected to a terminal +pod2usage(2) if ((@ARGV == 0) && (-t STDIN)); + +@ARGV = ('-') unless (@ARGV); +if (@ARGV > 1) { + print STDERR "pod2usage: Too many filenames given\n\n"; + pod2usage(2); +} + +my %usage = (); +$usage{-input} = shift(@ARGV); +$usage{-exitval} = $options{'exit'} if (defined $options{'exit'}); +$usage{-output} = $options{'output'} if (defined $options{'output'}); +$usage{-verbose} = $options{'verbose'} if (defined $options{'verbose'}); +$usage{-pathlist} = $options{'pathlist'} if (defined $options{'pathlist'}); +$usage{-utf8} = $options{'utf8'} if (defined $options{'utf8'}); + +pod2usage(\%usage); + + +!NO!SUBS! + +close OUT or die "Can't close $file: $!"; +chmod 0755, $file or die "Can't reset permissions for $file: $!\n"; +exec("$Config{'eunicefix'} $file") if $Config{'eunicefix'} ne ':'; +chdir $origdir; diff --git a/cpan/Pod-Usage/t/pod/headwithmarkup.pl b/cpan/Pod-Usage/t/pod/headwithmarkup.pl new file mode 100644 index 0000000..318c851 --- /dev/null +++ b/cpan/Pod-Usage/t/pod/headwithmarkup.pl @@ -0,0 +1,22 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Pod::Usage; +pod2usage( + -exitstatus => 0, + -verbose => 99, + -sections => 'ACTIONS/back.*', + -noperldoc => 1 +); + +__END__ + +=head1 ACTIONS + +Para for actions. + +=head2 backup I B dest + +Para for backup. + +=cut diff --git a/cpan/Pod-Usage/t/pod/headwithmarkup.t b/cpan/Pod-Usage/t/pod/headwithmarkup.t new file mode 100644 index 0000000..adba2be --- /dev/null +++ b/cpan/Pod-Usage/t/pod/headwithmarkup.t @@ -0,0 +1,13 @@ +use Test::More tests => 1; + +my $blib = $ENV{PERL_CORE} ? '-I../../lib' : '-Mblib'; + +my $pl = $0; +$pl =~ s{t$}{pl}; + +my $out = `$^X $blib $pl`; +$out =~ s{\s+}{ }gs; +$out =~ s{^\s+|\s+$}{}gs; +# we want to make sure that the marked-up text is not lost +is($out, 'backup pkg please dest: Para for backup.'); + diff --git a/cpan/Pod-Usage/t/pod/p2u_data.pl b/cpan/Pod-Usage/t/pod/p2u_data.pl index 858cc56..ec0e3a7 100644 --- a/cpan/Pod-Usage/t/pod/p2u_data.pl +++ b/cpan/Pod-Usage/t/pod/p2u_data.pl @@ -1,18 +1,18 @@ -use Pod::Usage; -pod2usage(-verbose => 2, -exit => 17, -input => \*DATA); - -__DATA__ -=head1 NAME - -Test - -=head1 SYNOPSIS - -perl podusagetest.pl - -=head1 DESCRIPTION - -This is a test. - -=cut - +use Pod::Usage; +pod2usage(-verbose => 2, -exit => 17, -input => \*DATA); + +__DATA__ +=head1 NAME + +Test + +=head1 SYNOPSIS + +perl podusagetest.pl + +=head1 DESCRIPTION + +This is a test. + +=cut + diff --git a/cpan/Pod-Usage/t/pod/pod2usage.t b/cpan/Pod-Usage/t/pod/pod2usage.t index 98788fc..cf2c31b 100644 --- a/cpan/Pod-Usage/t/pod/pod2usage.t +++ b/cpan/Pod-Usage/t/pod/pod2usage.t @@ -1,18 +1,18 @@ -BEGIN { - use File::Basename; - my $THISDIR = dirname $0; - unshift @INC, $THISDIR; - require "testp2pt.pl"; - import TestPodIncPlainText; -} - -my %options = map { $_ => 1 } @ARGV; ## convert cmdline to options-hash -my $passed = testpodplaintext \%options, $0; -exit( ($passed == 1) ? 0 : -1 ) unless $ENV{HARNESS_ACTIVE}; - - -__END__ - -=include pod2usage.PL - - +BEGIN { + use File::Basename; + my $THISDIR = dirname $0; + unshift @INC, $THISDIR; + require "testp2pt.pl"; + import TestPodIncPlainText; +} + +my %options = map { $_ => 1 } @ARGV; ## convert cmdline to options-hash +my $passed = testpodplaintext \%options, $0; +exit( ($passed == 1) ? 0 : -1 ) unless $ENV{HARNESS_ACTIVE}; + + +__END__ + +=include pod2usage.PL + + diff --git a/cpan/Pod-Usage/t/pod/pod2usage.xr b/cpan/Pod-Usage/t/pod/pod2usage.xr index ceac4f1..7460a6d 100644 --- a/cpan/Pod-Usage/t/pod/pod2usage.xr +++ b/cpan/Pod-Usage/t/pod/pod2usage.xr @@ -5,7 +5,7 @@ NAME SYNOPSIS pod2usage [-help] [-man] [-exit *exitval*] [-output *outfile*] [-verbose *level*] [-pathlist *dirlist*] [-formatter - *module*] *file* + *module*] [-utf8] *file* OPTIONS AND ARGUMENTS -help Print a brief help message and exit. @@ -38,6 +38,9 @@ OPTIONS AND ARGUMENTS or for very old Perl versions the Pod::PlainText manpage. An alternative would be e.g. the Pod::Text::Termcap manpage. + -utf8 This option assumes that the formatter (see above) understands + the option "utf8". It turns on generation of utf8 output. + *file* The pathname of a file containing pod documentation to be output in usage message format (defaults to standard input). diff --git a/cpan/Pod-Usage/t/pod/pod2usage2.t b/cpan/Pod-Usage/t/pod/pod2usage2.t index a2b0a32..0ac4747 100644 --- a/cpan/Pod-Usage/t/pod/pod2usage2.t +++ b/cpan/Pod-Usage/t/pod/pod2usage2.t @@ -1,357 +1,361 @@ -#!/usr/bin/perl -w - -use Test::More; -use strict; - -BEGIN { - if ($^O eq 'MSWin32' || $^O eq 'VMS') { - plan skip_all => "Not portable on Win32 or VMS\n"; - } - else { - plan tests => 34; - } - use_ok ("Pod::Usage"); -} - -sub getoutput -{ - my ($code) = @_; - my $pid = open(TEST_IN, "-|"); - unless(defined $pid) { - die "Cannot fork: $!"; - } - if($pid) { - # parent - my @out = ; - close(TEST_IN); - my $exit = $?>>8; - s/^/#/ for @out; - local $" = ""; - print "#EXIT=$exit OUTPUT=+++#@out#+++\n"; - return($exit, join("",@out)); - } - # child - open(STDERR, ">&STDOUT"); - Test::More->builder->no_ending(1); - &$code; - print "--NORMAL-RETURN--\n"; - exit 0; -} - -sub compare -{ - my ($left,$right) = @_; - $left =~ s/^#\s+/#/gm; - $right =~ s/^#\s+/#/gm; - $left =~ s/\s+/ /gm; - $right =~ s/\s+/ /gm; - $left eq $right; -} - -SKIP: { -if('Pod::Usage'->isa('Pod::Text') && $Pod::Text::VERSION < 2.18) { - skip("Formatting with Pod::Text $Pod::Text::VERSION not reliable", 33); -} - -my ($exit, $text) = getoutput( sub { pod2usage() } ); -is ($exit, 2, "Exit status pod2usage ()"); -ok (compare ($text, <<'EOT'), "Output test pod2usage ()"); -#Usage: -# frobnicate [ -r | --recursive ] [ -f | --force ] file ... -# -EOT - -($exit, $text) = getoutput( sub { pod2usage( - -message => 'You naughty person, what did you say?', - -verbose => 1 ) }); -is ($exit, 1, "Exit status pod2usage (-message => '...', -verbose => 1)"); -ok (compare ($text, <<'EOT'), "Output test pod2usage (-message => '...', -verbose => 1)") or diag("Got:\n$text\n"); -#You naughty person, what did you say? -# Usage: -# frobnicate [ -r | --recursive ] [ -f | --force ] file ... -# -# Options: -# -r | --recursive -# Run recursively. -# -# -f | --force -# Just do it! -# -# -n number -# Specify number of frobs, default is 42. -# -EOT - -($exit, $text) = getoutput( sub { pod2usage( - -verbose => 2, -exit => 42 ) } ); -is ($exit, 42, "Exit status pod2usage (-verbose => 2, -exit => 42)"); -ok (compare ($text, <<'EOT'), "Output test pod2usage (-verbose => 2, -exit => 42)"); -#NAME -# frobnicate - do what I mean -# -# SYNOPSIS -# frobnicate [ -r | --recursive ] [ -f | --force ] file ... -# -# DESCRIPTION -# frobnicate does foo and bar and what not. -# -# OPTIONS -# -r | --recursive -# Run recursively. -# -# -f | --force -# Just do it! -# -# -n number -# Specify number of frobs, default is 42. -# -EOT - -($exit, $text) = getoutput( sub { pod2usage(0) } ); -is ($exit, 0, "Exit status pod2usage (0)"); -ok (compare ($text, <<'EOT'), "Output test pod2usage (0)"); -#Usage: -# frobnicate [ -r | --recursive ] [ -f | --force ] file ... -# -# Options: -# -r | --recursive -# Run recursively. -# -# -f | --force -# Just do it! -# -# -n number -# Specify number of frobs, default is 42. -# -EOT - -($exit, $text) = getoutput( sub { pod2usage(42) } ); -is ($exit, 42, "Exit status pod2usage (42)"); -ok (compare ($text, <<'EOT'), "Output test pod2usage (42)"); -#Usage: -# frobnicate [ -r | --recursive ] [ -f | --force ] file ... -# -EOT - -($exit, $text) = getoutput( sub { pod2usage(-verbose => 0, -exit => 'NOEXIT') } ); -is ($exit, 0, "Exit status pod2usage (-verbose => 0, -exit => 'NOEXIT')"); -ok (compare ($text, <<'EOT'), "Output test pod2usage (-verbose => 0, -exit => 'NOEXIT')"); -#Usage: -# frobnicate [ -r | --recursive ] [ -f | --force ] file ... -# -# --NORMAL-RETURN-- -EOT - -($exit, $text) = getoutput( sub { pod2usage(-verbose => 99, -sections => 'DESCRIPTION') } ); -is ($exit, 1, "Exit status pod2usage (-verbose => 99, -sections => 'DESCRIPTION')"); -ok (compare ($text, <<'EOT'), "Output test pod2usage (-verbose => 99, -sections => 'DESCRIPTION')"); -#Description: -# frobnicate does foo and bar and what not. -# -EOT - -# does the __DATA__ work ok as input -my (@blib, $test_script, $pod_file1, , $pod_file2); -if (!$ENV{PERL_CORE}) { - @blib = '-Mblib'; -} -$test_script = File::Spec->catfile(qw(t pod p2u_data.pl)); -$pod_file1 = File::Spec->catfile(qw(t pod usage.pod)); -$pod_file2 = File::Spec->catfile(qw(t pod usage2.pod)); - - -($exit, $text) = getoutput( sub { system($^X, @blib, $test_script); exit($? >> 8); } ); -$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR -is ($exit, 17, "Exit status pod2usage (-verbose => 2, -input => \*DATA)"); -ok (compare ($text, <<'EOT'), "Output test pod2usage (-verbose => 2, -input => \*DATA)") or diag "Got:\n$text\n"; -#NAME -# Test -# -#SYNOPSIS -# perl podusagetest.pl -# -#DESCRIPTION -# This is a test. -# -EOT - -# test that SYNOPSIS and USAGE are printed -($exit, $text) = getoutput( sub { pod2usage(-input => $pod_file1, - -exitval => 0, -verbose => 0); }); -$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR -is ($exit, 0, "Exit status pod2usage with USAGE"); -ok (compare ($text, <<'EOT'), "Output test pod2usage with USAGE") or diag "Got:\n$text\n"; -#Usage: -# This is a test for CPAN#33020 -# -#Usage: -# And this will be also printed. -# -EOT - -# test that SYNOPSIS and USAGE are printed with options -($exit, $text) = getoutput( sub { pod2usage(-input => $pod_file1, - -exitval => 0, -verbose => 1); }); -$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR -is ($exit, 0, "Exit status pod2usage with USAGE and verbose=1"); -ok (compare ($text, <<'EOT'), "Output test pod2usage with USAGE and verbose=1") or diag "Got:\n$text\n"; -#Usage: -# This is a test for CPAN#33020 -# -#Usage: -# And this will be also printed. -# -#Options: -# And this with verbose == 1 -# -EOT - -# test that only USAGE is printed when requested -($exit, $text) = getoutput( sub { pod2usage(-input => $pod_file1, - -exitval => 0, -verbose => 99, -sections => 'USAGE'); }); -$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR -is ($exit, 0, "Exit status pod2usage with USAGE and verbose=99"); -ok (compare ($text, <<'EOT'), "Output test pod2usage with USAGE and verbose=99") or diag "Got:\n$text\n"; -#Usage: -# This is a test for CPAN#33020 -# -EOT - -# test with pod_where -use_ok('Pod::Find', qw(pod_where)); - -($exit, $text) = getoutput( sub { pod2usage( -input => pod_where({-inc => 1}, 'Pod::Usage'), - -exitval => 0, -verbose => 0) } ); -$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR -is ($exit, 0, "Exit status pod2usage with Pod::Find"); -ok (compare ($text, <<'EOT'), "Output test pod2usage with Pod::Find") or diag "Got:\n$text\n"; -#Usage: -# use Pod::Usage -# -# my $message_text = "This text precedes the usage message."; -# my $exit_status = 2; ## The exit status to use -# my $verbose_level = 0; ## The verbose level to use -# my $filehandle = \*STDERR; ## The filehandle to write to -# -# pod2usage($message_text); -# -# pod2usage($exit_status); -# -# pod2usage( { -message => $message_text , -# -exitval => $exit_status , -# -verbose => $verbose_level, -# -output => $filehandle } ); -# -# pod2usage( -msg => $message_text , -# -exitval => $exit_status , -# -verbose => $verbose_level, -# -output => $filehandle ); -# -# pod2usage( -verbose => 2, -# -noperldoc => 1 ) -# -EOT - -# verify that sections are correctly found after nested headings -($exit, $text) = getoutput( sub { pod2usage(-input => $pod_file2, - -exitval => 0, -verbose => 99, - -sections => [qw(BugHeader BugHeader/.*')]) }); -$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR -is ($exit, 0, "Exit status pod2usage with nested headings"); -ok (compare ($text, <<'EOT'), "Output test pod2usage with nested headings") or diag "Got:\n$text\n"; -#BugHeader: -# Some text -# -# BugHeader2: -# More -# Still More -# -EOT - -# Verify that =over =back work OK -($exit, $text) = getoutput( sub { - pod2usage(-input => $pod_file2, - -exitval => 0, -verbose => 99, -sections => 'BugHeader/BugHeader2') } ); -$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR -is ($exit, 0, "Exit status pod2usage with over/back"); -ok (compare ($text, <<'EOT'), "Output test pod2usage with over/back") or diag "Got:\n$text\n"; -# BugHeader2: -# More -# Still More -# -EOT - -# new array API for -sections -($exit, $text) = getoutput( sub { - pod2usage(-input => $pod_file2, - -exitval => 0, -verbose => 99, -sections => [qw(Heading-1/!.+ Heading-2/.+)]) } ); -$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR -is ($exit, 0, "Exit status pod2usage with -sections => []"); -ok (compare ($text, <<'EOT'), "Output test pod2usage with -sections => []") or diag "Got:\n$text\n"; -#Heading-1: -# One -# Two -# -# Heading-2.2: -# More text. -# -EOT - -# allow subheadings in OPTIONS and ARGUMENTS -($exit, $text) = getoutput( sub { - pod2usage(-input => $pod_file2, - -exitval => 0, -verbose => 1) } ); -$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR -$text =~ s{[*](destination|files)[*]}{$1}g; # strip * chars -is ($exit, 0, "Exit status pod2usage with subheadings in OPTIONS"); -ok (compare ($text, <<'EOT'), "Output test pod2usage with subheadings in OPTIONS") or diag "Got:\n$text\n"; -#Options and Arguments: -# Arguments: -# The required arguments (which typically follow any options on the -# command line) are: -# -# destination -# files -# -# Options: -# Options may be abbreviated. Options which take values may be separated -# from the values by whitespace or the "=" character. -# -EOT -} # end SKIP - -__END__ - -=head1 NAME - -frobnicate - do what I mean - -=head1 SYNOPSIS - -B S<[ B<-r> | B<--recursive> ]> S<[ B<-f> | B<--force> ]> - file ... - -=head1 DESCRIPTION - -B does foo and bar and what not. - -=head1 OPTIONS - -=over 4 - -=item B<-r> | B<--recursive> - -Run recursively. - -=item B<-f> | B<--force> - -Just do it! - -=item B<-n> number - -Specify number of frobs, default is 42. - -=back - -=cut - +#!/usr/bin/perl -w + +use Test::More; +use strict; + +BEGIN { + if ($^O eq 'MSWin32' || $^O eq 'VMS') { + plan skip_all => "Not portable on Win32 or VMS\n"; + } + else { + plan tests => 34; + } + use_ok ("Pod::Usage"); +} + +sub getoutput +{ + my ($code) = @_; + my $pid = open(TEST_IN, "-|"); + unless(defined $pid) { + die "Cannot fork: $!"; + } + if($pid) { + # parent + my @out = ; + close(TEST_IN); + my $exit = $?>>8; + s/^/#/ for @out; + local $" = ""; + print "#EXIT=$exit OUTPUT=+++#@out#+++\n"; + return($exit, join("",@out)); + } + # child + open(STDERR, ">&STDOUT"); + Test::More->builder->no_ending(1); + &$code; + print "--NORMAL-RETURN--\n"; + exit 0; +} + +sub compare +{ + my ($left,$right) = @_; + $left =~ s/^#\s+/#/gm; + $right =~ s/^#\s+/#/gm; + $left =~ s/\s+/ /gm; + $right =~ s/\s+/ /gm; + $left eq $right; +} + +SKIP: { +if('Pod::Usage'->isa('Pod::Text') && $Pod::Text::VERSION < 2.18) { + skip("Formatting with Pod::Text $Pod::Text::VERSION not reliable", 33); +} + +my ($exit, $text) = getoutput( sub { pod2usage() } ); +is ($exit, 2, "Exit status pod2usage ()"); +ok (compare ($text, <<'EOT'), "Output test pod2usage ()"); +#Usage: +# frobnicate [ -r | --recursive ] [ -f | --force ] file ... +# +EOT + +($exit, $text) = getoutput( sub { pod2usage( + -message => 'You naughty person, what did you say?', + -verbose => 1 ) }); +is ($exit, 1, "Exit status pod2usage (-message => '...', -verbose => 1)"); +ok (compare ($text, <<'EOT'), "Output test pod2usage (-message => '...', -verbose => 1)") or diag("Got:\n$text\n"); +#You naughty person, what did you say? +# Usage: +# frobnicate [ -r | --recursive ] [ -f | --force ] file ... +# +# Options: +# -r | --recursive +# Run recursively. +# +# -f | --force +# Just do it! +# +# -n number +# Specify number of frobs, default is 42. +# +EOT + +($exit, $text) = getoutput( sub { pod2usage( + -verbose => 2, -exit => 42 ) } ); +is ($exit, 42, "Exit status pod2usage (-verbose => 2, -exit => 42)"); +ok (compare ($text, <<'EOT'), "Output test pod2usage (-verbose => 2, -exit => 42)"); +#NAME +# frobnicate - do what I mean +# +# SYNOPSIS +# frobnicate [ -r | --recursive ] [ -f | --force ] file ... +# +# DESCRIPTION +# frobnicate does foo and bar and what not. +# +# OPTIONS +# -r | --recursive +# Run recursively. +# +# -f | --force +# Just do it! +# +# -n number +# Specify number of frobs, default is 42. +# +EOT + +($exit, $text) = getoutput( sub { pod2usage(0) } ); +is ($exit, 0, "Exit status pod2usage (0)"); +ok (compare ($text, <<'EOT'), "Output test pod2usage (0)"); +#Usage: +# frobnicate [ -r | --recursive ] [ -f | --force ] file ... +# +# Options: +# -r | --recursive +# Run recursively. +# +# -f | --force +# Just do it! +# +# -n number +# Specify number of frobs, default is 42. +# +EOT + +($exit, $text) = getoutput( sub { pod2usage(42) } ); +is ($exit, 42, "Exit status pod2usage (42)"); +ok (compare ($text, <<'EOT'), "Output test pod2usage (42)"); +#Usage: +# frobnicate [ -r | --recursive ] [ -f | --force ] file ... +# +EOT + +($exit, $text) = getoutput( sub { pod2usage(-verbose => 0, -exit => 'NOEXIT') } ); +is ($exit, 0, "Exit status pod2usage (-verbose => 0, -exit => 'NOEXIT')"); +ok (compare ($text, <<'EOT'), "Output test pod2usage (-verbose => 0, -exit => 'NOEXIT')"); +#Usage: +# frobnicate [ -r | --recursive ] [ -f | --force ] file ... +# +# --NORMAL-RETURN-- +EOT + +($exit, $text) = getoutput( sub { pod2usage(-verbose => 99, -sections => 'DESCRIPTION') } ); +is ($exit, 1, "Exit status pod2usage (-verbose => 99, -sections => 'DESCRIPTION')"); +ok (compare ($text, <<'EOT'), "Output test pod2usage (-verbose => 99, -sections => 'DESCRIPTION')"); +#Description: +# frobnicate does foo and bar and what not. +# +EOT + +# does the __DATA__ work ok as input +my (@blib, $test_script, $pod_file1, , $pod_file2); +if (!$ENV{PERL_CORE}) { + @blib = '-Mblib'; +} +$test_script = File::Spec->catfile(qw(t pod p2u_data.pl)); +$pod_file1 = File::Spec->catfile(qw(t pod usage.pod)); +$pod_file2 = File::Spec->catfile(qw(t pod usage2.pod)); + + +($exit, $text) = getoutput( sub { system($^X, @blib, $test_script); exit($? >> 8); } ); +$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR +is ($exit, 17, "Exit status pod2usage (-verbose => 2, -input => \*DATA)"); +ok (compare ($text, <<'EOT'), "Output test pod2usage (-verbose => 2, -input => \*DATA)") or diag "Got:\n$text\n"; +#NAME +# Test +# +#SYNOPSIS +# perl podusagetest.pl +# +#DESCRIPTION +# This is a test. +# +EOT + +# test that SYNOPSIS and USAGE are printed +($exit, $text) = getoutput( sub { pod2usage(-input => $pod_file1, + -exitval => 0, -verbose => 0); }); +$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR +is ($exit, 0, "Exit status pod2usage with USAGE"); +ok (compare ($text, <<'EOT'), "Output test pod2usage with USAGE") or diag "Got:\n$text\n"; +#Usage: +# This is a test for CPAN#33020 +# +#Usage: +# And this will be also printed. +# +EOT + +# test that SYNOPSIS and USAGE are printed with options +($exit, $text) = getoutput( sub { pod2usage(-input => $pod_file1, + -exitval => 0, -verbose => 1); }); +$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR +is ($exit, 0, "Exit status pod2usage with USAGE and verbose=1"); +ok (compare ($text, <<'EOT'), "Output test pod2usage with USAGE and verbose=1") or diag "Got:\n$text\n"; +#Usage: +# This is a test for CPAN#33020 +# +#Usage: +# And this will be also printed. +# +#Options: +# And this with verbose == 1 +# +EOT + +# test that only USAGE is printed when requested +($exit, $text) = getoutput( sub { pod2usage(-input => $pod_file1, + -exitval => 0, -verbose => 99, -sections => 'USAGE'); }); +$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR +is ($exit, 0, "Exit status pod2usage with USAGE and verbose=99"); +ok (compare ($text, <<'EOT'), "Output test pod2usage with USAGE and verbose=99") or diag "Got:\n$text\n"; +#Usage: +# This is a test for CPAN#33020 +# +EOT + +# test with pod_where +use_ok('Pod::Find', qw(pod_where)); + +($exit, $text) = getoutput( sub { pod2usage( -input => pod_where({-inc => 1}, 'Pod::Usage'), + -exitval => 0, -verbose => 0) } ); +$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR +is ($exit, 0, "Exit status pod2usage with Pod::Find"); +ok (compare ($text, <<'EOT'), "Output test pod2usage with Pod::Find") or diag "Got:\n$text\n"; +#Usage: +# use Pod::Usage +# +# my $message_text = "This text precedes the usage message."; +# my $exit_status = 2; ## The exit status to use +# my $verbose_level = 0; ## The verbose level to use +# my $filehandle = \*STDERR; ## The filehandle to write to +# +# pod2usage($message_text); +# +# pod2usage($exit_status); +# +# pod2usage( { -message => $message_text , +# -exitval => $exit_status , +# -verbose => $verbose_level, +# -output => $filehandle } ); +# +# pod2usage( -msg => $message_text , +# -exitval => $exit_status , +# -verbose => $verbose_level, +# -output => $filehandle ); +# +# pod2usage( -verbose => 2, +# -noperldoc => 1 ); +# +# pod2usage( -verbose => 2, +# -perlcmd => $path_to_perl, +# -perldoc => $path_to_perldoc ); +# +EOT + +# verify that sections are correctly found after nested headings +($exit, $text) = getoutput( sub { pod2usage(-input => $pod_file2, + -exitval => 0, -verbose => 99, + -sections => [qw(BugHeader BugHeader/.*')]) }); +$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR +is ($exit, 0, "Exit status pod2usage with nested headings"); +ok (compare ($text, <<'EOT'), "Output test pod2usage with nested headings") or diag "Got:\n$text\n"; +#BugHeader: +# Some text +# +# BugHeader2: +# More +# Still More +# +EOT + +# Verify that =over =back work OK +($exit, $text) = getoutput( sub { + pod2usage(-input => $pod_file2, + -exitval => 0, -verbose => 99, -sections => 'BugHeader/BugHeader2') } ); +$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR +is ($exit, 0, "Exit status pod2usage with over/back"); +ok (compare ($text, <<'EOT'), "Output test pod2usage with over/back") or diag "Got:\n$text\n"; +# BugHeader2: +# More +# Still More +# +EOT + +# new array API for -sections +($exit, $text) = getoutput( sub { + pod2usage(-input => $pod_file2, + -exitval => 0, -verbose => 99, -sections => [qw(Heading-1/!.+ Heading-2/.+)]) } ); +$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR +is ($exit, 0, "Exit status pod2usage with -sections => []"); +ok (compare ($text, <<'EOT'), "Output test pod2usage with -sections => []") or diag "Got:\n$text\n"; +#Heading-1: +# One +# Two +# +# Heading-2.2: +# More text. +# +EOT + +# allow subheadings in OPTIONS and ARGUMENTS +($exit, $text) = getoutput( sub { + pod2usage(-input => $pod_file2, + -exitval => 0, -verbose => 1) } ); +$text =~ s{#Using.*/blib.*\n}{}; # older blib's emit something to STDERR +$text =~ s{[*](destination|files)[*]}{$1}g; # strip * chars +is ($exit, 0, "Exit status pod2usage with subheadings in OPTIONS"); +ok (compare ($text, <<'EOT'), "Output test pod2usage with subheadings in OPTIONS") or diag "Got:\n$text\n"; +#Options and Arguments: +# Arguments: +# The required arguments (which typically follow any options on the +# command line) are: +# +# destination +# files +# +# Options: +# Options may be abbreviated. Options which take values may be separated +# from the values by whitespace or the "=" character. +# +EOT +} # end SKIP + +__END__ + +=head1 NAME + +frobnicate - do what I mean + +=head1 SYNOPSIS + +B S<[ B<-r> | B<--recursive> ]> S<[ B<-f> | B<--force> ]> + file ... + +=head1 DESCRIPTION + +B does foo and bar and what not. + +=head1 OPTIONS + +=over 4 + +=item B<-r> | B<--recursive> + +Run recursively. + +=item B<-f> | B<--force> + +Just do it! + +=item B<-n> number + +Specify number of frobs, default is 42. + +=back + +=cut + diff --git a/cpan/Pod-Usage/t/pod/selectheaders.pl b/cpan/Pod-Usage/t/pod/selectheaders.pl new file mode 100644 index 0000000..d0b557f --- /dev/null +++ b/cpan/Pod-Usage/t/pod/selectheaders.pl @@ -0,0 +1,34 @@ +#!/usr/bin/perl -w +use strict; +use Pod::Usage; + +my $h2 = shift @ARGV || '.*'; + +Pod::Usage::pod2usage( + '-verbose' => 99, + '-exitval' => 0, + '-sections' => "Name/$h2/!.+", +); + +=head1 Name + +Testing + +=head2 Foo + +This is foo + +=head3 Foo bar + +This is foo bar. + +=head2 Bar + +This is bar. + +=head3 Bar baz + +This is bar baz. + +=cut + diff --git a/cpan/Pod-Usage/t/pod/selectheaders.t b/cpan/Pod-Usage/t/pod/selectheaders.t new file mode 100644 index 0000000..ff138a3 --- /dev/null +++ b/cpan/Pod-Usage/t/pod/selectheaders.t @@ -0,0 +1,17 @@ +use Test::More tests => 2; + +my $blib = $ENV{PERL_CORE} ? '-I../../lib' : '-Mblib'; + +my $pl = $0; +$pl =~ s{t$}{pl}; + +my $out = `$^X $blib $pl Foo`; +$out =~ s{\s+}{ }gs; +$out =~ s{^\s+|\s+$}{}gs; +is($out, 'Foo: This is foo', 'selection of Foo section'); + +$out = `$^X $blib $pl Bar`; +$out =~ s{\s+}{ }gs; +$out =~ s{^\s+|\s+$}{}gs; +is($out, 'Bar: This is bar.', 'selection of Bar section'); + diff --git a/cpan/Pod-Usage/t/pod/selectsections.pl b/cpan/Pod-Usage/t/pod/selectsections.pl new file mode 100644 index 0000000..0f1ad82 --- /dev/null +++ b/cpan/Pod-Usage/t/pod/selectsections.pl @@ -0,0 +1,70 @@ +#!/usr/bin/env perl +use Pod::Usage; + +my @tests = ( + [ "NAME" , "ACTIONS", "ACTIONS/help" ], + 'DESCRIPTION|OPTIONS|ENVIRONMENT/Caveats', +); + +my $idx = shift(@ARGV) || 0; + +pod2usage( + -exitstatus => 0, + -verbose => 99, + -sections => $tests[$idx], + -noperldoc => 1 +); +1; + +__END__ + +=head1 NAME + +trypodi - pod sections usage test + +=head1 ACTIONS + +Para for actions. + +=head2 help + +Help text. + +=head1 DESCRIPTION + +Description text. + +=head2 Caveats + +Description caveat text. + +=head2 Other + +Description other text. + +=head1 OPTIONS + +Options text. + +=head2 Caveats + +Options caveat text. + +=head2 Other + +Options other text. + +=head1 ENVIRONMENT + +Environment text. + +=head2 Caveats + +Environment caveat text. + +=head2 Other + +Environment other text. + +=cut + diff --git a/cpan/Pod-Usage/t/pod/selectsections.t b/cpan/Pod-Usage/t/pod/selectsections.t new file mode 100644 index 0000000..d71c487 --- /dev/null +++ b/cpan/Pod-Usage/t/pod/selectsections.t @@ -0,0 +1,17 @@ +use Test::More tests => 2; + +my $blib = $ENV{PERL_CORE} ? '-I../../lib' : '-Mblib'; + +my $pl = $0; +$pl =~ s{t$}{pl}; + +my $out = `$^X $blib $pl 0`; +$out =~ s{\s+}{ }gs; +$out =~ s{^\s+|\s+$}{}gs; +is($out, 'Name: trypodi - pod sections usage test Actions: Para for actions. help: Help text.', 'selection of specific sections'); + +$out = `$^X $blib $pl 1`; +$out =~ s{\s+}{ }gs; +$out =~ s{^\s+|\s+$}{}gs; +is($out, 'Caveats: Description caveat text. Caveats: Options caveat text. Caveats: Environment caveat text.', 'selection of caveats sections'); + diff --git a/cpan/Pod-Usage/t/pod/testcmp.pl b/cpan/Pod-Usage/t/pod/testcmp.pl index b8592fc..17f0b0b 100644 --- a/cpan/Pod-Usage/t/pod/testcmp.pl +++ b/cpan/Pod-Usage/t/pod/testcmp.pl @@ -1,94 +1,94 @@ -package TestCompare; - -use vars qw(@ISA @EXPORT $MYPKG); -#use strict; -#use diagnostics; -use Carp; -use Exporter; -use File::Basename; -use File::Spec; -use FileHandle; - -@ISA = qw(Exporter); -@EXPORT = qw(&testcmp); -$MYPKG = eval { (caller)[0] }; - -##-------------------------------------------------------------------------- - -=head1 NAME - -testcmp -- compare two files line-by-line - -=head1 SYNOPSIS - - $is_diff = testcmp($file1, $file2); - -or - - $is_diff = testcmp({-cmplines => \&mycmp}, $file1, $file2); - -=head2 DESCRIPTION - -Compare two text files line-by-line and return 0 if they are the -same, 1 if they differ. Each of $file1 and $file2 may be a filenames, -or a filehandles (in which case it must already be open for reading). - -If the first argument is a hashref, then the B<-cmplines> key in the -hash may have a subroutine reference as its corresponding value. -The referenced user-defined subroutine should be a line-comparator -function that takes two pre-chomped text-lines as its arguments -(the first is from $file1 and the second is from $file2). It should -return 0 if it considers the two lines equivalent, and non-zero -otherwise. - -=cut - -##-------------------------------------------------------------------------- - -sub testcmp( $ $ ; $) { - my %opts = ref($_[0]) eq 'HASH' ? %{shift()} : (); - my ($file1, $file2) = @_; - my ($fh1, $fh2) = ($file1, $file2); - unless (ref $fh1) { - $fh1 = FileHandle->new($file1, "r") or die "Can't open $file1: $!"; - } - unless (ref $fh2) { - $fh2 = FileHandle->new($file2, "r") or die "Can't open $file2: $!"; - } - - my $cmplines = $opts{'-cmplines'} || undef; - my ($f1text, $f2text) = ("", ""); - my ($line, $diffs) = (0, 0); - - while ( defined($f1text) and defined($f2text) ) { - defined($f1text = <$fh1>) and chomp($f1text); - defined($f2text = <$fh2>) and chomp($f2text); - ++$line; - last unless ( defined($f1text) and defined($f2text) ); - # kill any extra line endings - $f1text =~ s/[\r\n]+$//s; - $f2text =~ s/[\r\n]+$//s; - $diffs = (ref $cmplines) ? &$cmplines($f1text, $f2text) - : ($f1text ne $f2text); - last if $diffs; - } - close($fh1) unless (ref $file1); - close($fh2) unless (ref $file2); - - $diffs = 1 if (defined($f1text) or defined($f2text)); - if ( defined($f1text) and defined($f2text) ) { - ## these two lines must be different - warn "$file1 and $file2 differ at line $line\n"; - } - elsif (defined($f1text) and (! defined($f1text))) { - ## file1 must be shorter - warn "$file1 is shorter than $file2\n"; - } - elsif (defined $f2text) { - ## file2 must be longer - warn "$file1 is shorter than $file2\n"; - } - return $diffs; -} - -1; +package TestCompare; + +use vars qw(@ISA @EXPORT $MYPKG); +#use strict; +#use diagnostics; +use Carp; +use Exporter; +use File::Basename; +use File::Spec; +use FileHandle; + +@ISA = qw(Exporter); +@EXPORT = qw(&testcmp); +$MYPKG = eval { (caller)[0] }; + +##-------------------------------------------------------------------------- + +=head1 NAME + +testcmp -- compare two files line-by-line + +=head1 SYNOPSIS + + $is_diff = testcmp($file1, $file2); + +or + + $is_diff = testcmp({-cmplines => \&mycmp}, $file1, $file2); + +=head2 DESCRIPTION + +Compare two text files line-by-line and return 0 if they are the +same, 1 if they differ. Each of $file1 and $file2 may be a filenames, +or a filehandles (in which case it must already be open for reading). + +If the first argument is a hashref, then the B<-cmplines> key in the +hash may have a subroutine reference as its corresponding value. +The referenced user-defined subroutine should be a line-comparator +function that takes two pre-chomped text-lines as its arguments +(the first is from $file1 and the second is from $file2). It should +return 0 if it considers the two lines equivalent, and non-zero +otherwise. + +=cut + +##-------------------------------------------------------------------------- + +sub testcmp( $ $ ; $) { + my %opts = ref($_[0]) eq 'HASH' ? %{shift()} : (); + my ($file1, $file2) = @_; + my ($fh1, $fh2) = ($file1, $file2); + unless (ref $fh1) { + $fh1 = FileHandle->new($file1, "r") or die "Can't open $file1: $!"; + } + unless (ref $fh2) { + $fh2 = FileHandle->new($file2, "r") or die "Can't open $file2: $!"; + } + + my $cmplines = $opts{'-cmplines'} || undef; + my ($f1text, $f2text) = ("", ""); + my ($line, $diffs) = (0, 0); + + while ( defined($f1text) and defined($f2text) ) { + defined($f1text = <$fh1>) and chomp($f1text); + defined($f2text = <$fh2>) and chomp($f2text); + ++$line; + last unless ( defined($f1text) and defined($f2text) ); + # kill any extra line endings + $f1text =~ s/[\r\n]+$//s; + $f2text =~ s/[\r\n]+$//s; + $diffs = (ref $cmplines) ? &$cmplines($f1text, $f2text) + : ($f1text ne $f2text); + last if $diffs; + } + close($fh1) unless (ref $file1); + close($fh2) unless (ref $file2); + + $diffs = 1 if (defined($f1text) or defined($f2text)); + if ( defined($f1text) and defined($f2text) ) { + ## these two lines must be different + warn "$file1 and $file2 differ at line $line\n"; + } + elsif (defined($f1text) and (! defined($f1text))) { + ## file1 must be shorter + warn "$file1 is shorter than $file2\n"; + } + elsif (defined $f2text) { + ## file2 must be longer + warn "$file1 is shorter than $file2\n"; + } + return $diffs; +} + +1; diff --git a/cpan/Pod-Usage/t/pod/testp2pt.pl b/cpan/Pod-Usage/t/pod/testp2pt.pl index 5c17300..308cd1c 100644 --- a/cpan/Pod-Usage/t/pod/testp2pt.pl +++ b/cpan/Pod-Usage/t/pod/testp2pt.pl @@ -1,192 +1,192 @@ -package TestPodIncPlainText; - -BEGIN { - use File::Basename; - use File::Spec; - use Cwd qw(abs_path); - push @INC, '..'; - my $THISDIR = abs_path(dirname $0); - unshift @INC, $THISDIR; - require "testcmp.pl"; - import TestCompare; - my $PARENTDIR = dirname $THISDIR; - push @INC, map { File::Spec->catfile($_, 'lib') } ($PARENTDIR, $THISDIR); -} - -#use strict; -#use diagnostics; -use Carp; -use Exporter; -#use File::Compare; -#use Cwd qw(abs_path); - -use vars qw($MYPKG @EXPORT @ISA); -$MYPKG = eval { (caller)[0] }; -@EXPORT = qw(&testpodplaintext); -BEGIN { - require Pod::PlainText; - @ISA = qw( Pod::PlainText ); - require VMS::Filespec if $^O eq 'VMS'; -} - -## Hardcode settings for TERMCAP and COLUMNS so we can try to get -## reproducible results between environments -@ENV{qw(TERMCAP COLUMNS)} = ('co=76:do=^J', 76); - -sub catfile(@) { File::Spec->catfile(@_); } - -my $INSTDIR = abs_path(dirname $0); -$INSTDIR = VMS::Filespec::unixpath($INSTDIR) if $^O eq 'VMS'; -$INSTDIR =~ s#/$## if $^O eq 'VMS'; -$INSTDIR =~ s#:$## if $^O eq 'MacOS'; -$INSTDIR = (dirname $INSTDIR) if (basename($INSTDIR) eq 'pod'); -$INSTDIR =~ s#:$## if $^O eq 'MacOS'; -$INSTDIR = (dirname $INSTDIR) if (basename($INSTDIR) eq 't'); -my @PODINCDIRS = ( catfile($INSTDIR, 'lib', 'Pod'), - catfile($INSTDIR, 'scripts'), - catfile($INSTDIR, 'pod'), - catfile($INSTDIR, 't', 'pod') - ); - -# FIXME - we should make the core capable of finding utilities built in -# locations in ext. -push @PODINCDIRS, catfile((File::Spec->updir()) x 2, 'pod') if $ENV{PERL_CORE}; - -## Find the path to the file to =include -sub findinclude { - my $self = shift; - my $incname = shift; - - ## See if its already found w/out any "searching; - return $incname if (-r $incname); - - ## Need to search for it. Look in the following directories ... - ## 1. the directory containing this pod file - my $thispoddir = dirname $self->input_file; - ## 2. the parent directory of the above - my $parentdir = dirname $thispoddir; - my @podincdirs = ($thispoddir, $parentdir, @PODINCDIRS); - - for (@podincdirs) { - my $incfile = catfile($_, $incname); - return $incfile if (-r $incfile); - } - warn("*** Can't find =include file $incname in @podincdirs\n"); - return ""; -} - -sub command { - my $self = shift; - my ($cmd, $text, $line_num, $pod_para) = @_; - $cmd = '' unless (defined $cmd); - local $_ = $text || ''; - my $out_fh = $self->output_handle; - - ## Defer to the superclass for everything except '=include' - return $self->SUPER::command(@_) unless ($cmd eq "include"); - - ## We have an '=include' command - my $incdebug = 1; ## debugging - my @incargs = split; - if (@incargs == 0) { - warn("*** No filename given for '=include'\n"); - return; - } - my $incfile = $self->findinclude(shift @incargs) or return; - my $incbase = basename $incfile; - print $out_fh "###### begin =include $incbase #####\n" if ($incdebug); - $self->parse_from_file( {-cutting => 1}, $incfile ); - print $out_fh "###### end =include $incbase #####\n" if ($incdebug); -} - -sub begin_input { - $_[0]->{_INFILE} = VMS::Filespec::unixify($_[0]->{_INFILE}) if $^O eq 'VMS'; -} - -sub podinc2plaintext( $ $ ) { - my ($infile, $outfile) = @_; - local $_; - my $text_parser = $MYPKG->new; - $text_parser->parse_from_file($infile, $outfile); -} - -sub testpodinc2plaintext( @ ) { - my %args = @_; - my $infile = $args{'-In'} || croak "No input file given!"; - my $outfile = $args{'-Out'} || croak "No output file given!"; - my $cmpfile = $args{'-Cmp'} || croak "No compare-result file given!"; - - my $different = ''; - my $testname = basename $cmpfile, '.t', '.xr'; - - unless (-e $cmpfile) { - my $msg = "*** Can't find comparison file $cmpfile for testing $infile"; - warn "$msg\n"; - return $msg; - } - - print "# Running testpodinc2plaintext for '$testname'...\n"; - ## Compare the output against the expected result - podinc2plaintext($infile, $outfile); - if ( testcmp($outfile, $cmpfile) ) { - $different = "$outfile is different from $cmpfile"; - } - else { - unlink($outfile); - } - return $different; -} - -sub testpodplaintext( @ ) { - my %opts = (ref $_[0] eq 'HASH') ? %{shift()} : (); - my @testpods = @_; - my ($testname, $testdir) = ("", ""); - my ($podfile, $cmpfile) = ("", ""); - my ($outfile, $errfile) = ("", ""); - my $passes = 0; - my $failed = 0; - local $_; - - print "1..", scalar @testpods, "\n" unless ($opts{'-xrgen'}); - - for $podfile (@testpods) { - ($testname, $_) = fileparse($podfile); - $testdir ||= $_; - $testname =~ s/\.t$//; - $cmpfile = $testdir . $testname . '.xr'; - $outfile = $testdir . $testname . '.OUT'; - - if ($opts{'-xrgen'}) { - if ($opts{'-force'} or ! -e $cmpfile) { - ## Create the comparison file - print "# Creating expected result for \"$testname\"" . - " pod2plaintext test ...\n"; - podinc2plaintext($podfile, $cmpfile); - } - else { - print "# File $cmpfile already exists" . - " (use '-force' to regenerate it).\n"; - } - next; - } - - my $failmsg = testpodinc2plaintext - -In => $podfile, - -Out => $outfile, - -Cmp => $cmpfile; - if ($failmsg) { - ++$failed; - print "#\tFAILED. ($failmsg)\n"; - print "not ok ", $failed+$passes, "\n"; - } - else { - ++$passes; - unlink($outfile); - print "#\tPASSED.\n"; - print "ok ", $failed+$passes, "\n"; - } - } - return $passes; -} - -1; +package TestPodIncPlainText; + +BEGIN { + use File::Basename; + use File::Spec; + use Cwd qw(abs_path); + push @INC, '..'; + my $THISDIR = abs_path(dirname $0); + unshift @INC, $THISDIR; + require "testcmp.pl"; + import TestCompare; + my $PARENTDIR = dirname $THISDIR; + push @INC, map { File::Spec->catfile($_, 'lib') } ($PARENTDIR, $THISDIR); +} + +#use strict; +#use diagnostics; +use Carp; +use Exporter; +#use File::Compare; +#use Cwd qw(abs_path); + +use vars qw($MYPKG @EXPORT @ISA); +$MYPKG = eval { (caller)[0] }; +@EXPORT = qw(&testpodplaintext); +BEGIN { + require Pod::PlainText; + @ISA = qw( Pod::PlainText ); + require VMS::Filespec if $^O eq 'VMS'; +} + +## Hardcode settings for TERMCAP and COLUMNS so we can try to get +## reproducible results between environments +@ENV{qw(TERMCAP COLUMNS)} = ('co=76:do=^J', 76); + +sub catfile(@) { File::Spec->catfile(@_); } + +my $INSTDIR = abs_path(dirname $0); +$INSTDIR = VMS::Filespec::unixpath($INSTDIR) if $^O eq 'VMS'; +$INSTDIR =~ s#/$## if $^O eq 'VMS'; +$INSTDIR =~ s#:$## if $^O eq 'MacOS'; +$INSTDIR = (dirname $INSTDIR) if (basename($INSTDIR) eq 'pod'); +$INSTDIR =~ s#:$## if $^O eq 'MacOS'; +$INSTDIR = (dirname $INSTDIR) if (basename($INSTDIR) eq 't'); +my @PODINCDIRS = ( catfile($INSTDIR, 'lib', 'Pod'), + catfile($INSTDIR, 'scripts'), + catfile($INSTDIR, 'pod'), + catfile($INSTDIR, 't', 'pod') + ); + +# FIXME - we should make the core capable of finding utilities built in +# locations in ext. +push @PODINCDIRS, catfile((File::Spec->updir()) x 2, 'pod') if $ENV{PERL_CORE}; + +## Find the path to the file to =include +sub findinclude { + my $self = shift; + my $incname = shift; + + ## See if its already found w/out any "searching; + return $incname if (-r $incname); + + ## Need to search for it. Look in the following directories ... + ## 1. the directory containing this pod file + my $thispoddir = dirname $self->input_file; + ## 2. the parent directory of the above + my $parentdir = dirname $thispoddir; + my @podincdirs = ($thispoddir, $parentdir, @PODINCDIRS); + + for (@podincdirs) { + my $incfile = catfile($_, $incname); + return $incfile if (-r $incfile); + } + warn("*** Can't find =include file $incname in @podincdirs\n"); + return ""; +} + +sub command { + my $self = shift; + my ($cmd, $text, $line_num, $pod_para) = @_; + $cmd = '' unless (defined $cmd); + local $_ = $text || ''; + my $out_fh = $self->output_handle; + + ## Defer to the superclass for everything except '=include' + return $self->SUPER::command(@_) unless ($cmd eq "include"); + + ## We have an '=include' command + my $incdebug = 1; ## debugging + my @incargs = split; + if (@incargs == 0) { + warn("*** No filename given for '=include'\n"); + return; + } + my $incfile = $self->findinclude(shift @incargs) or return; + my $incbase = basename $incfile; + print $out_fh "###### begin =include $incbase #####\n" if ($incdebug); + $self->parse_from_file( {-cutting => 1}, $incfile ); + print $out_fh "###### end =include $incbase #####\n" if ($incdebug); +} + +sub begin_input { + $_[0]->{_INFILE} = VMS::Filespec::unixify($_[0]->{_INFILE}) if $^O eq 'VMS'; +} + +sub podinc2plaintext( $ $ ) { + my ($infile, $outfile) = @_; + local $_; + my $text_parser = $MYPKG->new; + $text_parser->parse_from_file($infile, $outfile); +} + +sub testpodinc2plaintext( @ ) { + my %args = @_; + my $infile = $args{'-In'} || croak "No input file given!"; + my $outfile = $args{'-Out'} || croak "No output file given!"; + my $cmpfile = $args{'-Cmp'} || croak "No compare-result file given!"; + + my $different = ''; + my $testname = basename $cmpfile, '.t', '.xr'; + + unless (-e $cmpfile) { + my $msg = "*** Can't find comparison file $cmpfile for testing $infile"; + warn "$msg\n"; + return $msg; + } + + print "# Running testpodinc2plaintext for '$testname'...\n"; + ## Compare the output against the expected result + podinc2plaintext($infile, $outfile); + if ( testcmp($outfile, $cmpfile) ) { + $different = "$outfile is different from $cmpfile"; + } + else { + unlink($outfile); + } + return $different; +} + +sub testpodplaintext( @ ) { + my %opts = (ref $_[0] eq 'HASH') ? %{shift()} : (); + my @testpods = @_; + my ($testname, $testdir) = ("", ""); + my ($podfile, $cmpfile) = ("", ""); + my ($outfile, $errfile) = ("", ""); + my $passes = 0; + my $failed = 0; + local $_; + + print "1..", scalar @testpods, "\n" unless ($opts{'-xrgen'}); + + for $podfile (@testpods) { + ($testname, $_) = fileparse($podfile); + $testdir ||= $_; + $testname =~ s/\.t$//; + $cmpfile = $testdir . $testname . '.xr'; + $outfile = $testdir . $testname . '.OUT'; + + if ($opts{'-xrgen'}) { + if ($opts{'-force'} or ! -e $cmpfile) { + ## Create the comparison file + print "# Creating expected result for \"$testname\"" . + " pod2plaintext test ...\n"; + podinc2plaintext($podfile, $cmpfile); + } + else { + print "# File $cmpfile already exists" . + " (use '-force' to regenerate it).\n"; + } + next; + } + + my $failmsg = testpodinc2plaintext + -In => $podfile, + -Out => $outfile, + -Cmp => $cmpfile; + if ($failmsg) { + ++$failed; + print "#\tFAILED. ($failmsg)\n"; + print "not ok ", $failed+$passes, "\n"; + } + else { + ++$passes; + unlink($outfile); + print "#\tPASSED.\n"; + print "ok ", $failed+$passes, "\n"; + } + } + return $passes; +} + +1; diff --git a/cpan/Pod-Usage/t/pod/usage.pod b/cpan/Pod-Usage/t/pod/usage.pod index c0fbbc5..c81cc82 100644 --- a/cpan/Pod-Usage/t/pod/usage.pod +++ b/cpan/Pod-Usage/t/pod/usage.pod @@ -1,18 +1,18 @@ -=head1 NAME - -usage.pod - example for testing USAGE and SYNOPSIS - -=head1 USAGE - -This is a test for CPAN#33020 - -=head1 SYNOPSIS - -And this will be also printed. - -=head1 OPTIONS - -And this with verbose == 1 - -=cut - +=head1 NAME + +usage.pod - example for testing USAGE and SYNOPSIS + +=head1 USAGE + +This is a test for CPAN#33020 + +=head1 SYNOPSIS + +And this will be also printed. + +=head1 OPTIONS + +And this with verbose == 1 + +=cut + diff --git a/cpan/Pod-Usage/t/pod/usage2.pod b/cpan/Pod-Usage/t/pod/usage2.pod index 1e03b7d..5c4817b 100644 --- a/cpan/Pod-Usage/t/pod/usage2.pod +++ b/cpan/Pod-Usage/t/pod/usage2.pod @@ -1,56 +1,56 @@ -=head1 Heading-1 - -=over 100 - -=item One - -=item Two - -=back - -=head2 Heading 2 - -Some text - -=head1 BugHeader - -Some text - -=head2 BugHeader2 - -=over 4 - -=item More - -=item Still More - -=back - -=head1 Heading-2 - -=head2 Heading-2.2 - -More text. - -=head1 OPTIONS AND ARGUMENTS - -=head2 Arguments - -The required arguments (which typically follow any options on the -command line) are: - -=over - -=item I - -=item I - -=back - -=head2 Options - -Options may be abbreviated. Options which take values may be separated -from the values by whitespace or the "=" character. - -=cut - +=head1 Heading-1 + +=over 100 + +=item One + +=item Two + +=back + +=head2 Heading 2 + +Some text + +=head1 BugHeader + +Some text + +=head2 BugHeader2 + +=over 4 + +=item More + +=item Still More + +=back + +=head1 Heading-2 + +=head2 Heading-2.2 + +More text. + +=head1 OPTIONS AND ARGUMENTS + +=head2 Arguments + +The required arguments (which typically follow any options on the +command line) are: + +=over + +=item I + +=item I + +=back + +=head2 Options + +Options may be abbreviated. Options which take values may be separated +from the values by whitespace or the "=" character. + +=cut + diff --git a/cpan/Scalar-List-Utils/ListUtil.xs b/cpan/Scalar-List-Utils/ListUtil.xs index 515677f..504c70e 100644 --- a/cpan/Scalar-List-Utils/ListUtil.xs +++ b/cpan/Scalar-List-Utils/ListUtil.xs @@ -483,6 +483,125 @@ PPCODE: } void +pairs(...) +PROTOTYPE: @ +PPCODE: +{ + int argi = 0; + int reti = 0; + HV *pairstash = get_hv("List::Util::_Pair::", GV_ADD); + + if(items % 2 && ckWARN(WARN_MISC)) + warn("Odd number of elements in pairs"); + + { + for(; argi < items; argi += 2) { + SV *a = ST(argi); + SV *b = argi < items-1 ? ST(argi+1) : &PL_sv_undef; + + AV *av = newAV(); + av_push(av, newSVsv(a)); + av_push(av, newSVsv(b)); + + ST(reti) = sv_2mortal(newRV_noinc((SV *)av)); + sv_bless(ST(reti), pairstash); + reti++; + } + } + + XSRETURN(reti); +} + +void +unpairs(...) +PROTOTYPE: @ +PPCODE: +{ + /* Unlike pairs(), we're going to trash the input values on the stack + * almost as soon as we start generating output. So clone them first + */ + int i; + SV **args_copy; + Newx(args_copy, items, SV *); + SAVEFREEPV(args_copy); + + Copy(&ST(0), args_copy, items, SV *); + + for(i = 0; i < items; i++) { + SV *pair = args_copy[i]; + AV *pairav; + + SvGETMAGIC(pair); + + if(SvTYPE(pair) != SVt_RV) + croak("Not a reference at List::Util::unpack() argument %d", i); + if(SvTYPE(SvRV(pair)) != SVt_PVAV) + croak("Not an ARRAY reference at List::Util::unpack() argument %d", i); + + // TODO: assert pair is an ARRAY ref + pairav = (AV *)SvRV(pair); + + EXTEND(SP, 2); + + if(AvFILL(pairav) >= 0) + mPUSHs(newSVsv(AvARRAY(pairav)[0])); + else + PUSHs(&PL_sv_undef); + + if(AvFILL(pairav) >= 1) + mPUSHs(newSVsv(AvARRAY(pairav)[1])); + else + PUSHs(&PL_sv_undef); + } + + XSRETURN(items * 2); +} + +void +pairkeys(...) +PROTOTYPE: @ +PPCODE: +{ + int argi = 0; + int reti = 0; + + if(items % 2 && ckWARN(WARN_MISC)) + warn("Odd number of elements in pairkeys"); + + { + for(; argi < items; argi += 2) { + SV *a = ST(argi); + + ST(reti++) = sv_2mortal(newSVsv(a)); + } + } + + XSRETURN(reti); +} + +void +pairvalues(...) +PROTOTYPE: @ +PPCODE: +{ + int argi = 0; + int reti = 0; + + if(items % 2 && ckWARN(WARN_MISC)) + warn("Odd number of elements in pairvalues"); + + { + for(; argi < items; argi += 2) { + SV *b = argi < items-1 ? ST(argi+1) : &PL_sv_undef; + + ST(reti++) = sv_2mortal(newSVsv(b)); + } + } + + XSRETURN(reti); +} + +void pairfirst(block,...) SV *block PROTOTYPE: &@ @@ -768,80 +887,6 @@ PPCODE: } void -pairs(...) -PROTOTYPE: @ -PPCODE: -{ - int argi = 0; - int reti = 0; - HV *pairstash = get_hv("List::Util::_Pair::", GV_ADD); - - if(items % 2 && ckWARN(WARN_MISC)) - warn("Odd number of elements in pairs"); - - { - for(; argi < items; argi += 2) { - SV *a = ST(argi); - SV *b = argi < items-1 ? ST(argi+1) : &PL_sv_undef; - - AV *av = newAV(); - av_push(av, newSVsv(a)); - av_push(av, newSVsv(b)); - - ST(reti) = sv_2mortal(newRV_noinc((SV *)av)); - sv_bless(ST(reti), pairstash); - reti++; - } - } - - XSRETURN(reti); -} - -void -pairkeys(...) -PROTOTYPE: @ -PPCODE: -{ - int argi = 0; - int reti = 0; - - if(items % 2 && ckWARN(WARN_MISC)) - warn("Odd number of elements in pairkeys"); - - { - for(; argi < items; argi += 2) { - SV *a = ST(argi); - - ST(reti++) = sv_2mortal(newSVsv(a)); - } - } - - XSRETURN(reti); -} - -void -pairvalues(...) -PROTOTYPE: @ -PPCODE: -{ - int argi = 0; - int reti = 0; - - if(items % 2 && ckWARN(WARN_MISC)) - warn("Odd number of elements in pairvalues"); - - { - for(; argi < items; argi += 2) { - SV *b = argi < items-1 ? ST(argi+1) : &PL_sv_undef; - - ST(reti++) = sv_2mortal(newSVsv(b)); - } - } - - XSRETURN(reti); -} - -void shuffle(...) PROTOTYPE: @ CODE: diff --git a/cpan/Scalar-List-Utils/lib/List/Util.pm b/cpan/Scalar-List-Utils/lib/List/Util.pm index 837b6c8..701c784 100644 --- a/cpan/Scalar-List-Utils/lib/List/Util.pm +++ b/cpan/Scalar-List-Utils/lib/List/Util.pm @@ -12,9 +12,9 @@ require Exporter; our @ISA = qw(Exporter); our @EXPORT_OK = qw( all any first min max minstr maxstr none notall product reduce sum sum0 shuffle - pairmap pairgrep pairfirst pairs pairkeys pairvalues + pairs unpairs pairkeys pairvalues pairmap pairgrep pairfirst ); -our $VERSION = "1.41"; +our $VERSION = "1.42_01"; our $XS_VERSION = $VERSION; $VERSION = eval $VERSION; @@ -254,8 +254,119 @@ 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. +B: At the time of writing, the following C functions that take a +block do not modify the value of C<$_> within the block, and instead operate +using the C<$a> and C<$b> globals instead. This has turned out to be a poor +design, as it precludes the ability to provide a C function. Better +would be to pass pair-like objects as 2-element array references in C<$_>, in +a style similar to the return value of the C function. At some future +version this behaviour may be added. + +Until then, users are alerted B to rely on the value of C<$_> remaining +unmodified between the outside and the inside of the control block. In +particular, the following example is B: + + my @kvlist = ... + + foreach (qw( some keys here )) { + my @items = pairgrep { $a eq $_ } @kvlist; + ... + } + +Instead, write this using a lexical variable: + + foreach my $key (qw( some keys here )) { + my @items = pairgrep { $a eq $key } @kvlist; + ... + } + =cut +=head2 pairs + + my @pairs = pairs @kvlist; + +I + +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 + + @pairs = pairmap { [ $a, $b ] } @kvlist + +It is most convenient to use in a C loop, for example: + + foreach my $pair ( pairs @KVLIST ) { + my ( $key, $value ) = @$pair; + ... + } + +Since version C<1.39> these ARRAY references are blessed objects, recognising +the two methods C and C. The following code is equivalent: + + foreach my $pair ( pairs @KVLIST ) { + my $key = $pair->key; + my $value = $pair->value; + ... + } + +=head2 unpairs + + my @kvlist = unpairs @pairs + +I + +The inverse function to C; this function takes a list of ARRAY +references containing two elements each, and returns a flattened list of the +two values from each of the pairs, in order. This is notionally equivalent to + + my @kvlist = map { @{$_}[0,1] } @pairs + +except that it is implemented more efficiently internally. Specifically, for +any input item it will extract exactly two values for the output list; using +C if the input array references are short. + +Between C and C, a higher-order list function can be used to +operate on the pairs as single scalars; such as the following near-equivalents +of the other C higher-order functions: + + @kvlist = unpairs grep { FUNC } pairs @kvlist + # Like pairgrep, but takes $_ instead of $a and $b + + @kvlist = unpairs map { FUNC } pairs @kvlist + # Like pairmap, but takes $_ instead of $a and $b + +Note however that these versions will not behave as nicely in scalar context. + +Finally, this technique can be used to implement a sort on a keyvalue pair +list; e.g.: + + @kvlist = unpairs sort { $a->key cmp $b->key } pairs @kvlist + +=head2 pairkeys + + my @keys = pairkeys @kvlist; + +I + +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 + + @keys = pairmap { $a } @kvlist + +=head2 pairvalues + + my @values = pairvalues @kvlist; + +I + +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 + =head2 pairgrep my @kvlist = pairgrep { BLOCK } @kvlist; @@ -329,58 +440,6 @@ will be visible to the caller. See L for a known-bug with C, and a workaround. -=head2 pairs - - my @pairs = pairs @kvlist; - -I - -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 - - @pairs = pairmap { [ $a, $b ] } @kvlist - -It is most convenient to use in a C loop, for example: - - foreach my $pair ( pairs @KVLIST ) { - my ( $key, $value ) = @$pair; - ... - } - -Since version C<1.39> these ARRAY references are blessed objects, recognising -the two methods C and C. The following code is equivalent: - - foreach my $pair ( pairs @KVLIST ) { - my $key = $pair->key; - my $value = $pair->value; - ... - } - -=head2 pairkeys - - my @keys = pairkeys @kvlist; - -I - -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 - - @keys = pairmap { $a } @kvlist - -=head2 pairvalues - - my @values = pairvalues @kvlist; - -I - -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 diff --git a/cpan/Scalar-List-Utils/lib/List/Util/XS.pm b/cpan/Scalar-List-Utils/lib/List/Util/XS.pm index f2e01ae..e7f25c0 100644 --- a/cpan/Scalar-List-Utils/lib/List/Util/XS.pm +++ b/cpan/Scalar-List-Utils/lib/List/Util/XS.pm @@ -2,7 +2,7 @@ package List::Util::XS; use strict; use List::Util; -our $VERSION = "1.41"; # FIXUP +our $VERSION = "1.42_01"; # FIXUP $VERSION = eval $VERSION; # FIXUP 1; diff --git a/cpan/Scalar-List-Utils/lib/Scalar/Util.pm b/cpan/Scalar-List-Utils/lib/Scalar/Util.pm index 3f17d13..211c572 100644 --- a/cpan/Scalar-List-Utils/lib/Scalar/Util.pm +++ b/cpan/Scalar-List-Utils/lib/Scalar/Util.pm @@ -8,7 +8,6 @@ package Scalar::Util; use strict; require Exporter; -require List::Util; # List::Util loads the XS our @ISA = qw(Exporter); our @EXPORT_OK = qw( @@ -17,9 +16,12 @@ our @EXPORT_OK = qw( dualvar isdual isvstring looks_like_number openhandle readonly set_prototype tainted ); -our $VERSION = "1.41"; +our $VERSION = "1.42_01"; $VERSION = eval $VERSION; +require List::Util; # List::Util loads the XS +List::Util->VERSION( $VERSION ); # Ensure we got the right XS version (RT#100863) + our @EXPORT_FAIL; unless (defined &weaken) { diff --git a/cpan/Scalar-List-Utils/lib/Sub/Util.pm b/cpan/Scalar-List-Utils/lib/Sub/Util.pm index e40cf22..9829903 100644 --- a/cpan/Scalar-List-Utils/lib/Sub/Util.pm +++ b/cpan/Scalar-List-Utils/lib/Sub/Util.pm @@ -8,7 +8,6 @@ use strict; use warnings; require Exporter; -require List::Util; # as it has the XS our @ISA = qw( Exporter ); our @EXPORT_OK = qw( @@ -16,9 +15,12 @@ our @EXPORT_OK = qw( subname set_subname ); -our $VERSION = "1.41"; +our $VERSION = "1.42_01"; $VERSION = eval $VERSION; +require List::Util; # as it has the XS +List::Util->VERSION( $VERSION ); # Ensure we got the right XS version (RT#100863) + =head1 NAME Sub::Util - A selection of utility subroutines for subs and CODE references diff --git a/cpan/Scalar-List-Utils/t/pair.t b/cpan/Scalar-List-Utils/t/pair.t index fab05dd..81acf06 100644 --- a/cpan/Scalar-List-Utils/t/pair.t +++ b/cpan/Scalar-List-Utils/t/pair.t @@ -3,8 +3,8 @@ use strict; use warnings; -use Test::More tests => 23; -use List::Util qw(pairgrep pairfirst pairmap pairs pairkeys pairvalues); +use Test::More tests => 26; +use List::Util qw(pairgrep pairfirst pairmap pairs unpairs pairkeys pairvalues); no warnings 'misc'; # avoid "Odd number of elements" warnings most of the time @@ -96,6 +96,18 @@ is_deeply( [ pairs one => 1, two => ], is( $p[0]->value, 1, 'pairs ->value' ); } +is_deeply( [ unpairs [ four => 4 ], [ five => 5 ], [ six => 6 ] ], + [ four => 4, five => 5, six => 6 ], + 'unpairs' ); + +is_deeply( [ unpairs [ four => 4 ], [ five => ] ], + [ four => 4, five => undef ], + 'unpairs with short item fills in undef' ); + +is_deeply( [ unpairs [ four => 4 ], [ five => 5, 5 ] ], + [ four => 4, five => 5 ], + 'unpairs with long item truncates' ); + is_deeply( [ pairkeys one => 1, two => 2 ], [qw( one two )], 'pairkeys' ); diff --git a/cpan/Scalar-List-Utils/t/refaddr.t b/cpan/Scalar-List-Utils/t/refaddr.t index c208943..8d7c441 100644 --- a/cpan/Scalar-List-Utils/t/refaddr.t +++ b/cpan/Scalar-List-Utils/t/refaddr.t @@ -21,7 +21,7 @@ my $t; foreach my $r ({}, \$t, [], \*F, sub {}) { my $n = "$r"; $n =~ /0x(\w+)/; - my $addr = do { local $^W; hex $1 }; + my $addr = do { no warnings; hex $1 }; my $before = ref($r); is( refaddr($r), $addr, $n); is( ref($r), $before, $n); diff --git a/cpan/Socket/Socket.pm b/cpan/Socket/Socket.pm index 20657e8..aebb1dc 100644 --- a/cpan/Socket/Socket.pm +++ b/cpan/Socket/Socket.pm @@ -3,7 +3,7 @@ package Socket; use strict; { use 5.006001; } -our $VERSION = '2.018'; +our $VERSION = '2.019'; =head1 NAME diff --git a/cpan/Socket/Socket.xs b/cpan/Socket/Socket.xs index 60f5754..9595652 100644 --- a/cpan/Socket/Socket.xs +++ b/cpan/Socket/Socket.xs @@ -51,6 +51,61 @@ # include #endif +#ifdef WIN32 +int inet_pton(int af, const char *src, void *dst) +{ + struct sockaddr_storage ss; + int size = sizeof(ss); + char src_copy[INET6_ADDRSTRLEN+1]; + + ZeroMemory(&ss, sizeof(ss)); + /* stupid non-const API */ + strncpy(src_copy, src, INET6_ADDRSTRLEN+1); + src_copy[INET6_ADDRSTRLEN] = 0; + + if (WSAStringToAddress(src_copy, af, NULL, (struct sockaddr *)&ss, &size) != 0) + return 0; + + switch(af) { + case AF_INET: + *(struct in_addr *)dst = ((struct sockaddr_in *)&ss)->sin_addr; + return 1; + case AF_INET6: + *(struct in6_addr *)dst = ((struct sockaddr_in6 *)&ss)->sin6_addr; + return 1; + } +} + +const char *inet_ntop(int af, const void *src, char *dst, socklen_t size) +{ + struct sockaddr_storage ss; + unsigned long s = size; + + ZeroMemory(&ss, sizeof(ss)); + ss.ss_family = af; + + switch(af) { + case AF_INET: + ((struct sockaddr_in *)&ss)->sin_addr = *(struct in_addr *)src; + break; + case AF_INET6: + ((struct sockaddr_in6 *)&ss)->sin6_addr = *(struct in6_addr *)src; + break; + default: + return NULL; + } + + /* cannot directly use &size because of strict aliasing rules */ + if (WSAAddressToString((struct sockaddr *)&ss, sizeof(ss), NULL, dst, &s) != 0) + return NULL; + else + return dst; +} + +#define HAS_INETPTON +#define HAS_INETNTOP +#endif + #ifdef NETWARE NETDB_DEFINE_CONTEXT NETINET_DEFINE_CONTEXT diff --git a/cpan/Sys-Syslog/Syslog.pm b/cpan/Sys-Syslog/Syslog.pm index 28f36c7..25164af 100644 --- a/cpan/Sys-Syslog/Syslog.pm +++ b/cpan/Sys-Syslog/Syslog.pm @@ -11,7 +11,7 @@ require 5.005; { no strict 'vars'; - $VERSION = '0.33_01'; + $VERSION = '0.33'; %EXPORT_TAGS = ( standard => [qw(openlog syslog closelog setlogmask)], @@ -888,8 +888,6 @@ sub silent_eval (&) { sub can_load { my ($module, $verbose) = @_; local($SIG{__DIE__}, $SIG{__WARN__}, $@); - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; my $loaded = eval "use $module; 1"; warn $@ if not $loaded and $verbose; return $loaded diff --git a/cpan/Test-Harness/bin/prove b/cpan/Test-Harness/bin/prove index d71b238..6637cc4 100644 --- a/cpan/Test-Harness/bin/prove +++ b/cpan/Test-Harness/bin/prove @@ -1,6 +1,5 @@ #!/usr/bin/perl -w -BEGIN { pop @INC if $INC[-1] eq '.' } use strict; use warnings; use App::Prove; diff --git a/cpan/Test-Harness/lib/App/Prove.pm b/cpan/Test-Harness/lib/App/Prove.pm index f81a4ae..4608978 100644 --- a/cpan/Test-Harness/lib/App/Prove.pm +++ b/cpan/Test-Harness/lib/App/Prove.pm @@ -22,7 +22,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/App/Prove/State.pm b/cpan/Test-Harness/lib/App/Prove/State.pm index 36a231f..0e237d5 100644 --- a/cpan/Test-Harness/lib/App/Prove/State.pm +++ b/cpan/Test-Harness/lib/App/Prove/State.pm @@ -29,7 +29,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/App/Prove/State/Result.pm b/cpan/Test-Harness/lib/App/Prove/State/Result.pm index e165b0f..6725c5a 100644 --- a/cpan/Test-Harness/lib/App/Prove/State/Result.pm +++ b/cpan/Test-Harness/lib/App/Prove/State/Result.pm @@ -18,7 +18,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm b/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm index 8ed13ad..a776f8f 100644 --- a/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm +++ b/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm @@ -13,7 +13,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Base.pm b/cpan/Test-Harness/lib/TAP/Base.pm index e0ba8e0..61c567f 100644 --- a/cpan/Test-Harness/lib/TAP/Base.pm +++ b/cpan/Test-Harness/lib/TAP/Base.pm @@ -16,7 +16,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; use constant GOT_TIME_HIRES => do { eval 'use Time::HiRes qw(time);'; diff --git a/cpan/Test-Harness/lib/TAP/Formatter/Base.pm b/cpan/Test-Harness/lib/TAP/Formatter/Base.pm index f5254cf..a5a78d1 100644 --- a/cpan/Test-Harness/lib/TAP/Formatter/Base.pm +++ b/cpan/Test-Harness/lib/TAP/Formatter/Base.pm @@ -62,7 +62,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Formatter/Color.pm b/cpan/Test-Harness/lib/TAP/Formatter/Color.pm index d4d1116..76937b0 100644 --- a/cpan/Test-Harness/lib/TAP/Formatter/Color.pm +++ b/cpan/Test-Harness/lib/TAP/Formatter/Color.pm @@ -75,7 +75,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Formatter/Console.pm b/cpan/Test-Harness/lib/TAP/Formatter/Console.pm index 3ca4d95..01f1a54 100644 --- a/cpan/Test-Harness/lib/TAP/Formatter/Console.pm +++ b/cpan/Test-Harness/lib/TAP/Formatter/Console.pm @@ -15,7 +15,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm b/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm index 6c67c29..9c4b9cf 100644 --- a/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm +++ b/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm @@ -45,7 +45,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm b/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm index b741d68..672a083 100644 --- a/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm +++ b/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm @@ -30,7 +30,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Formatter/File.pm b/cpan/Test-Harness/lib/TAP/Formatter/File.pm index f7b8af3..8ee90fc 100644 --- a/cpan/Test-Harness/lib/TAP/Formatter/File.pm +++ b/cpan/Test-Harness/lib/TAP/Formatter/File.pm @@ -17,7 +17,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm b/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm index 607029c..2a92d60 100644 --- a/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm +++ b/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm @@ -14,7 +14,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Formatter/Session.pm b/cpan/Test-Harness/lib/TAP/Formatter/Session.pm index f0b94f9..089c1e6 100644 --- a/cpan/Test-Harness/lib/TAP/Formatter/Session.pm +++ b/cpan/Test-Harness/lib/TAP/Formatter/Session.pm @@ -27,7 +27,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 METHODS diff --git a/cpan/Test-Harness/lib/TAP/Harness.pm b/cpan/Test-Harness/lib/TAP/Harness.pm index 53b8e25..d9ede6b 100644 --- a/cpan/Test-Harness/lib/TAP/Harness.pm +++ b/cpan/Test-Harness/lib/TAP/Harness.pm @@ -20,7 +20,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; $ENV{HARNESS_ACTIVE} = 1; $ENV{HARNESS_VERSION} = $VERSION; diff --git a/cpan/Test-Harness/lib/TAP/Harness/Env.pm b/cpan/Test-Harness/lib/TAP/Harness/Env.pm index dd6bc32..c565b13 100644 --- a/cpan/Test-Harness/lib/TAP/Harness/Env.pm +++ b/cpan/Test-Harness/lib/TAP/Harness/Env.pm @@ -7,7 +7,7 @@ use constant IS_VMS => ( $^O eq 'VMS' ); use TAP::Object; use Text::ParseWords qw/shellwords/; -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; # Get the parts of @INC which are changed from the stock list AND # preserve reordering of stock directories. diff --git a/cpan/Test-Harness/lib/TAP/Object.pm b/cpan/Test-Harness/lib/TAP/Object.pm index 948395a..84dfe88 100644 --- a/cpan/Test-Harness/lib/TAP/Object.pm +++ b/cpan/Test-Harness/lib/TAP/Object.pm @@ -13,7 +13,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser.pm b/cpan/Test-Harness/lib/TAP/Parser.pm index 8b64f0f..22222c2 100644 --- a/cpan/Test-Harness/lib/TAP/Parser.pm +++ b/cpan/Test-Harness/lib/TAP/Parser.pm @@ -31,7 +31,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; my $DEFAULT_TAP_VERSION = 12; my $MAX_TAP_VERSION = 13; diff --git a/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm b/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm index 93042be..5745245 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm @@ -16,7 +16,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm b/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm index a978e77..1a0be3c 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm @@ -18,7 +18,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm b/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm index 18a5104..114aba6 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm @@ -15,7 +15,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm b/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm index baa2635..650adbf 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm @@ -15,7 +15,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm b/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm index ef40ba6..923de9a 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm @@ -20,7 +20,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm b/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm index b90770e..bd6a8b7 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm @@ -15,7 +15,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm b/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm index 5681465..d4e29ff 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm @@ -20,7 +20,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm b/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm index ca0504a..d002272 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm @@ -21,7 +21,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result.pm b/cpan/Test-Harness/lib/TAP/Parser/Result.pm index f8a31a3..efbcfe8 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Result.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Result.pm @@ -28,7 +28,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm b/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm index 22cf456..c374986 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm @@ -15,7 +15,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm b/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm index ab9973f..bd0f78a 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm @@ -15,7 +15,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm b/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm index 007d2d5..900874a 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm @@ -15,7 +15,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm b/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm index 053e175..b7b6a43 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm @@ -15,7 +15,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm b/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm index 6581a3f..57219cb 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm @@ -15,7 +15,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm b/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm index c4063fc..8bfeb6c 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm @@ -15,7 +15,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm b/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm index 46205fe..68789b5 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm @@ -15,7 +15,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm b/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm index a4a09e8..0775e4a 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm @@ -15,7 +15,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm b/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm index 53f1eb1..12ecb1c 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm @@ -33,7 +33,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head2 DESCRIPTION diff --git a/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm b/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm index 9bd7fb7..ed3ef51 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm @@ -17,7 +17,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm b/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm index ceb24be..ae0b59b 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm @@ -14,7 +14,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm b/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm index d8b3b54..a739164 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm @@ -14,7 +14,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/Source.pm b/cpan/Test-Harness/lib/TAP/Parser/Source.pm index 31720e6..27f6e53 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/Source.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/Source.pm @@ -18,7 +18,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm index 24a79b5..a2e943b 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm @@ -16,7 +16,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm index 975e2be..3e0bd6e 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm @@ -20,7 +20,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm index 35b94a3..cb117c6 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm @@ -20,7 +20,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm index 00be841..d113845 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm @@ -20,7 +20,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm index f09bf08..4dc3afb 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm @@ -25,7 +25,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm index 5e5abe4..8574e27 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm @@ -20,7 +20,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; =head1 SYNOPSIS diff --git a/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm b/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm index 40292ce..a79f728 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm @@ -5,7 +5,7 @@ use warnings; use base 'TAP::Object'; -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; # TODO: # Handle blessed object syntax diff --git a/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm b/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm index 51d6171..9d68a18 100644 --- a/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm +++ b/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm @@ -5,7 +5,7 @@ use warnings; use base 'TAP::Object'; -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; my $ESCAPE_CHAR = qr{ [ \x00-\x1f \" ] }x; my $ESCAPE_KEY = qr{ (?: ^\W ) | $ESCAPE_CHAR }x; diff --git a/cpan/Test-Harness/lib/Test/Harness.pm b/cpan/Test-Harness/lib/Test/Harness.pm index f3c9a0f..d375919 100644 --- a/cpan/Test-Harness/lib/Test/Harness.pm +++ b/cpan/Test-Harness/lib/Test/Harness.pm @@ -35,7 +35,7 @@ Version 3.35 =cut -our $VERSION = '3.35_01'; +our $VERSION = '3.35'; # Backwards compatibility for exportable variable names. *verbose = *Verbose; diff --git a/cpan/Test/lib/Test.pm b/cpan/Test/lib/Test.pm index 973f8dd..108bc10 100644 --- a/cpan/Test/lib/Test.pm +++ b/cpan/Test/lib/Test.pm @@ -20,7 +20,7 @@ sub _reset_globals { $planned = 0; } -$VERSION = '1.26_01'; +$VERSION = '1.26'; require Exporter; @ISA=('Exporter'); @@ -480,12 +480,7 @@ sub _diff_complain { my($result, $expected, $detail, $prefix) = @_; return _diff_complain_external(@_) if $ENV{PERL_TEST_DIFF}; return _diff_complain_algdiff(@_) - if eval { - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - require Algorithm::Diff; Algorithm::Diff->VERSION(1.15); - 1; - }; + if eval { require Algorithm::Diff; Algorithm::Diff->VERSION(1.15); 1; }; $told_about_diff++ or print $TESTERR <<"EOT"; # $prefix (Install the Algorithm::Diff module to have differences in multiline diff --git a/cpan/Time-Piece/Piece.pm b/cpan/Time-Piece/Piece.pm index aaf63ee..a8b80fc 100644 --- a/cpan/Time-Piece/Piece.pm +++ b/cpan/Time-Piece/Piece.pm @@ -2,13 +2,11 @@ package Time::Piece; use strict; -require Exporter; -require DynaLoader; use Time::Seconds; use Carp; use Time::Local; -our @ISA = qw(Exporter DynaLoader); +use Exporter (); our @EXPORT = qw( localtime @@ -19,9 +17,13 @@ our %EXPORT_TAGS = ( ':override' => 'internal', ); -our $VERSION = '1.29'; +our $VERSION = '1.30'; -bootstrap Time::Piece $VERSION; +require DynaLoader; +{ + local *dl_load_flags = \&DynaLoader::dl_load_flags; + __PACKAGE__->DynaLoader::bootstrap($VERSION); +} my $DATE_SEP = '-'; my $TIME_SEP = ':'; @@ -31,17 +33,19 @@ my @FULLMON_LIST = qw(January February March April May June July my @DAY_LIST = qw(Sun Mon Tue Wed Thu Fri Sat); my @FULLDAY_LIST = qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday); -use constant 'c_sec' => 0; -use constant 'c_min' => 1; -use constant 'c_hour' => 2; -use constant 'c_mday' => 3; -use constant 'c_mon' => 4; -use constant 'c_year' => 5; -use constant 'c_wday' => 6; -use constant 'c_yday' => 7; -use constant 'c_isdst' => 8; -use constant 'c_epoch' => 9; -use constant 'c_islocal' => 10; +use constant { + 'c_sec' => 0, + 'c_min' => 1, + 'c_hour' => 2, + 'c_mday' => 3, + 'c_mon' => 4, + 'c_year' => 5, + 'c_wday' => 6, + 'c_yday' => 7, + 'c_isdst' => 8, + 'c_epoch' => 9, + 'c_islocal' => 10, +}; sub localtime { unshift @_, __PACKAGE__ unless eval { $_[0]->isa('Time::Piece') }; @@ -62,9 +66,9 @@ sub gmtime { sub new { my $class = shift; my ($time) = @_; - + my $self; - + if (defined($time)) { $self = $class->localtime($time); } @@ -74,7 +78,7 @@ sub new { else { $self = $class->localtime(); } - + return bless $self, ref($class) || $class; } @@ -82,6 +86,10 @@ sub parse { my $proto = shift; my $class = ref($proto) || $proto; my @components; + + warnings::warnif("deprecated", + "parse() is deprecated, use strptime() instead."); + if (@_ > 1) { @components = @_; } @@ -89,7 +97,7 @@ sub parse { @components = shift =~ /(\d+)$DATE_SEP(\d+)$DATE_SEP(\d+)(?:(?:T|\s+)(\d+)$TIME_SEP(\d+)(?:$TIME_SEP(\d+)))/; @components = reverse(@components[0..5]); } - return $class->new(_strftime("%s", @components)); + return $class->new(_strftime("%s", timelocal(@components))); } sub _mktime { @@ -98,7 +106,9 @@ sub _mktime { ? ref $class : $class; if (ref($time)) { - $time->[c_epoch] = undef; + my @tm_parts = (@{$time}[c_sec .. c_mon], $time->[c_year]+1900); + $time->[c_epoch] = $islocal ? timelocal(@tm_parts) : timegm(@tm_parts); + return wantarray ? @$time : bless [@$time[0..9], $islocal], $class; } _tzset(); @@ -122,13 +132,13 @@ sub export { no warnings 'redefine'; *{$to . "::$method"} = $_special_exports{$method}->($class); } else { - $class->SUPER::export($to, $method); + $class->Exporter::export($to, $method); } } } sub import { - # replace CORE::GLOBAL localtime and gmtime if required + # replace CORE::GLOBAL localtime and gmtime if passed :override my $class = shift; my %params; map($params{$_}++,@_,@EXPORT); @@ -136,7 +146,7 @@ sub import { $class->export('CORE::GLOBAL', keys %params); } else { - $class->export((caller)[0], keys %params); + $class->export(scalar caller, keys %params); } } @@ -279,7 +289,7 @@ sub isdst { # Thanks to Tony Olekshy for this algorithm sub tzoffset { my $time = shift; - + return Time::Seconds->new(0) unless $time->[c_islocal]; my $epoch = $time->epoch; @@ -447,19 +457,22 @@ sub month_last_day { return $MON_LAST[$_mon] + ($_mon == 1 ? _is_leap_year($year) : 0); } +#since %z and %Z are not portable lets just +#parse it out before calling native strftime +#(but only if we are in UTC time) +my %GMT_REPR = ( + '%z' => '+0000', + '%Z' => 'UTC', +); + sub strftime { my $time = shift; - my $tzname = $time->[c_islocal] ? '%Z' : 'UTC'; - my $format = @_ ? shift(@_) : "%a, %d %b %Y %H:%M:%S $tzname"; - if (!defined $time->[c_wday]) { - if ($time->[c_islocal]) { - return _strftime($format, CORE::localtime($time->epoch)); - } - else { - return _strftime($format, CORE::gmtime($time->epoch)); - } + my $format = @_ ? shift(@_) : '%a, %d %b %Y %H:%M:%S %Z'; + if (! $time->[c_islocal]) { + $format =~ s/(%.)/$GMT_REPR{$1} || $1/eg; } - return _strftime($format, (@$time)[c_sec..c_isdst]); + + return _strftime($format, $time->epoch, $time->[c_islocal]); } sub strptime { @@ -550,7 +563,7 @@ sub subtract { # to override this function. return $rhs - "$time"; } - + if (UNIVERSAL::isa($rhs, 'Time::Piece')) { return Time::Seconds->new($time->epoch - $rhs->epoch); } @@ -592,9 +605,9 @@ sub compare { sub add_months { my ($time, $num_months) = @_; - + croak("add_months requires a number of months") unless defined($num_months); - + my $final_month = $time->_mon + $num_months; my $num_years = 0; if ($final_month > 11 || $final_month < 0) { @@ -607,10 +620,10 @@ sub add_months { $num_years = int($final_month / 12); } $num_years-- if ($final_month < 0); - + $final_month = $final_month % 12; } - + my @vals = _mini_mktime($time->sec, $time->min, $time->hour, $time->mday, $final_month, $time->year - 1900 + $num_years); # warn(sprintf("got %d vals: %d-%d-%d %d:%d:%d [%d]\n", scalar(@vals), reverse(@vals), $time->[c_islocal])); diff --git a/cpan/Time-Piece/Piece.xs b/cpan/Time-Piece/Piece.xs index 0798b34..eafb790 100644 --- a/cpan/Time-Piece/Piece.xs +++ b/cpan/Time-Piece/Piece.xs @@ -67,7 +67,7 @@ my_init_tm(struct tm *ptm) /* see mktime, strftime and asctime */ #else /* use core version from util.c in 5.8.0 and later */ # define my_init_tm init_tm -#endif +#endif #ifdef WIN32 @@ -312,6 +312,7 @@ my_mini_mktime(struct tm *ptm) # define strncasecmp(x,y,n) strnicmp(x,y,n) # endif +/* strptime.c 0.1 (Powerdog) 94/03/27 */ /* strptime copied from freebsd with the following copyright: */ /* * Copyright (c) 1994 Powerdog Industries. All rights reserved. @@ -319,18 +320,14 @@ my_mini_mktime(struct tm *ptm) * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: + * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. + * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer * in the documentation and/or other materials provided with the * distribution. - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgement: - * This product includes software developed by Powerdog Industries. - * 4. The name of Powerdog Industries may not be used to endorse or - * promote products derived from this software without specific prior - * written permission. * * THIS SOFTWARE IS PROVIDED BY POWERDOG INDUSTRIES ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -343,15 +340,11 @@ my_mini_mktime(struct tm *ptm) * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation + * are those of the authors and should not be interpreted as representing + * official policies, either expressed or implied, of Powerdog Industries. */ - -#ifndef lint -#ifndef NOID -static char copyright[] = -"@(#) Copyright (c) 1994 Powerdog Industries. All rights reserved."; -static char sccsid[] = "@(#)strptime.c 0.1 (Powerdog) 94/03/27"; -#endif /* !defined NOID */ -#endif /* not lint */ #include #include @@ -366,7 +359,7 @@ struct lc_time_T { const char * month[12]; const char * wday[7]; const char * weekday[7]; - const char * X_fmt; + const char * X_fmt; const char * x_fmt; const char * c_fmt; const char * am; @@ -685,7 +678,7 @@ label: case 'A': case 'a': - for (i = 0; i < asizeof(Locale->weekday); i++) { + for (i = 0; i < (int)asizeof(Locale->weekday); i++) { if (c == 'A') { len = strlen(Locale->weekday[i]); if (strncasecmp(buf, @@ -700,7 +693,7 @@ label: break; } } - if (i == asizeof(Locale->weekday)) + if (i == (int)asizeof(Locale->weekday)) return 0; tm->tm_wday = i; @@ -779,7 +772,7 @@ label: case 'B': case 'b': case 'h': - for (i = 0; i < asizeof(Locale->month); i++) { + for (i = 0; i < (int)asizeof(Locale->month); i++) { if (Oalternative) { if (c == 'B') { len = strlen(Locale->alt_month[i]); @@ -804,7 +797,7 @@ label: } } } - if (i == asizeof(Locale->month)) + if (i == (int)asizeof(Locale->month)) return 0; tm->tm_mon = i; @@ -896,7 +889,7 @@ label: const char *cp; char *zonestr; - for (cp = buf; *cp && isupper((unsigned char)*cp); ++cp) + for (cp = buf; *cp && isupper((unsigned char)*cp); ++cp) {/*empty*/} if (cp - buf) { zonestr = (char *)malloc(cp - buf + 1); @@ -970,6 +963,7 @@ push_common_tm(pTHX_ SV ** SP, struct tm *mytm) PUSHs(newSViv(mytm->tm_year)); PUSHs(newSViv(mytm->tm_wday)); PUSHs(newSViv(mytm->tm_yday)); + PUSHs(newSViv(mytm->tm_isdst)); return SP; } @@ -986,11 +980,8 @@ return_11part_tm(pTHX_ SV ** SP, struct tm *mytm) my_mini_mktime(mytm); /* warn("tm: %d-%d-%d %d:%d:%d\n", mytm.tm_year, mytm.tm_mon, mytm.tm_mday, mytm.tm_hour, mytm.tm_min, mytm.tm_sec); */ - EXTEND(SP, 11); SP = push_common_tm(aTHX_ SP, mytm); - /* isdst */ - PUSHs(newSViv(0)); /* epoch */ PUSHs(newSViv(0)); /* islocal */ @@ -1013,37 +1004,24 @@ MODULE = Time::Piece PACKAGE = Time::Piece PROTOTYPES: ENABLE void -_strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1) - char * fmt - int sec - int min - int hour - int mday - int mon - int year - int wday - int yday - int isdst +_strftime(fmt, epoch, islocal = 1) + char * fmt + time_t epoch + int islocal CODE: { char tmpbuf[128]; struct tm mytm; int len; - memset(&mytm, 0, sizeof(mytm)); - my_init_tm(&mytm); /* XXX workaround - see my_init_tm() above */ - mytm.tm_sec = sec; - mytm.tm_min = min; - mytm.tm_hour = hour; - mytm.tm_mday = mday; - mytm.tm_mon = mon; - mytm.tm_year = year; - mytm.tm_wday = wday; - mytm.tm_yday = yday; - mytm.tm_isdst = isdst; - my_mini_mktime(&mytm); + + if(islocal == 1) + mytm = *localtime(&epoch); + else + mytm = *gmtime(&epoch); + len = strftime(tmpbuf, sizeof tmpbuf, fmt, &mytm); /* - ** The following is needed to handle to the situation where + ** The following is needed to handle to the situation where ** tmpbuf overflows. Basically we want to allocate a buffer ** and try repeatedly. The reason why it is so complicated ** is that getting a return value of 0 from strftime can indicate @@ -1107,6 +1085,7 @@ _strptime ( string, format ) PPCODE: t = 0; mytm = *gmtime(&t); + mytm.tm_isdst = -1; /* -1 means we don't know */ got_GMT = 0; remainder = (char *)_strptime(aTHX_ string, format, &mytm, &got_GMT); @@ -1149,7 +1128,7 @@ _crt_localtime(time_t sec) if(ix) mytm = *gmtime(&sec); else mytm = *localtime(&sec); /* Need to get: $s,$n,$h,$d,$m,$y */ - + EXTEND(SP, 9); SP = push_common_tm(aTHX_ SP, &mytm); PUSHs(newSViv(mytm.tm_isdst)); diff --git a/cpan/Time-Piece/Seconds.pm b/cpan/Time-Piece/Seconds.pm index 8e5b52b..fb5d441 100644 --- a/cpan/Time-Piece/Seconds.pm +++ b/cpan/Time-Piece/Seconds.pm @@ -1,53 +1,49 @@ package Time::Seconds; use strict; -use vars qw/@EXPORT @EXPORT_OK/; -our $VERSION = '1.29'; +our $VERSION = '1.30'; use Exporter 5.57 'import'; -@EXPORT = qw( - ONE_MINUTE - ONE_HOUR - ONE_DAY - ONE_WEEK +our @EXPORT = qw( + ONE_MINUTE + ONE_HOUR + ONE_DAY + ONE_WEEK ONE_MONTH - ONE_REAL_MONTH ONE_YEAR - ONE_REAL_YEAR ONE_FINANCIAL_MONTH - LEAP_YEAR + LEAP_YEAR NON_LEAP_YEAR ); -@EXPORT_OK = qw(cs_sec cs_mon); - -use constant ONE_MINUTE => 60; -use constant ONE_HOUR => 3_600; -use constant ONE_DAY => 86_400; -use constant ONE_WEEK => 604_800; -use constant ONE_MONTH => 2_629_744; # ONE_YEAR / 12 -use constant ONE_REAL_MONTH => '1M'; -use constant ONE_YEAR => 31_556_930; # 365.24225 days -use constant ONE_REAL_YEAR => '1Y'; -use constant ONE_FINANCIAL_MONTH => 2_592_000; # 30 days -use constant LEAP_YEAR => 31_622_400; # 366 * ONE_DAY -use constant NON_LEAP_YEAR => 31_536_000; # 365 * ONE_DAY - -# hacks to make Time::Piece compile once again -use constant cs_sec => 0; -use constant cs_mon => 1; - -use overload - 'fallback' => 'undef', - '0+' => \&seconds, - '""' => \&seconds, - '<=>' => \&compare, - '+' => \&add, - '-' => \&subtract, - '-=' => \&subtract_from, - '+=' => \&add_to, - '=' => \© +our @EXPORT_OK = qw(cs_sec cs_mon); + +use constant { + ONE_MINUTE => 60, + ONE_HOUR => 3_600, + ONE_DAY => 86_400, + ONE_WEEK => 604_800, + ONE_MONTH => 2_629_744, # ONE_YEAR / 12 + ONE_YEAR => 31_556_930, # 365.24225 days + ONE_FINANCIAL_MONTH => 2_592_000, # 30 days + LEAP_YEAR => 31_622_400, # 366 * ONE_DAY + NON_LEAP_YEAR => 31_536_000, # 365 * ONE_DAY + # hacks to make Time::Piece compile once again + cs_sec => 0, + cs_mon => 1, +}; + +use overload + 'fallback' => 'undef', + '0+' => \&seconds, + '""' => \&seconds, + '<=>' => \&compare, + '+' => \&add, + '-' => \&subtract, + '-=' => \&subtract_from, + '+=' => \&add_to, + '=' => \© sub new { my $class = shift; @@ -229,8 +225,8 @@ The following methods are available: $val->hours; $val->days; $val->weeks; - $val->months; - $val->financial_months; # 30 days + $val->months; + $val->financial_months; # 30 days $val->years; $val->pretty; # gives English representation of the delta diff --git a/cpan/Time-Piece/t/01base.t b/cpan/Time-Piece/t/01base.t index 530cd3d..fb2045e 100644 --- a/cpan/Time-Piece/t/01base.t +++ b/cpan/Time-Piece/t/01base.t @@ -1,4 +1,4 @@ -use Test::More tests => 7; +use Test::More tests => 13; BEGIN { use_ok('Time::Piece'); } @@ -17,3 +17,23 @@ isa_ok($g, 'Time::Piece', 'current gmtime'); my $l = localtime; isa_ok($l, 'Time::Piece', 'current localtime'); + +#without export +$g = Time::Piece::gmtime; +isa_ok($g, 'Time::Piece', 'fully qualified gmtime'); + +$l = Time::Piece::localtime; +isa_ok($l, 'Time::Piece', 'full qualified localtime'); + +#via new +$l = Time::Piece->new(315532800); +isa_ok($l, 'Time::Piece', 'custom localtime via new'); + +#via new again +$l = $l->new(); +isa_ok($l, 'Time::Piece', 'custom localtime via new again'); + +#via clone +my $l_clone = Time::Piece->new($l); +isa_ok($l, 'Time::Piece', 'custom localtime via clone'); +cmp_ok("$l_clone", 'eq', "$l", 'Clones match'); diff --git a/cpan/Time-Piece/t/02core.t b/cpan/Time-Piece/t/02core.t index 18dae7d..2933058 100644 --- a/cpan/Time-Piece/t/02core.t +++ b/cpan/Time-Piece/t/02core.t @@ -1,4 +1,4 @@ -use Test::More tests => 95; +use Test::More tests => 102; my $is_win32 = ($^O =~ /Win32/); my $is_qnx = ($^O eq 'qnx'); @@ -128,7 +128,12 @@ cmp_ok($t->strftime('%W'), 'eq', '09'); # Sun cmp Mon cmp_ok($t->strftime('%y'), '==', 0); # should test with 1999 cmp_ok($t->strftime('%Y'), 'eq', '2000'); -# %Z is locale and implementation dependent +# %Z is locale and implementation dependent (s/// to the rescue) +cmp_ok($t->strftime('%z'), 'eq', '+0000'); +cmp_ok($t->strftime('%%z%z'), 'eq', '%z+0000'); +cmp_ok($t->strftime('%Z'), 'eq', 'UTC'); +cmp_ok($t->strftime('%%Z%Z'), 'eq', '%ZUTC'); + # (there is NO standard for timezone names) cmp_ok($t->date(""), 'eq', '20000229'); cmp_ok($t->ymd("") , 'eq', '20000229'); @@ -213,7 +218,7 @@ cmp_ok(Time::Piece->strptime("2002/06/10 23", '%Y/%m/%d %H')->week, '==', 24); # Test that strptime populates all relevant fields cmp_ok(Time::Piece->strptime("2002/07/10", '%Y/%m/%d')->wday, '==', 4); cmp_ok(Time::Piece->strptime("2002/12/31", '%Y/%m/%d')->yday, '==', 364); -cmp_ok(Time::Piece->strptime("2002/07/10", '%Y/%m/%d')->isdst, '==', 0); +cmp_ok(Time::Piece->strptime("2002/07/10", '%Y/%m/%d')->isdst, '==', -1); cmp_ok(Time::Piece->strptime("2002/07/10", '%Y/%m/%d')->day_of_week, '==', 3); is( @@ -228,5 +233,20 @@ cmp_ok( 951827696 ); +#from Time::Piece::Plus +#test reverse parsing +my $now = localtime(); +my $strp_format = "%Y-%m-%d %H:%M:%S"; + +my $now_str = $now->strftime($strp_format); + +my $now_parsed = $now->strptime($now_str, $strp_format); + +cmp_ok($now_parsed->epoch, '==', $now->epoch); +cmp_ok($now_parsed->strftime($strp_format), 'eq', $now->strftime($strp_format)); +cmp_ok($now_parsed->strftime(), 'eq', $now->strftime()); + + my $s = Time::Seconds->new(-691050); is($s->pretty, 'minus 7 days, 23 hours, 57 minutes, 30 seconds'); + diff --git a/cpan/Time-Piece/t/02core_dst.t b/cpan/Time-Piece/t/02core_dst.t new file mode 100644 index 0000000..2922514 --- /dev/null +++ b/cpan/Time-Piece/t/02core_dst.t @@ -0,0 +1,139 @@ +use Test::More tests => 60; + +my $is_win32 = ($^O =~ /Win32/); +my $is_qnx = ($^O eq 'qnx'); +my $is_vos = ($^O eq 'vos'); + +use Time::Piece; +use Time::Seconds; + +#test using an epoch that can be DST + +my $t = gmtime(1373371631); # 2013-07-09T12:07:11 + +is($t->sec, 11); +is($t->second, 11); +is($t->min, 07); +is($t->minute, 07); +is($t->hour, 12); +is($t->mday, 9); +is($t->day_of_month, 9); +is($t->mon, 7); +is($t->_mon, 6); +is($t->monname, 'Jul'); +is($t->month, 'Jul'); +is($t->fullmonth, 'July'); +is($t->year, 2013); +is($t->_year, 113); +is($t->yy, '13'); + +cmp_ok($t->wday, '==', 3); +cmp_ok($t->_wday, '==', 2); +cmp_ok($t->day_of_week, '==', 2); +cmp_ok($t->wdayname, 'eq', 'Tue'); +cmp_ok($t->day, 'eq', 'Tue'); +cmp_ok($t->fullday, 'eq', 'Tuesday'); +cmp_ok($t->yday, '==', 189); +cmp_ok($t->day_of_year, '==', 189); + +# In GMT there should be no daylight savings ever. +cmp_ok($t->isdst, '==', 0); +cmp_ok($t->epoch, '==', 1373371631); +cmp_ok($t->hms, 'eq', '12:07:11'); +cmp_ok($t->time, 'eq', '12:07:11'); +cmp_ok($t->ymd, 'eq', '2013-07-09'); +cmp_ok($t->date, 'eq', '2013-07-09'); +cmp_ok($t->mdy, 'eq', '07-09-2013'); +cmp_ok($t->dmy, 'eq', '09-07-2013'); +cmp_ok($t->cdate, 'eq', 'Tue Jul 9 12:07:11 2013'); +cmp_ok("$t", 'eq', 'Tue Jul 9 12:07:11 2013'); +cmp_ok($t->datetime, 'eq','2013-07-09T12:07:11'); +cmp_ok($t->daylight_savings, '==', 0); + + +cmp_ok($t->week, '==', 28); + +# strftime tests + +# %a, %A, %b, %B, %c are locale-dependent + +# %C is unportable: sometimes its like asctime(3) or date(1), +# sometimes it's the century (and whether for 2000 the century is +# 20 or 19, is fun, too..as far as I can read SUSv2 it should be 20.) +cmp_ok($t->strftime('%d'), '==', 9); + +SKIP: { + skip "can't strftime %D, %R, %T or %e on Win32", 1 if $is_win32; + cmp_ok($t->strftime('%D'), 'eq', '07/09/13'); # Yech! +} +SKIP:{ + skip "can't strftime %D, %R, %T or %e on Win32", 1 if $is_win32; + skip "can't strftime %e on QNX", 1 if $is_qnx; + cmp_ok($t->strftime('%e'), 'eq', ' 9'); # should test with < 10 +} + +# %h is locale-dependent +cmp_ok($t->strftime('%H'), 'eq', '12'); # should test with < 10 + +cmp_ok($t->strftime('%I'), 'eq', '12'); # should test with < 10 +cmp_ok($t->strftime('%j'), '==', 190 ); # why ->yday+1 ? +cmp_ok($t->strftime('%M'), 'eq', '07'); # should test with < 10 + +# %p, %P, and %r are not widely implemented, +# and are possibly unportable (am or AM or a.m., and so on) + +SKIP: { + skip "can't strftime %R on Win32 or QNX", 1 if $is_win32 or $is_qnx; + cmp_ok($t->strftime('%R'), 'eq', '12:07'); # should test with > 12 +} + +ok($t->strftime('%S') eq '11'); # should test with < 10 + +SKIP: { + skip "can't strftime %T on Win32", 1 if $is_win32; + cmp_ok($t->strftime('%T'), 'eq', '12:07:11'); # < 12 and > 12 +} + +# There are bugs in the implementation of %u in many platforms. +# (e.g. Linux seems to think, despite the man page, that %u +# 1-based on Sunday...) + +cmp_ok($t->strftime('%U'), 'eq', '27'); # Sun cmp Mon + +SKIP: { + skip "can't strftime %V on Win32 or QNX or VOS", 1 if $is_win32 or $is_qnx or $is_vos; + # is this test really broken on Mac OS? -- rjbs, 2006-02-08 + cmp_ok($t->strftime('%V'), 'eq', '28'); # Sun cmp Mon +} + +cmp_ok($t->strftime('%w'), '==', 2); +cmp_ok($t->strftime('%W'), 'eq', '27'); # Sun cmp Mon + +# %x is locale and implementation dependent. + +cmp_ok($t->strftime('%y'), '==', 13); # should test with 1999 +cmp_ok($t->strftime('%Y'), 'eq', '2013'); + +ok(not $t->is_leap_year); # should test more with different dates + +cmp_ok($t->month_last_day, '==', 31); # test more + + +{ + local $ENV{TZ} = "EST5EDT4"; + Time::Piece::_tzset(); + my $lt = localtime(1373371631); #2013-07-09T12:07:11 + cmp_ok(scalar($lt->tzoffset), 'eq', '-14400'); + cmp_ok($lt->strftime("%Y-%m-%d %H:%M:%S %Z"), 'eq', '2013-07-09 08:07:11 EDT'); + like ($lt->strftime("%z"), qr/-0400|EDT/); #windows: %Z and %z are the same + + $lt = localtime(1357733231); #2013-01-09T12:07:11 + cmp_ok(scalar($lt->tzoffset), 'eq', '-18000'); + cmp_ok($lt->strftime("%Y-%m-%d %H:%M:%S %Z"), 'eq', '2013-01-09 07:07:11 EST'); + like ($lt->strftime("%z"), qr/-0500|EST/); +} + + + + + diff --git a/cpan/Time-Piece/t/06subclass.t b/cpan/Time-Piece/t/06subclass.t index dce097a..d6e4315 100644 --- a/cpan/Time-Piece/t/06subclass.t +++ b/cpan/Time-Piece/t/06subclass.t @@ -7,6 +7,9 @@ use warnings; use Test::More 'no_plan'; +use lib "t/lib"; +use Time::Piece::Twin; + BEGIN { use_ok('Time::Piece'); } my $class = 'Time::Piece::Twin'; @@ -39,12 +42,7 @@ for my $method (qw(new localtime gmtime)) { isnt(ref $piece, 'Time::Piece::Twin', "it's not a Twin"); } -## below is our doppelgaenger package -{ - package Time::Piece::Twin; - use base qw(Time::Piece); - # this package is identical, but will be ->isa('Time::Piece::Twin'); -} + { my $class = "Time::Piece::NumString"; diff --git a/cpan/Time-Piece/t/lib/Time/Piece/Twin.pm b/cpan/Time-Piece/t/lib/Time/Piece/Twin.pm new file mode 100644 index 0000000..9798f83 --- /dev/null +++ b/cpan/Time-Piece/t/lib/Time/Piece/Twin.pm @@ -0,0 +1,4 @@ +# this package is identical, but will be ->isa('Time::Piece::Twin'); +package Time::Piece::Twin; +use base qw(Time::Piece); +our $VERSION = "0.01"; diff --git a/cpan/Win32/Win32.pm b/cpan/Win32/Win32.pm index 7b9ab45..4cc880b 100644 --- a/cpan/Win32/Win32.pm +++ b/cpan/Win32/Win32.pm @@ -8,7 +8,7 @@ package Win32; require DynaLoader; @ISA = qw|Exporter DynaLoader|; - $VERSION = '0.52'; + $VERSION = '0.51'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; @@ -215,7 +215,7 @@ sub PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT () { 0x01E } # Windows Essential Bu sub PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY () { 0x01F } # Windows Essential Business Server Security Server sub PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING () { 0x020 } # Windows Essential Business Server Messaging Server sub PRODUCT_SERVER_FOUNDATION () { 0x021 } # Server Foundation -#define PRODUCT_HOME_PREMIUM_SERVER 0x00000022 + sub PRODUCT_SERVER_FOR_SMALLBUSINESS_V () { 0x023 } # Windows Server 2008 without Hyper-V for Windows Essential Server Solutions sub PRODUCT_STANDARD_SERVER_V () { 0x024 } # Server Standard without Hyper-V (full installation) sub PRODUCT_DATACENTER_SERVER_V () { 0x025 } # Server Datacenter without Hyper-V (full installation) @@ -224,84 +224,17 @@ sub PRODUCT_DATACENTER_SERVER_CORE_V () { 0x027 } # Server Datacenter wi sub PRODUCT_STANDARD_SERVER_CORE_V () { 0x028 } # Server Standard without Hyper-V (core installation) sub PRODUCT_ENTERPRISE_SERVER_CORE_V () { 0x029 } # Server Enterprise without Hyper-V (core installation) sub PRODUCT_HYPERV () { 0x02A } # Microsoft Hyper-V Server -#define PRODUCT_STORAGE_EXPRESS_SERVER_CORE 0x0000002B -#define PRODUCT_STORAGE_STANDARD_SERVER_CORE 0x0000002C -#define PRODUCT_STORAGE_WORKGROUP_SERVER_CORE 0x0000002D -#define PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE 0x0000002E + sub PRODUCT_STARTER_N () { 0x02F } # Starter N sub PRODUCT_PROFESSIONAL () { 0x030 } # Professional sub PRODUCT_PROFESSIONAL_N () { 0x031 } # Professional N -#define PRODUCT_SB_SOLUTION_SERVER 0x00000032 -#define PRODUCT_SERVER_FOR_SB_SOLUTIONS 0x00000033 -#define PRODUCT_STANDARD_SERVER_SOLUTIONS 0x00000034 -#define PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE 0x00000035 -#define PRODUCT_SB_SOLUTION_SERVER_EM 0x00000036 -#define PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM 0x00000037 -#define PRODUCT_SOLUTION_EMBEDDEDSERVER 0x00000038 -#define PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE 0x00000039 -#define PRODUCT_PROFESSIONAL_EMBEDDED 0x0000003A -#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT 0x0000003B -#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL 0x0000003C -#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC 0x0000003D -#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC 0x0000003E -#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE 0x0000003F -#define PRODUCT_CLUSTER_SERVER_V 0x00000040 -#define PRODUCT_EMBEDDED 0x00000041 + sub PRODUCT_STARTER_E () { 0x042 } # Starter E sub PRODUCT_HOME_BASIC_E () { 0x043 } # Home Basic E sub PRODUCT_HOME_PREMIUM_E () { 0x044 } # Home Premium E sub PRODUCT_PROFESSIONAL_E () { 0x045 } # Professional E sub PRODUCT_ENTERPRISE_E () { 0x046 } # Enterprise E sub PRODUCT_ULTIMATE_E () { 0x047 } # Ultimate E -#define PRODUCT_ENTERPRISE_EVALUATION 0x00000048 -#define PRODUCT_MULTIPOINT_STANDARD_SERVER 0x0000004C -#define PRODUCT_MULTIPOINT_PREMIUM_SERVER 0x0000004D -#define PRODUCT_STANDARD_EVALUATION_SERVER 0x0000004F -#define PRODUCT_DATACENTER_EVALUATION_SERVER 0x00000050 -#define PRODUCT_ENTERPRISE_N_EVALUATION 0x00000054 -#define PRODUCT_EMBEDDED_AUTOMOTIVE 0x00000055 -#define PRODUCT_EMBEDDED_INDUSTRY_A 0x00000056 -#define PRODUCT_THINPC 0x00000057 -#define PRODUCT_EMBEDDED_A 0x00000058 -#define PRODUCT_EMBEDDED_INDUSTRY 0x00000059 -#define PRODUCT_EMBEDDED_E 0x0000005A -#define PRODUCT_EMBEDDED_INDUSTRY_E 0x0000005B -#define PRODUCT_EMBEDDED_INDUSTRY_A_E 0x0000005C -#define PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER 0x0000005F -#define PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER 0x00000060 -#define PRODUCT_CORE_ARM 0x00000061 -sub PRODUCT_CORE_N () { 0x62 } # Windows 10 Home N -sub PRODUCT_CORE_COUNTRYSPECIFIC () { 0x63 } # Windows 10 Home China -sub PRODUCT_CORE_SINGLELANGUAGE () { 0x64 } # Windows 10 Home Single Language -sub PRODUCT_CORE () { 0x65 } # Windows 10 Home -#define PRODUCT_PROFESSIONAL_WMC 0x00000067 -#define PRODUCT_MOBILE_CORE 0x00000068 -#define PRODUCT_EMBEDDED_INDUSTRY_EVAL 0x00000069 -#define PRODUCT_EMBEDDED_INDUSTRY_E_EVAL 0x0000006A -#define PRODUCT_EMBEDDED_EVAL 0x0000006B -#define PRODUCT_EMBEDDED_E_EVAL 0x0000006C -#define PRODUCT_NANO_SERVER 0x0000006D -#define PRODUCT_CLOUD_STORAGE_SERVER 0x0000006E -#define PRODUCT_CORE_CONNECTED 0x0000006F -#define PRODUCT_PROFESSIONAL_STUDENT 0x00000070 -#define PRODUCT_CORE_CONNECTED_N 0x00000071 -#define PRODUCT_PROFESSIONAL_STUDENT_N 0x00000072 -#define PRODUCT_CORE_CONNECTED_SINGLELANGUAGE 0x00000073 -#define PRODUCT_CORE_CONNECTED_COUNTRYSPECIFIC 0x00000074 -#define PRODUCT_CONNECTED_CAR 0x00000075 -#define PRODUCT_INDUSTRY_HANDHELD 0x00000076 -#define PRODUCT_PPI_PRO 0x00000077 -#define PRODUCT_ARM64_SERVER 0x00000078 -sub PRODUCT_EDUCATION () { 0x79 } # Windows 10 Education -sub PRODUCT_EDUCATION_N () { 0x7A } # Windows 10 Education N -#define PRODUCT_IOTUAP 0x0000007B -#define PRODUCT_CLOUD_HOST_INFRASTRUCTURE_SERVER 0x0000007C -#define PRODUCT_ENTERPRISE_S 0x0000007D -#define PRODUCT_ENTERPRISE_S_N 0x0000007E -#define PRODUCT_PROFESSIONAL_S 0x0000007F -#define PRODUCT_PROFESSIONAL_S_N 0x00000080 -#define PRODUCT_ENTERPRISE_S_EVALUATION 0x00000081 -#define PRODUCT_ENTERPRISE_S_N_EVALUATION 0x00000082 sub PRODUCT_UNLICENSED () { 0xABCDABCD } # product has not been activated and is no longer in the grace period @@ -544,13 +477,8 @@ sub _GetOSName { $desc = "R2"; } } - } - elsif ($major == 10) { - $os = '10'; - } - if ($major >= 6) { - if ($productinfo == PRODUCT_ULTIMATE) { + if ($productinfo == PRODUCT_ULTIMATE) { $desc .= " Ultimate"; } elsif ($productinfo == PRODUCT_HOME_PREMIUM) { @@ -612,7 +540,7 @@ sub _GetOSName { elsif ($arch == PROCESSOR_ARCHITECTURE_AMD64) { $desc .= " (64-bit)"; } - } + } } unless (defined $os) { diff --git a/cpan/Win32/t/GetOSName.t b/cpan/Win32/t/GetOSName.t index fd9e5ec..098a169 100644 --- a/cpan/Win32/t/GetOSName.t +++ b/cpan/Win32/t/GetOSName.t @@ -104,11 +104,6 @@ my @dual_tests = ( ["2012", "2012", 2, 6, 2, 0x00, 2, 89 ], ["[Small Business Server] 2008 R2", "2008", 2, 6, 1, 0x09, 2, 89 ], -["8.1", "8.1", 2, 6, 3 ], -["2012 [R2]", "2012", 2, 6, 3, 0x00, 2, 89 ], - -["10", "10", 2, 10, 0 ], - ); my @ia64_tests = ( diff --git a/cpan/autodie/lib/Fatal.pm b/cpan/autodie/lib/Fatal.pm index 8fe7899..21064ee 100644 --- a/cpan/autodie/lib/Fatal.pm +++ b/cpan/autodie/lib/Fatal.pm @@ -10,7 +10,12 @@ use Tie::RefHash; # To cache subroutine refs use Config; use Scalar::Util qw(set_prototype); -use autodie::ScopeUtil qw(on_end_of_compile_scope); +use autodie::Util qw( + fill_protos + install_subs + make_core_trampoline + on_end_of_compile_scope +); use constant PERL510 => ( $] >= 5.010 ); @@ -50,7 +55,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; -our $VERSION = '2.26'; # VERSION: Generated by DZP::OurPkg::Version +our $VERSION = '2.27'; # VERSION: Generated by DZP::OurPkg::Version our $Debug ||= 0; @@ -157,6 +162,7 @@ my %TAGS = ( ':2.24' => [qw(:v225)], ':2.25' => [qw(:v225)], ':2.26' => [qw(:default)], + ':2.27' => [qw(:default)], ); @@ -293,6 +299,8 @@ my %reusable_builtins; CORE::shmctl CORE::shmget CORE::shmread + CORE::exec + CORE::system )} = (); # Cached_fatalised_sub caches the various versions of our @@ -359,6 +367,41 @@ sub import { $lexical = 1; shift @_; + # It is currently an implementation detail that autodie is + # implemented as "use Fatal qw(:lexical ...)". For backwards + # compatibility, we allow it - but not without a warning. + # NB: Optimise for autodie as it is quite possibly the most + # freq. consumer of this case. + if ($class ne 'autodie' and not $class->isa('autodie')) { + if ($class eq 'Fatal') { + warnings::warnif( + 'deprecated', + '[deprecated] The "use Fatal qw(:lexical ...)" ' + . 'should be replaced by "use autodie qw(...)". ' + . 'Seen' # warnif appends " at <...>" + ); + } else { + warnings::warnif( + 'deprecated', + "[deprecated] The class/Package $class is a " + . 'subclass of Fatal and used the :lexical. ' + . 'If $class provides lexical error checking ' + . 'it should extend autodie instead of using :lexical. ' + . 'Seen' # warnif appends " at <...>" + ); + } + # "Promote" the call to autodie from here on. This is + # already mostly the case (e.g. use Fatal qw(:lexical ...) + # would throw autodie::exceptions on error rather than the + # Fatal errors. + $class = 'autodie'; + # This requires that autodie is in fact loaded; otherwise + # the "$class->X()" method calls below will explode. + require autodie; + # TODO, when autodie and Fatal are cleanly separated, we + # should go a "goto &autodie::import" here instead. + } + # If we see no arguments and :lexical, we assume they # wanted ':default'. @@ -460,7 +503,7 @@ sub import { } } - $class->_install_subs($pkg, \%install_subs); + install_subs($pkg, \%install_subs); if ($lexical) { @@ -477,7 +520,7 @@ sub import { # scope. on_end_of_compile_scope(sub { - $class->_install_subs($pkg, \%unload_later); + install_subs($pkg, \%unload_later); }); # To allow others to determine when autodie was in scope, @@ -496,63 +539,6 @@ sub import { } -# The code here is originally lifted from namespace::clean, -# by Robert "phaylon" Sedlacek. -# -# It's been redesigned after feedback from ikegami on perlmonks. -# See http://perlmonks.org/?node_id=693338 . Ikegami rocks. -# -# Given a package, and hash of (subname => subref) pairs, -# we install the given subroutines into the package. If -# a subref is undef, the subroutine is removed. Otherwise -# it replaces any existing subs which were already there. - -sub _install_subs { - my ($class, $pkg, $subs_to_reinstate) = @_; - - my $pkg_sym = "${pkg}::"; - - # It does not hurt to do this in a predictable order, and might help debugging. - foreach my $sub_name (sort keys %$subs_to_reinstate) { - - # 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 - - my $sub_ref= $subs_to_reinstate->{$sub_name}; - - my $full_path = $pkg_sym.$sub_name; - my $oldglob = *$full_path; - - # Nuke the old glob. - 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 - # have a bug which causes copying formats to end up in - # the scalar slot. Thanks to Ben Morrow for spotting this. - - foreach my $slot (qw( SCALAR ARRAY HASH IO ) ) { - next unless defined *$oldglob{$slot}; - *alias = *$oldglob{$slot}; - } - - if ($sub_ref) { - *$full_path = $sub_ref; - } - } - - return; -} - sub unimport { my $class = shift; @@ -597,9 +583,9 @@ sub unimport { } - $class->_install_subs($pkg, \%uninstall_subs); + install_subs($pkg, \%uninstall_subs); on_end_of_compile_scope(sub { - $class->_install_subs($pkg, \%reinstall_subs); + install_subs($pkg, \%reinstall_subs); }); return; @@ -755,32 +741,6 @@ sub _translate_import_args { } -# This code is from the original Fatal. It scares me. -# It is 100% compatible with the 5.10.0 Fatal module, right down -# to the scary 'XXXX' comment. ;) - -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; - push(@out, $1 . "{\$_[$n]}"), next if $proto =~ s/^\s*\\([\@%\$\&])//; - push(@out, "\$_[$n]"), next if $proto =~ s/^\s*([_*\$&])//; - push(@out, "\@_[$n..\$#_]"), last if $proto =~ s/^\s*(;\s*)?\@//; - $seen_semi = 1, $n--, next if $proto =~ s/^\s*;//; # XXXX ???? - die "Internal error: Unknown prototype letters: \"$proto\""; - } - push(@out1,[$n+1,@out]); - return @out1; -} - # This is a backwards compatible version of _write_invocation. It's # recommended you don't use it. @@ -1620,7 +1580,7 @@ sub _make_leak_guard { # As $orig_sub is "closed over", updating its value will # be "remembered" for the next call. - $orig_sub = _make_core_trampoline($call, $pkg, $proto); + $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 @@ -1643,51 +1603,6 @@ sub _make_leak_guard { 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 = ''; diff --git a/cpan/autodie/lib/autodie.pm b/cpan/autodie/lib/autodie.pm index 15d7134..b6db3af 100644 --- a/cpan/autodie/lib/autodie.pm +++ b/cpan/autodie/lib/autodie.pm @@ -9,7 +9,7 @@ our $VERSION; # ABSTRACT: Replace functions with ones that succeed or die with lexical scope BEGIN { - our $VERSION = '2.26'; # VERSION: Generated by DZP::OurPkg::Version + our $VERSION = '2.27'; # VERSION: Generated by DZP::OurPkg::Version } use constant ERROR_WRONG_FATAL => q{ diff --git a/cpan/autodie/lib/autodie/Scope/Guard.pm b/cpan/autodie/lib/autodie/Scope/Guard.pm index db38e36..6624c92 100644 --- a/cpan/autodie/lib/autodie/Scope/Guard.pm +++ b/cpan/autodie/lib/autodie/Scope/Guard.pm @@ -4,7 +4,7 @@ use strict; use warnings; # ABSTRACT: Wrapper class for calling subs at end of scope -our $VERSION = '2.26'; # VERSION +our $VERSION = '2.27'; # VERSION # This code schedules the cleanup of subroutines at the end of # scope. It's directly inspired by chocolateboy's excellent diff --git a/cpan/autodie/lib/autodie/Scope/GuardStack.pm b/cpan/autodie/lib/autodie/Scope/GuardStack.pm index 75300ff..d841fba 100644 --- a/cpan/autodie/lib/autodie/Scope/GuardStack.pm +++ b/cpan/autodie/lib/autodie/Scope/GuardStack.pm @@ -6,7 +6,7 @@ use warnings; use autodie::Scope::Guard; # ABSTRACT: Hook stack for managing scopes via %^H -our $VERSION = '2.26'; # VERSION +our $VERSION = '2.27'; # VERSION my $H_KEY_STEM = __PACKAGE__ . '/guard'; my $COUNTER = 0; diff --git a/cpan/autodie/lib/autodie/ScopeUtil.pm b/cpan/autodie/lib/autodie/ScopeUtil.pm deleted file mode 100644 index 2029209..0000000 --- a/cpan/autodie/lib/autodie/ScopeUtil.pm +++ /dev/null @@ -1,80 +0,0 @@ -package autodie::ScopeUtil; - -use strict; -use warnings; - -# Docs say that perl 5.8.3 has Exporter 5.57 and autodie requires -# 5.8.4, so this should "just work". -use Exporter 5.57 qw(import); - -use autodie::Scope::GuardStack; - -our @EXPORT_OK = qw(on_end_of_compile_scope); - -# ABSTRACT: Utilities for managing %^H scopes -our $VERSION = '2.26'; # VERSION - -# docs says we should pick __PACKAGE__ / -my $H_STACK_KEY = __PACKAGE__ . '/stack'; - -sub on_end_of_compile_scope { - my ($hook) = @_; - - # Dark magic to have autodie work under 5.8 - # Copied from namespace::clean, that copied it from - # autobox, that found it on an ancient scroll written - # in blood. - - # This magic bit causes %^H to be lexically scoped. - $^H |= 0x020000; - - my $stack = $^H{$H_STACK_KEY}; - if (not defined($stack)) { - $stack = autodie::Scope::GuardStack->new; - $^H{$H_STACK_KEY} = $stack; - } - - $stack->push_hook($hook); - return; -} - -1; - -=head1 NAME - -autodie::ScopeUtil - Utilities for managing %^H scopes - -=head1 SYNOPSIS - - use autodie::ScopeUtil qw(on_end_of_compile_scope); - on_end_of_compile_scope(sub { print "Hallo world\n"; }); - -=head1 DESCRIPTION - -Utilities for abstracting away the underlying magic of (ab)using -C<%^H> to call subs at the end of a (compile-time) scopes. - -Due to how C<%^H> works, these utilities are only useful during the -compilation phase of a perl module and relies on the internals of how -perl handles references in C<%^H>. This module is not a part of -autodie's public API. - -=head2 Methods - -=head3 on_end_of_compile_scope - - on_end_of_compile_scope(sub { print "Hallo world\n"; }); - -Will invoke a sub at the end of a (compile-time) scope. The sub is -called once with no arguments. Can be called multiple times (even in -the same "compile-time" scope) to install multiple subs. Subs are -called in a "first-in-last-out"-order (FILO or "stack"-order). - -=head1 AUTHOR - -Copyright 2013, Niels Thykier Eniels@thykier.netE - -=head1 LICENSE - -This module is free software. You may distribute it under the -same terms as Perl itself. diff --git a/cpan/autodie/lib/autodie/Util.pm b/cpan/autodie/lib/autodie/Util.pm new file mode 100644 index 0000000..f2a8886 --- /dev/null +++ b/cpan/autodie/lib/autodie/Util.pm @@ -0,0 +1,250 @@ +package autodie::Util; + +use strict; +use warnings; + +use Exporter 5.57 qw(import); + +use autodie::Scope::GuardStack; + +our @EXPORT_OK = qw( + fill_protos + install_subs + make_core_trampoline + on_end_of_compile_scope +); + +our $VERSION = '2.27'; # VERSION: Generated by DZP::OurPkg:Version + +# ABSTRACT: Internal Utility subroutines for autodie and Fatal + +# docs says we should pick __PACKAGE__ / +my $H_STACK_KEY = __PACKAGE__ . '/stack'; + +sub on_end_of_compile_scope { + my ($hook) = @_; + + # Dark magic to have autodie work under 5.8 + # Copied from namespace::clean, that copied it from + # autobox, that found it on an ancient scroll written + # in blood. + + # This magic bit causes %^H to be lexically scoped. + $^H |= 0x020000; + + my $stack = $^H{$H_STACK_KEY}; + if (not defined($stack)) { + $stack = autodie::Scope::GuardStack->new; + $^H{$H_STACK_KEY} = $stack; + } + + $stack->push_hook($hook); + return; +} + +# This code is based on code from the original Fatal. The "XXXX" +# remark is from the original code and its meaning is (sadly) unknown. +sub fill_protos { + my ($proto) = @_; + my ($n, $isref, @out, @out1, $seen_semi) = -1; + if ($proto =~ m{^\s* (?: [;] \s*)? \@}x) { + # prototype is entirely slurply - special case that does not + # require any handling. + return ([0, '@_']); + } + + while ($proto =~ /\S/) { + $n++; + push(@out1,[$n,@out]) if $seen_semi; + push(@out, $1 . "{\$_[$n]}"), next if $proto =~ s/^\s*\\([\@%\$\&])//; + push(@out, "\$_[$n]"), next if $proto =~ s/^\s*([_*\$&])//; + push(@out, "\@_[$n..\$#_]"), last if $proto =~ s/^\s*(;\s*)?\@//; + $seen_semi = 1, $n--, next if $proto =~ s/^\s*;//; # XXXX ???? + die "Internal error: Unknown prototype letters: \"$proto\""; + } + push(@out1,[$n+1,@out]); + return @out1; +} + + +sub make_core_trampoline { + my ($call, $pkg, $proto_str) = @_; + my $trampoline_code = 'sub {'; + my $trampoline_sub; + my @protos = fill_protos($proto_str); + + 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< require Carp; 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; +} + +# The code here is originally lifted from namespace::clean, +# by Robert "phaylon" Sedlacek. +# +# It's been redesigned after feedback from ikegami on perlmonks. +# See http://perlmonks.org/?node_id=693338 . Ikegami rocks. +# +# Given a package, and hash of (subname => subref) pairs, +# we install the given subroutines into the package. If +# a subref is undef, the subroutine is removed. Otherwise +# it replaces any existing subs which were already there. + +sub install_subs { + my ($target_pkg, $subs_to_reinstate) = @_; + + my $pkg_sym = "${target_pkg}::"; + + # It does not hurt to do this in a predictable order, and might help debugging. + foreach my $sub_name (sort keys(%{$subs_to_reinstate})) { + + # 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 + + my $sub_ref = $subs_to_reinstate->{$sub_name}; + + my $full_path = ${pkg_sym}.${sub_name}; + my $oldglob = *$full_path; + + # Nuke the old glob. + 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 + # have a bug which causes copying formats to end up in + # the scalar slot. Thanks to Ben Morrow for spotting this. + + foreach my $slot (qw( SCALAR ARRAY HASH IO ) ) { + next unless defined(*$oldglob{$slot}); + *alias = *$oldglob{$slot}; + } + + if ($sub_ref) { + *$full_path = $sub_ref; + } + } + + return; +} + +1; + +__END__ + +=head1 NAME + +autodie::Util - Internal Utility subroutines for autodie and Fatal + +=head1 SYNOPSIS + + # INTERNAL API for autodie and Fatal only! + + use autodie::Util qw(on_end_of_compile_scope); + on_end_of_compile_scope(sub { print "Hallo world\n"; }); + +=head1 DESCRIPTION + +Interal Utilities for autodie and Fatal! This module is not a part of +autodie's public API. + +This module contains utility subroutines for abstracting away the +underlying magic of autodie and (ab)uses of C<%^H> to call subs at the +end of a (compile-time) scopes. + +Note that due to how C<%^H> works, some of these utilities are only +useful during the compilation phase of a perl module and relies on the +internals of how perl handles references in C<%^H>. + +=head2 Methods + +=head3 on_end_of_compile_scope + + on_end_of_compile_scope(sub { print "Hallo world\n"; }); + +Will invoke a sub at the end of a (compile-time) scope. The sub is +called once with no arguments. Can be called multiple times (even in +the same "compile-time" scope) to install multiple subs. Subs are +called in a "first-in-last-out"-order (FILO or "stack"-order). + +=head3 fill_protos + + fill_protos('*$$;$@') + +Given a Perl subroutine prototype, return a list of invocation +specifications. Each specification is a listref, where the first +member is the (minimum) number of arguments for this invocation +specification. The remaining arguments are a string representation of +how to pass the arguments correctly to a sub with the given prototype, +when called with the given number of arguments. + +The specifications are returned in increasing order of arguments +starting at 0 (e.g. ';$') or 1 (e.g. '$@'). Note that if the +prototype is "slurpy" (e.g. ends with a "@"), the number of arguments +for the last specification is a "minimum" number rather than an exact +number. This can be detected by the last member of the last +specification matching m/[@#]_/. + +=head3 make_core_trampoline + + make_core_trampoline('CORE::open', 'main', prototype('CORE::open')) + +Creates 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 reliably use `goto &` on core builtins, we wouldn't need +this subroutine. + +=head3 install_subs + + install_subs('My::Module', { 'read' => sub { die("Hallo\n"), ... }}) + +Given a package name and a hashref mapping names to a subroutine +reference (or C), this subroutine will install said subroutines +on their given name in that module. If a name mapes to C, any +subroutine with that name in the target module will be remove +(possibly "unshadowing" a CORE sub of same name). + +=head1 AUTHOR + +Copyright 2013-2014, Niels Thykier Eniels@thykier.netE + +=head1 LICENSE + +This module is free software. You may distribute it under the +same terms as Perl itself. diff --git a/cpan/autodie/lib/autodie/exception.pm b/cpan/autodie/lib/autodie/exception.pm index 15d0914..93806fa 100644 --- a/cpan/autodie/lib/autodie/exception.pm +++ b/cpan/autodie/lib/autodie/exception.pm @@ -4,7 +4,7 @@ use strict; use warnings; use Carp qw(croak); -our $VERSION = '2.26'; # VERSION: Generated by DZP::OurPkg:Version +our $VERSION = '2.27'; # VERSION: Generated by DZP::OurPkg:Version # ABSTRACT: Exceptions from autodying functions. our $DEBUG = 0; @@ -292,8 +292,50 @@ my %formatter_of = ( 'CORE::read' => \&_format_readwrite, 'CORE::sysread' => \&_format_readwrite, 'CORE::syswrite' => \&_format_readwrite, + 'CORE::chmod' => \&_format_chmod, + 'CORE::mkdir' => \&_format_mkdir, ); +sub _beautify_arguments { + shift @_; + + # Walk through all our arguments, and... + # + # * Replace undef with the word 'undef' + # * Replace globs with the string '$fh' + # * Quote all other args. + foreach my $arg (@_) { + if (not defined($arg)) { $arg = 'undef' } + elsif (ref($arg) eq "GLOB") { $arg = '$fh' } + else { $arg = qq{'$arg'} } + } + + return @_; +} + +sub _trim_package_name { + # Info: The following is done since 05/2008 (which is before v1.10) + + # TODO: This is probably a good idea for CORE, is it + # a good idea for other subs? + + # Trim package name off dying sub for error messages + (my $name = $_[1]) =~ s/.*:://; + return $name; +} + +# Returns the parameter formatted as octal number +sub _octalize_number { + my $number = $_[1]; + + # Only reformat if it looks like a whole number + if ($number =~ /^\d+$/) { + $number = sprintf("%#04lo", $number); + } + + return $number; +} + # TODO: Our tests only check LOCK_EX | LOCK_NB is properly # formatted. Try other combinations and ensure they work # correctly. @@ -348,6 +390,40 @@ sub _format_flock { } +# Default formatter for CORE::chmod +sub _format_chmod { + my ($this) = @_; + my @args = @{$this->args}; + + my $mode = shift @args; + local $! = $this->errno; + + $mode = $this->_octalize_number($mode); + + @args = $this->_beautify_arguments(@args); + + return "Can't chmod($mode, ". join(q{, }, @args) ."): $!"; +} + +# Default formatter for CORE::mkdir +sub _format_mkdir { + my ($this) = @_; + my @args = @{$this->args}; + + # If no mask is specified use default formatter + if (@args < 2) { + return $this->format_default; + } + + my $file = $args[0]; + my $mask = $args[1]; + local $! = $this->errno; + + $mask = $this->_octalize_number($mask); + + return "Can't mkdir('$file', $mask): '$!'"; +} + # Default formatter for CORE::dbmopen sub _format_dbmopen { my ($this) = @_; @@ -362,13 +438,7 @@ sub _format_dbmopen { my $mode = $args[-1]; my $file = $args[-2]; - # If we have a mask, then display it in octal, not decimal. - # We don't do this if it already looks octalish, or doesn't - # look like a number. - - if ($mode =~ /^[^\D0]\d+$/) { - $mode = sprintf("0%lo", $mode); - }; + $mode = $this->_octalize_number($mode); local $! = $this->errno; @@ -399,12 +469,9 @@ sub _format_close { # may contain binary data. sub _format_readwrite { my ($this) = @_; - my $call = $this->function; + my $call = $this->_trim_package_name($this->function); local $! = $this->errno; - # Trim package name off dying sub for error messages. - $call =~ s/.*:://; - # These subs receive the following arguments (in order): # # * FILEHANDLE @@ -619,29 +686,12 @@ messages are formatted. sub format_default { my ($this) = @_; - my $call = $this->function; + my $call = $this->_trim_package_name($this->function); local $! = $this->errno; - # TODO: This is probably a good idea for CORE, is it - # a good idea for other subs? - - # Trim package name off dying sub for error messages. - $call =~ s/.*:://; - - # Walk through all our arguments, and... - # - # * Replace undef with the word 'undef' - # * Replace globs with the string '$fh' - # * Quote all other args. - my @args = @{ $this->args() }; - - foreach my $arg (@args) { - if (not defined($arg)) { $arg = 'undef' } - elsif (ref($arg) eq "GLOB") { $arg = '$fh' } - else { $arg = qq{'$arg'} } - } + @args = $this->_beautify_arguments(@args); # Format our beautiful error. diff --git a/cpan/autodie/lib/autodie/exception/system.pm b/cpan/autodie/lib/autodie/exception/system.pm index d63a607..081c998 100644 --- a/cpan/autodie/lib/autodie/exception/system.pm +++ b/cpan/autodie/lib/autodie/exception/system.pm @@ -5,7 +5,7 @@ use warnings; use parent 'autodie::exception'; use Carp qw(croak); -our $VERSION = '2.26'; # VERSION: Generated by DZP::OurPkg:Version +our $VERSION = '2.27'; # VERSION: Generated by DZP::OurPkg:Version # ABSTRACT: Exceptions from autodying system(). diff --git a/cpan/autodie/lib/autodie/hints.pm b/cpan/autodie/lib/autodie/hints.pm index 3c9d679..9db39b1 100644 --- a/cpan/autodie/lib/autodie/hints.pm +++ b/cpan/autodie/lib/autodie/hints.pm @@ -5,7 +5,7 @@ use warnings; use constant PERL58 => ( $] < 5.009 ); -our $VERSION = '2.26'; # VERSION: Generated by DZP::OurPkg:Version +our $VERSION = '2.27'; # VERSION: Generated by DZP::OurPkg:Version # ABSTRACT: Provide hints about user subroutines to autodie diff --git a/cpan/autodie/lib/autodie/skip.pm b/cpan/autodie/lib/autodie/skip.pm index 1462acd..83f4721 100644 --- a/cpan/autodie/lib/autodie/skip.pm +++ b/cpan/autodie/lib/autodie/skip.pm @@ -2,7 +2,7 @@ package autodie::skip; use strict; use warnings; -our $VERSION = '2.26'; # VERSION +our $VERSION = '2.27'; # 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 diff --git a/cpan/autodie/t/chmod.t b/cpan/autodie/t/chmod.t index 9093b52..00715ae 100755 --- a/cpan/autodie/t/chmod.t +++ b/cpan/autodie/t/chmod.t @@ -1,13 +1,20 @@ #!/usr/bin/perl -w use strict; -use Test::More tests => 4; +use Test::More tests => 7; use constant NO_SUCH_FILE => "this_file_had_better_not_exist"; +use constant ERROR_REGEXP => qr{Can't chmod\(0755, '${\(NO_SUCH_FILE)}'\):}; +use constant SINGLE_DIGIT_ERROR_REGEXP => qr{Can't chmod\(0010, '${\(NO_SUCH_FILE)}'\):}; use autodie; # This tests RT #50423, Debian #550462 eval { chmod(0755, NO_SUCH_FILE); }; isa_ok($@, 'autodie::exception', 'exception thrown for chmod'); +like($@, ERROR_REGEXP, "Message should include numeric mode in octal form"); + +eval { chmod(8, NO_SUCH_FILE); }; +isa_ok($@, 'autodie::exception', 'exception thrown for chmod'); +like($@, SINGLE_DIGIT_ERROR_REGEXP, "Message should include numeric mode in octal form"); eval { chmod(0755, $0); }; ok(! $@, "We can chmod ourselves just fine."); diff --git a/cpan/autodie/t/dbmopen.t b/cpan/autodie/t/dbmopen.t index 31698e6..5083f38 100644 --- a/cpan/autodie/t/dbmopen.t +++ b/cpan/autodie/t/dbmopen.t @@ -1,8 +1,9 @@ #!/usr/bin/perl -w use strict; -use Test::More qw(no_plan); +use Test::More tests => 9; use constant ERROR_REGEXP => qr{Can't dbmopen\(%hash, 'foo/bar/baz', 0666\):}; +use constant SINGLE_DIGIT_ERROR_REGEXP => qr{Can't dbmopen\(%hash, 'foo/bar/baz', 0010\):}; my $return = "default"; @@ -27,6 +28,17 @@ like($@, ERROR_REGEXP, "Message should include number in octal, not decimal"); eval { use autodie; + dbmopen(my %foo, "foo/bar/baz", 8); +}; + +ok($@, "autodie allows dbmopen to throw errors."); +isa_ok($@, "autodie::exception", "... errors are of the correct type"); + +like($@, SINGLE_DIGIT_ERROR_REGEXP, "Message should include number in octal, not decimal"); + +eval { + use autodie; + my %bar = ( foo => 1, bar => 2 ); dbmopen(%bar, "foo/bar/baz", 0666); diff --git a/cpan/autodie/t/internal.t b/cpan/autodie/t/internal.t index 3853044..c4e5abc 100644 --- a/cpan/autodie/t/internal.t +++ b/cpan/autodie/t/internal.t @@ -1,32 +1,46 @@ -#!/usr/bin/perl -w +#!/usr/bin/perl use strict; use Scalar::Util qw(blessed); use constant NO_SUCH_FILE => "this_file_or_dir_had_better_not_exist_XYZZY"; -use Test::More tests => 9; +use Test::More tests => 7; + +use Fatal(); + +# Silence the warnings from using Fatal qw(:lexical) # Lexical tests using the internal interface. -eval { Fatal->import(qw(:lexical :void)) }; +my @warnings; +eval { + # Filter out deprecation warning (no warnings qw(deprecated) does + # not seem to work for some reason) + local $SIG{'__WARN__'} = sub { + push(@warnings, @_) unless $_[0] =~ m/Fatal qw\(:lexical/; + }; + Fatal->import(qw(:lexical :void)) +}; like($@, qr{:void cannot be used with lexical}, ":void can't be used with :lexical"); +warn($_) while shift @warnings; eval { Fatal->import(qw(open close :lexical)) }; like($@, qr{:lexical must be used as first}, ":lexical must come first"); { - use Fatal qw(:lexical chdir); - + BEGIN { + # Filter out deprecation warning (no warnings qw(deprecated) does + # not seem to work for some reason) + local $SIG{'__WARN__'} = sub { + push(@warnings, @_) unless $_[0] =~ m/Fatal qw\(:lexical/; + }; + import Fatal qw(:lexical chdir); + }; + warn($_) while shift @warnings; eval { chdir(NO_SUCH_FILE); }; my $err = $@; like ($err, qr/^Can't chdir/, "Lexical fatal chdir"); - TODO: { - local $TODO = 'Fatal should not (but does) throw autodie::exceptions'; - is(blessed($err), undef, - "Fatal does not throw autodie::exceptions"); - } - { no Fatal qw(:lexical chdir); eval { chdir(NO_SUCH_FILE); }; @@ -36,11 +50,6 @@ like($@, qr{:lexical must be used as first}, ":lexical must come first"); eval { chdir(NO_SUCH_FILE); }; $err = $@; like ($err, qr/^Can't chdir/, "Lexical fatal chdir returns"); - TODO: { - local $TODO = 'Fatal should not (but does) throw autodie::exceptions'; - is(blessed($err), undef, - "Fatal does not throw autodie::exceptions"); - } } eval { chdir(NO_SUCH_FILE); }; diff --git a/cpan/autodie/t/lib/my/pragma.pm b/cpan/autodie/t/lib/my/pragma.pm index 185d54f..3df2ced 100644 --- a/cpan/autodie/t/lib/my/pragma.pm +++ b/cpan/autodie/t/lib/my/pragma.pm @@ -1,5 +1,6 @@ package my::pragma; +require autodie; use Import::Into qw(into); sub import { diff --git a/cpan/autodie/t/mkdir.t b/cpan/autodie/t/mkdir.t index 7bd6529..3606f7e 100644 --- a/cpan/autodie/t/mkdir.t +++ b/cpan/autodie/t/mkdir.t @@ -3,6 +3,8 @@ use strict; use Test::More; use FindBin qw($Bin); use constant TMPDIR => "$Bin/mkdir_test_delete_me"; +use constant ERROR_REGEXP => qr{Can't mkdir\('\Q${\(TMPDIR)}\E', 0777\):}; +use constant SINGLE_DIGIT_ERROR_REGEXP => qr{Can't mkdir\('\Q${\(TMPDIR)}\E', 0010\):}; # Delete our directory if it's there rmdir TMPDIR; @@ -25,7 +27,7 @@ if(-d TMPDIR) { plan skip_all => "Failed to delete test directory"; } # Try to delete second time if(rmdir TMPDIR) { plan skip_all => "Able to rmdir directory twice"; } -plan tests => 12; +plan tests => 18; # Create a directory (this should succeed) eval { @@ -40,12 +42,24 @@ ok(-d TMPDIR, "Successfully created test directory"); eval { use autodie; - mkdir TMPDIR; + mkdir TMPDIR, 0777; +}; +ok($@, "Re-creating directory causes failure."); +isa_ok($@, "autodie::exception", "... errors are of the correct type"); +ok($@->matches("mkdir"), "... it's also a mkdir object"); +ok($@->matches(":filesys"), "... and a filesys object"); +like($@, ERROR_REGEXP, "Message should include numeric mask in octal form"); + +eval { + use autodie; + + mkdir TMPDIR, 8; }; ok($@, "Re-creating directory causes failure."); isa_ok($@, "autodie::exception", "... errors are of the correct type"); ok($@->matches("mkdir"), "... it's also a mkdir object"); ok($@->matches(":filesys"), "... and a filesys object"); +like($@, SINGLE_DIGIT_ERROR_REGEXP, "Message should include numeric mask in octal form"); # Try to delete directory (this should succeed) eval { diff --git a/cpan/libnet/Makefile.PL b/cpan/libnet/Makefile.PL index db7cfe2..af24976 100644 --- a/cpan/libnet/Makefile.PL +++ b/cpan/libnet/Makefile.PL @@ -10,8 +10,10 @@ # Copyright (C) 2014 Steve Hay. All rights reserved. # # LICENCE -# You may distribute under the terms of either the GNU General Public License -# or the Artistic License, as specified in the LICENCE file. +# This script is free software; you can redistribute it and/or modify it under +# the same terms as Perl itself, i.e. under the terms of either the GNU +# General Public License or the Artistic License, as specified in the LICENCE +# file. # #=============================================================================== @@ -64,7 +66,7 @@ MAIN: { ABSTRACT => 'Collection of network protocol modules', AUTHOR => 'Graham Barr , Steve Hay ', LICENSE => 'perl_5', - VERSION => '3.05', + VERSION => '3.06', META_MERGE => { 'meta-spec' => { @@ -125,6 +127,17 @@ MAIN: { } }, + changestest => { + description => 'Changes testing', + prereqs => { + test => { + requires => { + 'Test::CPAN::Changes' => '0' + } + } + } + }, + critictest => { description => 'Perl::Critic testing', prereqs => { @@ -165,7 +178,7 @@ MAIN: { CONFIGURE_REQUIRES => { 'ExtUtils::MakeMaker' => '6.64', 'Getopt::Std' => '0', - 'IO:File' => '0', + 'IO::File' => '0', 'perl' => '5.008001', 'strict' => '0', 'vars' => '0', @@ -196,7 +209,7 @@ MAIN: { 'vars' => '0' }, - INSTALLDIRS => 'perl', + INSTALLDIRS => ($] >= 5.008 && $] < 5.011) ? 'perl' : 'site', realclean => { FILES => $CfgFile diff --git a/cpan/libnet/lib/Net/Cmd.pm b/cpan/libnet/lib/Net/Cmd.pm index 0c9d72f..f56e904 100644 --- a/cpan/libnet/lib/Net/Cmd.pm +++ b/cpan/libnet/lib/Net/Cmd.pm @@ -4,8 +4,9 @@ # All rights reserved. # Changes in Version 2.29_2 onwards Copyright (C) 2013-2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under +# the same terms as Perl itself, i.e. under the terms of either the GNU General +# Public License or the Artistic License, as specified in the F file. package Net::Cmd; @@ -41,7 +42,7 @@ BEGIN { } } -our $VERSION = "3.05_01"; +our $VERSION = "3.06"; our @ISA = qw(Exporter); our @EXPORT = qw(CMD_INFO CMD_OK CMD_MORE CMD_REJECT CMD_ERROR CMD_PENDING); @@ -870,7 +871,8 @@ Versions up to 2.29_1 Copyright (c) 1995-2006 Graham Barr. All rights reserved. Changes in Version 2.29_2 onwards Copyright (C) 2013-2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under the +same terms as Perl itself, i.e. under the terms of either the GNU General Public +License or the Artistic License, as specified in the F file. =cut diff --git a/cpan/libnet/lib/Net/Config.pm b/cpan/libnet/lib/Net/Config.pm index 1781c74..a705065 100644 --- a/cpan/libnet/lib/Net/Config.pm +++ b/cpan/libnet/lib/Net/Config.pm @@ -4,8 +4,9 @@ # All rights reserved. # Changes in Version 1.11_01 onwards Copyright (C) 2013-2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under +# the same terms as Perl itself, i.e. under the terms of either the GNU General +# Public License or the Artistic License, as specified in the F file. package Net::Config; @@ -19,16 +20,11 @@ use Socket qw(inet_aton inet_ntoa); our @EXPORT = qw(%NetConfig); our @ISA = qw(Net::LocalCfg Exporter); -our $VERSION = "3.05_01"; +our $VERSION = "3.06"; our($CONFIGURE, $LIBNET_CFG); -eval { - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - local $SIG{__DIE__}; - require Net::LocalCfg; -}; +eval { local $SIG{__DIE__}; require Net::LocalCfg }; our %NetConfig = ( nntp_hosts => [], @@ -324,4 +320,21 @@ If true then C will check each hostname given that it exists =back +=head1 AUTHOR + +Graham Barr EFE + +Steve Hay EFE is now maintaining libnet as of version +1.22_02 + +=head1 COPYRIGHT + +Versions up to 1.11 Copyright (c) 1998-2011 Graham Barr. All rights reserved. +Changes in Version 1.11_01 onwards Copyright (C) 2013-2014 Steve Hay. All +rights reserved. + +This module is free software; you can redistribute it and/or modify it under the +same terms as Perl itself, i.e. under the terms of either the GNU General Public +License or the Artistic License, as specified in the F file. + =cut diff --git a/cpan/libnet/lib/Net/Domain.pm b/cpan/libnet/lib/Net/Domain.pm index 2b67884..0fde92d 100644 --- a/cpan/libnet/lib/Net/Domain.pm +++ b/cpan/libnet/lib/Net/Domain.pm @@ -4,8 +4,9 @@ # All rights reserved. # Changes in Version 2.22 onwards Copyright (C) 2013-2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under +# the same terms as Perl itself, i.e. under the terms of either the GNU General +# Public License or the Artistic License, as specified in the F file. package Net::Domain; @@ -20,7 +21,7 @@ use Net::Config; our @ISA = qw(Exporter); our @EXPORT_OK = qw(hostname hostdomain hostfqdn domainname); -our $VERSION = "3.05_01"; +our $VERSION = "3.06"; my ($host, $domain, $fqdn) = (undef, undef, undef); @@ -356,7 +357,8 @@ Versions up to 2.21 Copyright (c) 1995-1998 Graham Barr. All rights reserved. Changes in Version 2.22 onwards Copyright (C) 2013-2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under the +same terms as Perl itself, i.e. under the terms of either the GNU General Public +License or the Artistic License, as specified in the F file. =cut diff --git a/cpan/libnet/lib/Net/FTP.pm b/cpan/libnet/lib/Net/FTP.pm index 715009f..8b74663 100644 --- a/cpan/libnet/lib/Net/FTP.pm +++ b/cpan/libnet/lib/Net/FTP.pm @@ -4,8 +4,9 @@ # All rights reserved. # Changes in Version 2.77_3 onwards Copyright (C) 2013-2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under +# the same terms as Perl itself, i.e. under the terms of either the GNU General +# Public License or the Artistic License, as specified in the F file. # # Documentation (at end) improved 1996 by Nathan Torkington . @@ -24,7 +25,7 @@ use Net::Config; use Socket; use Time::Local; -our $VERSION = '3.05_01'; +our $VERSION = '3.06'; our $IOCLASS; BEGIN { @@ -452,7 +453,7 @@ sub authorize { my $ok = $ftp->_AUTH($auth || ""); - $ok = $ftp->_RESP($resp || "") + return $ftp->_RESP($resp || "") if ($ok == CMD_MORE); $ok == CMD_OK; @@ -889,8 +890,8 @@ sub _eprt { Timeout => $ftp->timeout, LocalAddr => $ftp->sockhost, can_ssl() ? ( - %{ ${*$ftp}{net_ftp_tlsargs} }, - SSL_startHandshake => 0, + %{ ${*$ftp}{net_ftp_tlsargs} }, + SSL_startHandshake => 0, ):(), ); ${*$ftp}{net_ftp_intern_port} = 1; @@ -1036,15 +1037,15 @@ sub _dataconn { LocalAddr => ${*$ftp}{net_ftp_localaddr}, Timeout => $ftp->timeout, can_ssl() ? ( - SSL_startHandshake => 0, - $ftp->is_SSL ? ( - SSL_reuse_ctx => $ftp, - SSL_verifycn_name => ${*$ftp}{net_ftp_tlsargs}{SSL_verifycn_name}, - # This will cause the use of SNI if supported by IO::Socket::SSL. - $ftp->can_client_sni ? ( - SSL_hostname => ${*$ftp}{net_ftp_tlsargs}{SSL_hostname} - ):(), - ) :( %{${*$ftp}{net_ftp_tlsargs}} ), + SSL_startHandshake => 0, + $ftp->is_SSL ? ( + SSL_reuse_ctx => $ftp, + SSL_verifycn_name => ${*$ftp}{net_ftp_tlsargs}{SSL_verifycn_name}, + # This will cause the use of SNI if supported by IO::Socket::SSL. + $ftp->can_client_sni ? ( + SSL_hostname => ${*$ftp}{net_ftp_tlsargs}{SSL_hostname} + ):(), + ) :( %{${*$ftp}{net_ftp_tlsargs}} ), ):(), ) or return; } elsif (my $listen = delete ${*$ftp}{net_ftp_listen}) { @@ -1141,7 +1142,7 @@ sub _data_cmd { my $data = $ftp->_dataconn(); if (CMD_INFO == $ftp->response()) { $data->reading - if $data && $cmd =~ /RETR|LIST|NLST/; + if $data && $cmd =~ /RETR|LIST|NLST/; return $data; } $data->_close if $data; @@ -1839,6 +1840,7 @@ C and those that do not require data connections. =over 4 =item port ( [ PORT ] ) + =item eprt ( [ PORT ] ) Send a C (IPv4) or C (IPv6) command to the server. If C is @@ -1846,6 +1848,7 @@ specified then it is sent to the server. If not, then a listen socket is created and the correct information sent to the server. =item pasv () + =item epsv () Tell the server to go into passive mode (C for IPv4, C for IPv6). @@ -2014,7 +2017,8 @@ Versions up to 2.77_2 Copyright (c) 1995-2004 Graham Barr. All rights reserved. Changes in Version 2.77_3 onwards Copyright (C) 2013-2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under the +same terms as Perl itself, i.e. under the terms of either the GNU General Public +License or the Artistic License, as specified in the F file. =cut diff --git a/cpan/libnet/lib/Net/FTP/A.pm b/cpan/libnet/lib/Net/FTP/A.pm index e5dfaf3..7eee970 100644 --- a/cpan/libnet/lib/Net/FTP/A.pm +++ b/cpan/libnet/lib/Net/FTP/A.pm @@ -13,7 +13,7 @@ use Carp; use Net::FTP::dataconn; our @ISA = qw(Net::FTP::dataconn); -our $VERSION = "3.05_01"; +our $VERSION = "3.06"; our $buf; diff --git a/cpan/libnet/lib/Net/FTP/E.pm b/cpan/libnet/lib/Net/FTP/E.pm index fb905c7..ad36441 100644 --- a/cpan/libnet/lib/Net/FTP/E.pm +++ b/cpan/libnet/lib/Net/FTP/E.pm @@ -8,6 +8,6 @@ use warnings; use Net::FTP::I; our @ISA = qw(Net::FTP::I); -our $VERSION = "3.05_01"; +our $VERSION = "3.06"; 1; diff --git a/cpan/libnet/lib/Net/FTP/I.pm b/cpan/libnet/lib/Net/FTP/I.pm index 38a959e..c5603c6 100644 --- a/cpan/libnet/lib/Net/FTP/I.pm +++ b/cpan/libnet/lib/Net/FTP/I.pm @@ -13,7 +13,7 @@ use Carp; use Net::FTP::dataconn; our @ISA = qw(Net::FTP::dataconn); -our $VERSION = "3.05_01"; +our $VERSION = "3.06"; our $buf; diff --git a/cpan/libnet/lib/Net/FTP/L.pm b/cpan/libnet/lib/Net/FTP/L.pm index c432220..4c52970 100644 --- a/cpan/libnet/lib/Net/FTP/L.pm +++ b/cpan/libnet/lib/Net/FTP/L.pm @@ -8,6 +8,6 @@ use warnings; use Net::FTP::I; our @ISA = qw(Net::FTP::I); -our $VERSION = "3.05_01"; +our $VERSION = "3.06"; 1; diff --git a/cpan/libnet/lib/Net/FTP/dataconn.pm b/cpan/libnet/lib/Net/FTP/dataconn.pm index 87bcaca..980e21d 100644 --- a/cpan/libnet/lib/Net/FTP/dataconn.pm +++ b/cpan/libnet/lib/Net/FTP/dataconn.pm @@ -13,7 +13,7 @@ use Carp; use Errno; use Net::Cmd; -our $VERSION = '3.05_01'; +our $VERSION = '3.06'; $Net::FTP::IOCLASS or die "please load Net::FTP before Net::FTP::dataconn"; our @ISA = $Net::FTP::IOCLASS; diff --git a/cpan/libnet/lib/Net/NNTP.pm b/cpan/libnet/lib/Net/NNTP.pm index 1a00cd7..75f7bf1 100644 --- a/cpan/libnet/lib/Net/NNTP.pm +++ b/cpan/libnet/lib/Net/NNTP.pm @@ -4,8 +4,9 @@ # All rights reserved. # Changes in Version 2.25 onwards Copyright (C) 2013-2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under +# the same terms as Perl itself, i.e. under the terms of either the GNU General +# Public License or the Artistic License, as specified in the F file. package Net::NNTP; @@ -20,7 +21,7 @@ use Net::Cmd; use Net::Config; use Time::Local; -our $VERSION = "3.05_01"; +our $VERSION = "3.06"; # Code for detecting if we can use SSL my $ssl_class = eval { @@ -756,9 +757,9 @@ sub DESTROY { my ($class,$nntp,%arg) = @_; delete @arg{ grep { !m{^SSL_} } keys %arg }; ( $arg{SSL_verifycn_name} ||= $nntp->host ) - =~s{(?can_client_sni; + if ! defined $arg{SSL_hostname} && $class->can_client_sni; my $ok = $class->SUPER::start_SSL($nntp, SSL_verifycn_scheme => 'nntp', %arg @@ -1281,7 +1282,8 @@ Versions up to 2.24_1 Copyright (c) 1995-1997 Graham Barr. All rights reserved. Changes in Version 2.25 onwards Copyright (C) 2013-2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under the +same terms as Perl itself, i.e. under the terms of either the GNU General Public +License or the Artistic License, as specified in the F file. =cut diff --git a/cpan/libnet/lib/Net/Netrc.pm b/cpan/libnet/lib/Net/Netrc.pm index 8983372..efa38cb 100644 --- a/cpan/libnet/lib/Net/Netrc.pm +++ b/cpan/libnet/lib/Net/Netrc.pm @@ -4,8 +4,9 @@ # All rights reserved. # Changes in Version 2.13_01 onwards Copyright (C) 2013-2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under +# the same terms as Perl itself, i.e. under the terms of either the GNU General +# Public License or the Artistic License, as specified in the F file. package Net::Netrc; @@ -17,7 +18,7 @@ use warnings; use Carp; use FileHandle; -our $VERSION = "3.05_01"; +our $VERSION = "3.06"; our $TESTING; @@ -339,7 +340,8 @@ Versions up to 2.13 Copyright (c) 1995-1998 Graham Barr. All rights reserved. Changes in Version 2.13_01 onwards Copyright (C) 2013-2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under the +same terms as Perl itself, i.e. under the terms of either the GNU General Public +License or the Artistic License, as specified in the F file. =cut diff --git a/cpan/libnet/lib/Net/POP3.pm b/cpan/libnet/lib/Net/POP3.pm index 9fda83e..2c38819 100644 --- a/cpan/libnet/lib/Net/POP3.pm +++ b/cpan/libnet/lib/Net/POP3.pm @@ -4,8 +4,9 @@ # All rights reserved. # Changes in Version 2.29_01 onwards Copyright (C) 2013-2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under +# the same terms as Perl itself, i.e. under the terms of either the GNU General +# Public License or the Artistic License, as specified in the F file. package Net::POP3; @@ -19,7 +20,7 @@ use IO::Socket; use Net::Cmd; use Net::Config; -our $VERSION = "3.05_01"; +our $VERSION = "3.06"; # Code for detecting if we can use SSL my $ssl_class = eval { @@ -577,9 +578,9 @@ sub banner { my ($class,$pop3,%arg) = @_; delete @arg{ grep { !m{^SSL_} } keys %arg }; ( $arg{SSL_verifycn_name} ||= $pop3->host ) - =~s{(?can_client_sni; + if ! defined $arg{SSL_hostname} && $class->can_client_sni; $arg{SSL_verifycn_scheme} ||= 'pop3'; my $ok = $class->SUPER::start_SSL($pop3,%arg); $@ = $ssl_class->errstr if !$ok; @@ -842,7 +843,8 @@ Versions up to 2.29 Copyright (c) 1995-2004 Graham Barr. All rights reserved. Changes in Version 2.29_01 onwards Copyright (C) 2013-2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under the +same terms as Perl itself, i.e. under the terms of either the GNU General Public +License or the Artistic License, as specified in the F file. =cut diff --git a/cpan/libnet/lib/Net/SMTP.pm b/cpan/libnet/lib/Net/SMTP.pm index 36c3617..05f2519 100644 --- a/cpan/libnet/lib/Net/SMTP.pm +++ b/cpan/libnet/lib/Net/SMTP.pm @@ -4,8 +4,9 @@ # All rights reserved. # Changes in Version 2.31_2 onwards Copyright (C) 2013-2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under +# the same terms as Perl itself, i.e. under the terms of either the GNU General +# Public License or the Artistic License, as specified in the F file. package Net::SMTP; @@ -20,7 +21,7 @@ use Net::Cmd; use Net::Config; use Socket; -our $VERSION = "3.05_01"; +our $VERSION = "3.06"; # Code for detecting if we can use SSL my $ssl_class = eval { @@ -112,11 +113,13 @@ sub new { (${*$obj}{'net_smtp_banner'}) = $obj->message; (${*$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; + if (!exists $arg{SendHello} || $arg{SendHello}) { + unless ($obj->hello($arg{Hello} || "")) { + my $err = ref($obj) . ": " . $obj->code . " " . $obj->message; + $obj->close(); + $@ = $err; + return; + } } $obj; @@ -615,9 +618,9 @@ sub _STARTTLS { shift->command("STARTTLS")->response() == CMD_OK } my ($class,$smtp,%arg) = @_; delete @arg{ grep { !m{^SSL_} } keys %arg }; ( $arg{SSL_verifycn_name} ||= $smtp->host ) - =~s{(?can_client_sni; + if ! defined $arg{SSL_hostname} && $class->can_client_sni; $arg{SSL_verifycn_scheme} ||= 'smtp'; my $ok = $class->SUPER::start_SSL($smtp,%arg); $@ = $ssl_class->errstr if !$ok; @@ -712,6 +715,10 @@ B - 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 - If false then the EHLO (or HELO) command that is normally sent +when constructing the object will not be sent. In that case the command will +have to be sent manually by calling C instead. + B - SMTP host to connect to. It may be a single scalar (hostname[:port]), as defined for the C option in L, or a reference to an array with hosts to try in turn. The L method will return the value @@ -758,11 +765,11 @@ Example: # the same with direct SSL $smtp = Net::SMTP->new('mailhost', - Hello => 'my.mail.domain', - Timeout => 30, - Debug => 1, - SSL => 1, - ); + Hello => 'my.mail.domain', + Timeout => 30, + Debug => 1, + SSL => 1, + ); # Connect to the default server from Net::config $smtp = Net::SMTP->new( @@ -1014,7 +1021,8 @@ Versions up to 2.31_1 Copyright (c) 1995-2004 Graham Barr. All rights reserved. Changes in Version 2.31_2 onwards Copyright (C) 2013-2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under the +same terms as Perl itself, i.e. under the terms of either the GNU General Public +License or the Artistic License, as specified in the F file. =cut diff --git a/cpan/libnet/lib/Net/Time.pm b/cpan/libnet/lib/Net/Time.pm index 60e553c..eea2e71 100644 --- a/cpan/libnet/lib/Net/Time.pm +++ b/cpan/libnet/lib/Net/Time.pm @@ -4,8 +4,9 @@ # All rights reserved. # Changes in Version 2.11 onwards Copyright (C) 2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under +# the same terms as Perl itself, i.e. under the terms of either the GNU General +# Public License or the Artistic License, as specified in the F file. package Net::Time; @@ -23,7 +24,7 @@ use Net::Config; our @ISA = qw(Exporter); our @EXPORT_OK = qw(inet_time inet_daytime); -our $VERSION = "3.05_01"; +our $VERSION = "3.06"; our $TIMEOUT = 120; @@ -156,7 +157,8 @@ Versions up to 2.11 Copyright (c) 1995-2004 Graham Barr. All rights reserved. Changes in Version 2.11 onwards Copyright (C) 2014 Steve Hay. 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 free software; you can redistribute it and/or modify it under the +same terms as Perl itself, i.e. under the terms of either the GNU General Public +License or the Artistic License, as specified in the F file. =cut diff --git a/cpan/libnet/t/nntp_ssl.t b/cpan/libnet/t/nntp_ssl.t index 387899f..e6a4fe5 100644 --- a/cpan/libnet/t/nntp_ssl.t +++ b/cpan/libnet/t/nntp_ssl.t @@ -115,8 +115,8 @@ sub nntp_server { } elsif ( ! $ssl and $cmd eq 'STARTTLS' ) { print $cl "382 Continue with TLS negotiation\r\n"; if ( ! IO::Socket::SSL->start_SSL($cl, %sslargs)) { - diag("initial ssl handshake with client failed"); - return; + diag("initial ssl handshake with client failed"); + return; } $ssl = 1; } else { diff --git a/cpan/libnet/t/pop3_ipv6.t b/cpan/libnet/t/pop3_ipv6.t index 5100951..1c88c1a 100644 --- a/cpan/libnet/t/pop3_ipv6.t +++ b/cpan/libnet/t/pop3_ipv6.t @@ -55,7 +55,7 @@ sub pop3_server { last; } elsif ( $cmd eq 'CAPA' ) { print $cl "+OK\r\n". - ".\r\n"; + ".\r\n"; } else { diag("received unknown command: $cmd"); print "-ERR unknown cmd\r\n"; diff --git a/cpan/libnet/t/pop3_ssl.t b/cpan/libnet/t/pop3_ssl.t index 3eca064..356de40 100644 --- a/cpan/libnet/t/pop3_ssl.t +++ b/cpan/libnet/t/pop3_ssl.t @@ -106,13 +106,13 @@ sub pop3_server { last; } elsif ( $cmd eq 'CAPA' ) { print $cl "+OK\r\n". - ( $ssl ? "" : "STLS\r\n" ). - ".\r\n"; + ( $ssl ? "" : "STLS\r\n" ). + ".\r\n"; } elsif ( ! $ssl and $cmd eq 'STLS' ) { print $cl "+OK starting ssl\r\n"; if ( ! IO::Socket::SSL->start_SSL($cl, %sslargs)) { - diag("initial ssl handshake with client failed"); - return; + diag("initial ssl handshake with client failed"); + return; } $ssl = 1; } else { diff --git a/cpan/libnet/t/smtp_ipv6.t b/cpan/libnet/t/smtp_ipv6.t index 48c7246..a31b6ff 100644 --- a/cpan/libnet/t/smtp_ipv6.t +++ b/cpan/libnet/t/smtp_ipv6.t @@ -57,7 +57,7 @@ sub smtp_server { print $cl "250 localhost\r\n"; } elsif ( $cmd eq 'EHLO' ) { print $cl "250-localhost\r\n". - "250 HELP\r\n"; + "250 HELP\r\n"; } else { diag("received unknown command: $cmd"); print "500 unknown cmd\r\n"; diff --git a/cpan/libnet/t/smtp_ssl.t b/cpan/libnet/t/smtp_ssl.t index e91cc9b..7290176 100644 --- a/cpan/libnet/t/smtp_ssl.t +++ b/cpan/libnet/t/smtp_ssl.t @@ -108,13 +108,13 @@ sub smtp_server { print $cl "250 localhost\r\n"; } elsif ( $cmd eq 'EHLO' ) { print $cl "250-localhost\r\n". - ( $ssl ? "" : "250-STARTTLS\r\n" ). - "250 HELP\r\n"; + ( $ssl ? "" : "250-STARTTLS\r\n" ). + "250 HELP\r\n"; } elsif ( ! $ssl and $cmd eq 'STARTTLS' ) { print $cl "250 starting ssl\r\n"; if ( ! IO::Socket::SSL->start_SSL($cl, %sslargs)) { - diag("initial ssl handshake with client failed"); - return; + diag("initial ssl handshake with client failed"); + return; } $ssl = 1; } else { diff --git a/cpan/parent/lib/parent.pm b/cpan/parent/lib/parent.pm index 445ed12..f6e8cd4 100644 --- a/cpan/parent/lib/parent.pm +++ b/cpan/parent/lib/parent.pm @@ -1,7 +1,7 @@ package parent; use strict; use vars qw($VERSION); -$VERSION = '0.232'; +$VERSION = '0.234'; sub import { my $class = shift; @@ -12,10 +12,6 @@ sub import { shift @_; } else { for ( my @filename = @_ ) { - if ( $_ eq $inheritor ) { - warn "Class '$inheritor' tried to inherit from itself\n"; - }; - s{::|'}{/}g; require "$_.pm"; # dies if the file is not found } @@ -94,19 +90,6 @@ either C<.pm> or C<.pmc>), use the following code: require './plugins/custom.plugin'; # contains Plugin::Custom use parent -norequire, 'Plugin::Custom'; -=head1 DIAGNOSTICS - -=over 4 - -=item Class 'Foo' tried to inherit from itself - -Attempting to inherit from yourself generates a warning. - - package Foo; - use parent 'Foo'; - -=back - =head1 HISTORY This module was forked from L to remove the cruft diff --git a/cpan/parent/t/parent-pmc.t b/cpan/parent/t/parent-pmc.t index a8708b4..01f70f7 100644 --- a/cpan/parent/t/parent-pmc.t +++ b/cpan/parent/t/parent-pmc.t @@ -13,16 +13,10 @@ use Config; use lib 't/lib'; plan skip_all => ".pmc are only available with 5.6 and later" if $] < 5.006; -my $no_pmc; - -if (Config->can('non_bincompat_options')) { - foreach(Config::non_bincompat_options()) { - if($_ eq "PERL_DISABLE_PMC"){ - $no_pmc = 1; - last; - } - } -}; + +my $no_pmc = defined &Config::non_bincompat_options + ? (grep $_ eq 'PERL_DISABLE_PMC', Config::non_bincompat_options()) + : ($Config::Config{ccflags} =~ /-DPERL_DISABLE_PMC\b/); plan skip_all => ".pmc are disabled in this perl" if $no_pmc; plan tests => 3; diff --git a/cpan/parent/t/parent.t b/cpan/parent/t/parent.t index 8b79862..dedf211 100644 --- a/cpan/parent/t/parent.t +++ b/cpan/parent/t/parent.t @@ -9,7 +9,7 @@ BEGIN { } use strict; -use Test::More tests => 10; +use Test::More tests => 9; use_ok('parent'); @@ -65,13 +65,6 @@ like( $@, $expected, 'baseclass that does not exist'); eval q{use parent 'reallyReAlLyNotexists'}; like( $@, $expected, ' still failing on 2nd load'); -{ - my $warning; - local $SIG{__WARN__} = sub { $warning = shift }; - eval q{package HomoGenous; use parent 'HomoGenous';}; - like($warning, q{/^Class 'HomoGenous' tried to inherit from itself/}, - ' self-inheriting'); -} { BEGIN { $Has::Version_0::VERSION = 0 } diff --git a/deb.c b/deb.c index aacd8bf..4ae101d 100644 --- a/deb.c +++ b/deb.c @@ -192,6 +192,7 @@ static const char * const si_names[] = { "WARNHOOK", "DIEHOOK", "REQUIRE" + "MULTICALL" }; #endif diff --git a/dist/ExtUtils-CBuilder/Changes b/dist/ExtUtils-CBuilder/Changes index 89301c6..ab8496e 100644 --- a/dist/ExtUtils-CBuilder/Changes +++ b/dist/ExtUtils-CBuilder/Changes @@ -1,5 +1,19 @@ Revision history for Perl extension ExtUtils::CBuilder. +0.280223 - 2015-06-02 + + Fixed: + + - Impose deterministic order on cpp-definition options. + Heretofore, ExtUtils::CBuilder put cpp-definition options + into the cc command line in non-deterministic order. This + produced noise when diffing build logs. + Make this order deterministic. (RT #124106) + + Added: + + - Add tests for ascii-betical order in t/04-base.t. + 0.280220 - 2014-09-27 Fixed: diff --git a/dist/ExtUtils-CBuilder/LICENSE b/dist/ExtUtils-CBuilder/LICENSE index 822f88d..97b386c 100644 --- a/dist/ExtUtils-CBuilder/LICENSE +++ b/dist/ExtUtils-CBuilder/LICENSE @@ -1,4 +1,4 @@ -This software is copyright (c) 2014 by Ken Williams. +This software is copyright (c) 2015 by Ken Williams. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. @@ -12,7 +12,7 @@ b) the "Artistic License" --- The GNU General Public License, Version 1, February 1989 --- -This software is Copyright (c) 2014 by Ken Williams. +This software is Copyright (c) 2015 by Ken Williams. This is free software, licensed under: @@ -272,7 +272,7 @@ That's all there is to it! --- The Artistic License 1.0 --- -This software is Copyright (c) 2014 by Ken Williams. +This software is Copyright (c) 2015 by Ken Williams. This is free software, licensed under: diff --git a/dist/ExtUtils-CBuilder/Makefile.PL b/dist/ExtUtils-CBuilder/Makefile.PL index f96bda9..13734c5 100644 --- a/dist/ExtUtils-CBuilder/Makefile.PL +++ b/dist/ExtUtils-CBuilder/Makefile.PL @@ -1,13 +1,10 @@ - -# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.020. +# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.036. use strict; use warnings; -use ExtUtils::MakeMaker ; - - +use ExtUtils::MakeMaker; my %WriteMakefileArgs = ( "ABSTRACT" => "Compile and link C code for Perl modules", @@ -33,7 +30,7 @@ my %WriteMakefileArgs = ( "TEST_REQUIRES" => { "Test::More" => "0.47" }, - "VERSION" => "0.280221", + "VERSION" => "0.280223", "test" => { "TESTS" => "t/*.t" } @@ -64,9 +61,6 @@ delete $WriteMakefileArgs{CONFIGURE_REQUIRES} unless eval { ExtUtils::MakeMaker->VERSION(6.52) }; $WriteMakefileArgs{INSTALLDIRS} = 'perl' - if $] >= 5.009005 && $] <= 5.011000; + if $] >= 5.009003 && $] <= 5.011000; WriteMakefile(%WriteMakefileArgs); - - - diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm index 17a4963..9e60d08 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder; -$ExtUtils::CBuilder::VERSION = '0.280221'; +$ExtUtils::CBuilder::VERSION = '0.280223'; use File::Spec (); use File::Path (); use File::Basename (); diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm index 7df61e4..932657d 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Base; -$ExtUtils::CBuilder::Base::VERSION = '0.280221'; +$ExtUtils::CBuilder::Base::VERSION = '0.280223'; use strict; use File::Spec; use File::Basename; @@ -128,20 +128,20 @@ sub arg_exec_file { sub arg_defines { my ($self, %args) = @_; - return map "-D$_=$args{$_}", keys %args; + return map "-D$_=$args{$_}", sort keys %args; } sub compile { my ($self, %args) = @_; die "Missing 'source' argument to compile()" unless defined $args{source}; - + my $cf = $self->{config}; # For convenience - + my $object_file = $args{object_file} ? $args{object_file} : $self->object_file($args{source}); - my $include_dirs_ref = + my $include_dirs_ref = (exists($args{include_dirs}) && ref($args{include_dirs}) ne "ARRAY") ? [ $args{include_dirs} ] : $args{include_dirs}; @@ -149,9 +149,9 @@ sub compile { @{ $include_dirs_ref || [] }, $self->perl_inc(), ); - + my @defines = $self->arg_defines( %{$args{defines} || {}} ); - + my @extra_compiler_flags = $self->split_like_shell($args{extra_compiler_flags}); my @cccdlflags = $self->split_like_shell($cf->{cccdlflags}); @@ -168,7 +168,7 @@ sub compile { $self->arg_object_file($object_file), ); my @cc = $self->split_like_shell($args{'C++'} ? $cf->{cxx} : $cf->{cc}); - + $self->do_system(@cc, @flags, $args{source}) or die "error building $object_file from '$args{source}'"; @@ -222,7 +222,7 @@ sub lib_file { my ($self, $dl_file, %args) = @_; $dl_file =~ s/\.[^.]+$//; $dl_file =~ tr/"//d; - + if (defined $args{module_name} and length $args{module_name}) { # Need to create with the same name as DynaLoader will load with. require DynaLoader; @@ -232,7 +232,7 @@ sub lib_file { $dl_file = File::Spec->catpath($dev, $lib_dir, $lib); } } - + $dl_file .= ".$self->{config}{dlext}"; return $dl_file; @@ -266,7 +266,7 @@ sub prelink { sub _prepare_mksymlists_args { my $args = shift; ($args->{dl_file} = $args->{dl_name}) =~ s/.*::// unless $args->{dl_file}; - + my %mksymlists_args = ( DL_VARS => $args->{dl_vars} || [], DL_FUNCS => $args->{dl_funcs} || {}, @@ -294,16 +294,16 @@ sub _do_link { my ($self, $type, %args) = @_; my $cf = $self->{config}; # For convenience - + my $objects = delete $args{objects}; $objects = [$objects] unless ref $objects; my $out = $args{$type} || $self->$type($objects->[0], %args); - + my @temp_files; @temp_files = $self->prelink(%args, dl_name => $args{module_name}) if $args{lddl} && $self->need_prelink; - + my @linker_flags = ( $self->split_like_shell($args{extra_linker_flags}), $self->extra_link_args_after_prelink( @@ -316,10 +316,10 @@ sub _do_link { : $self->arg_exec_file($out); my @shrp = $self->split_like_shell($cf->{shrpenv}); my @ld = $self->split_like_shell($cf->{ld}); - + $self->do_system(@shrp, @ld, @output, @$objects, @linker_flags) or die "error building $out from @$objects"; - + return wantarray ? ($out, @temp_files) : $out; } @@ -332,17 +332,17 @@ sub do_system { sub split_like_shell { my ($self, $string) = @_; - + return () unless defined($string); return @$string if UNIVERSAL::isa($string, 'ARRAY'); $string =~ s/^\s+|\s+$//g; return () unless length($string); - + # Text::ParseWords replaces all 'escaped' characters with themselves, which completely # breaks paths under windows. As such, we forcibly replace backwards slashes with forward # slashes on windows. $string =~ s@\\@/@g if $^O eq 'MSWin32'; - + return Text::ParseWords::shellwords($string); } diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm index a05ae4b..dcd0562 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::Unix; -$ExtUtils::CBuilder::Platform::Unix::VERSION = '0.280221'; +$ExtUtils::CBuilder::Platform::Unix::VERSION = '0.280223'; use strict; use ExtUtils::CBuilder::Base; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm index 6285e33..bfdc0d4 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::VMS; -$ExtUtils::CBuilder::Platform::VMS::VERSION = '0.280221'; +$ExtUtils::CBuilder::Platform::VMS::VERSION = '0.280223'; use strict; use ExtUtils::CBuilder::Base; @@ -27,11 +27,11 @@ sub arg_defines { return '' unless keys(%args) || @config_defines; - return ('/define=(' - . join(',', + return ('/define=(' + . join(',', @config_defines, - map "\"$_" . ( length($args{$_}) ? "=$args{$_}" : '') . "\"", - keys %args) + map "\"$_" . ( length($args{$_}) ? "=$args{$_}" : '') . "\"", + sort keys %args) . ')'); } @@ -50,7 +50,7 @@ sub arg_include_dirs { # We override the compile method because we consume the includes and defines # parts of ccflags in the process of compiling but don't save those parts # anywhere, so $self->{config}{ccflags} needs to be reset for each compile -# operation. +# operation. sub compile { my ($self, %args) = @_; @@ -63,10 +63,10 @@ sub compile { sub _do_link { my ($self, $type, %args) = @_; - + my $objects = delete $args{objects}; $objects = [$objects] unless ref $objects; - + if ($args{lddl}) { # prelink will call Mksymlists, which creates the extension-specific @@ -77,7 +77,7 @@ sub _do_link { # We now add the rest of what we need to the linker options file. We # should replicate the functionality of C, # but there is as yet no infrastructure for handling object libraries, - # so for now we depend on object files being listed individually on the + # so for now we depend on object files being listed individually on the # command line, which should work for simple cases. We do bring in our # own version of C so that any additional # libraries (including PERLSHR) can be added to the options file. @@ -85,7 +85,7 @@ sub _do_link { my @optlibs = $self->_liblist_ext( $args{'libs'} ); my $optfile = 'sys$disk:[]' . $temp_files[0]; - open my $opt_fh, '>>', $optfile + open my $opt_fh, '>>', $optfile or die "_do_link: Unable to open $optfile: $!"; for my $lib (@optlibs) {print $opt_fh "$lib\n" if length $lib } close $opt_fh; @@ -136,7 +136,7 @@ sub _liblist_ext { # which a system-wide logical may point. if ($self->perl_src) { my($lib,$locspec,$type); - foreach $lib (@crtls) { + foreach $lib (@crtls) { if (($locspec,$type) = $lib =~ m{^([\w\$-]+)(/\w+)?} and $locspec =~ /perl/i) { if (lc $type eq '/share') { $locspec .= $self->{'config'}{'exe_ext'}; } elsif (lc $type eq '/library') { $locspec .= $self->{'config'}{'lib_ext'}; } @@ -188,8 +188,8 @@ sub _liblist_ext { next; } warn "Resolving directory $dir\n" if $verbose; - if (!File::Spec->file_name_is_absolute($dir)) { - $dir = catdir($cwd,$dir); + if (!File::Spec->file_name_is_absolute($dir)) { + $dir = catdir($cwd,$dir); } } @dirs = grep { length($_) } @dirs; @@ -243,14 +243,14 @@ sub _liblist_ext { $type = 'SHR'; $name = $fullname unless $fullname =~ /exe;?\d*$/i; } - elsif (not length($ctype) and # If we've got a lib already, + elsif (not length($ctype) and # If we've got a lib already, # don't bother ( -f ($fullname = VMS::Filespec::rmsexpand($name,$lib_ext)) or -f ($fullname = VMS::Filespec::rmsexpand($name,'.olb')))) { $type = 'OLB'; $name = $fullname unless $fullname =~ /olb;?\d*$/i; } - elsif (not length($ctype) and # If we've got a lib already, + elsif (not length($ctype) and # If we've got a lib already, # don't bother ( -f ($fullname = VMS::Filespec::rmsexpand($name,$obj_ext)) or -f ($fullname = VMS::Filespec::rmsexpand($name,'.obj')))) { @@ -264,9 +264,9 @@ sub _liblist_ext { last if $ctype eq 'SHR'; } } - if ($ctype) { + if ($ctype) { push @{$found{$ctype}}, $cand; - warn "\tFound as $cand (really $fullname), type $ctype\n" + warn "\tFound as $cand (really $fullname), type $ctype\n" if $verbose > 1; push @flibs, $name unless $libs_seen{$fullname}++; next LIB; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm index 472c801..5b870bb 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::Windows; -$ExtUtils::CBuilder::Platform::Windows::VERSION = '0.280221'; +$ExtUtils::CBuilder::Platform::Windows::VERSION = '0.280223'; use strict; use warnings; @@ -57,7 +57,7 @@ sub split_like_shell { # array) to the target program and make the program parse it itself, # we don't actually need to do any processing here. (my $self, local $_) = @_; - + return @$_ if defined() && UNIVERSAL::isa($_, 'ARRAY'); return unless defined() && length(); return ($_); @@ -76,7 +76,7 @@ sub do_system { sub arg_defines { my ($self, %args) = @_; s/"/\\"/g foreach values %args; - return map qq{"-D$_=$args{$_}"}, keys %args; + return map qq{"-D$_=$args{$_}"}, sort keys %args; } sub compile { @@ -85,7 +85,7 @@ sub compile { die "Missing 'source' argument to compile()" unless defined $args{source}; - $args{include_dirs} = [ $args{include_dirs} ] + $args{include_dirs} = [ $args{include_dirs} ] if exists($args{include_dirs}) && ref($args{include_dirs}) ne "ARRAY"; my ($basename, $srcdir) = diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm index cbba074..2f37117 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::Windows::BCC; -$ExtUtils::CBuilder::Platform::Windows::BCC::VERSION = '0.280220'; +$ExtUtils::CBuilder::Platform::Windows::BCC::VERSION = '0.280223'; sub format_compiler_cmd { my ($self, %spec) = @_; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm index eb37a0e..818ec36 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::Windows::GCC; -$ExtUtils::CBuilder::Platform::Windows::GCC::VERSION = '0.280220'; +$ExtUtils::CBuilder::Platform::Windows::GCC::VERSION = '0.280223'; sub format_compiler_cmd { my ($self, %spec) = @_; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm index 8457485..552e45c 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::Windows::MSVC; -$ExtUtils::CBuilder::Platform::Windows::MSVC::VERSION = '0.280220'; +$ExtUtils::CBuilder::Platform::Windows::MSVC::VERSION = '0.280223'; sub arg_exec_file { my ($self, $file) = @_; return "/OUT:$file"; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm index c40dfaa..1a2848e 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::aix; -$ExtUtils::CBuilder::Platform::aix::VERSION = '0.280221'; +$ExtUtils::CBuilder::Platform::aix::VERSION = '0.280223'; use strict; use ExtUtils::CBuilder::Platform::Unix; use File::Spec; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/android.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/android.pm index 8ceb145..0942b3c 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/android.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/android.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::android; -$ExtUtils::CBuilder::Platform::android::VERSION = '0.280221'; +$ExtUtils::CBuilder::Platform::android::VERSION = '0.280223'; use strict; use File::Spec; use ExtUtils::CBuilder::Platform::Unix; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm index 9f1e7fe..259fbc6 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::cygwin; -$ExtUtils::CBuilder::Platform::cygwin::VERSION = '0.280221'; +$ExtUtils::CBuilder::Platform::cygwin::VERSION = '0.280223'; use strict; use File::Spec; use ExtUtils::CBuilder::Platform::Unix; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm index 391040b..94af5ee 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::darwin; -$ExtUtils::CBuilder::Platform::darwin::VERSION = '0.280221'; +$ExtUtils::CBuilder::Platform::darwin::VERSION = '0.280223'; use strict; use ExtUtils::CBuilder::Platform::Unix; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm index 5d4bdf7..0d03ecc 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::dec_osf; -$ExtUtils::CBuilder::Platform::dec_osf::VERSION = '0.280221'; +$ExtUtils::CBuilder::Platform::dec_osf::VERSION = '0.280223'; use strict; use ExtUtils::CBuilder::Platform::Unix; use File::Spec; diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm index a5d81ca..3129ed9 100644 --- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm +++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm @@ -1,5 +1,5 @@ package ExtUtils::CBuilder::Platform::os2; -$ExtUtils::CBuilder::Platform::os2::VERSION = '0.280221'; +$ExtUtils::CBuilder::Platform::os2::VERSION = '0.280223'; use strict; use ExtUtils::CBuilder::Platform::Unix; diff --git a/dist/ExtUtils-CBuilder/t/04-base.t b/dist/ExtUtils-CBuilder/t/04-base.t index 3b525b7..5daed5f 100644 --- a/dist/ExtUtils-CBuilder/t/04-base.t +++ b/dist/ExtUtils-CBuilder/t/04-base.t @@ -1,7 +1,7 @@ #! perl -w use strict; -use Test::More tests => 64; +use Test::More tests => 65; use Config; use Cwd; use File::Path qw( mkpath ); @@ -152,7 +152,6 @@ my ($lib, @temps); ok( -d $include_dir, "perl_inc() returned directory" ); } -# $base = ExtUtils::CBuilder::Base->new( quiet => 1 ); ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" ); isa_ok( $base, 'ExtUtils::CBuilder::Base' ); @@ -165,13 +164,27 @@ my %args = (); my @defines = $base->arg_defines( %args ); ok( ! @defines, "Empty hash passed to arg_defines() returns empty list" ); -%args = ( alpha => 'beta', gamma => 'delta' ); -my $defines_seen_ref = { map { $_ => 1 } $base->arg_defines( %args ) }; +my @epsilon = ( epsilon => 'zeta' ); +my @eta = ( eta => 'theta' ); +my @alpha = ( alpha => 'beta' ); +my @gamma = ( gamma => 'delta' ); +my @all = (\@epsilon, \@eta, \@alpha, \@gamma); + +%args = map { @{$_} } @all; +@defines = $base->arg_defines( %args ); +my $defines_seen_ref = { map { $_ => 1 } @defines }; +my $defines_expected_ref; +for my $r (@all) { + $defines_expected_ref->{"-D$r->[0]=$r->[1]"} = 1; +} is_deeply( $defines_seen_ref, - { '-Dalpha=beta' => 1, '-Dgamma=delta' => 1 }, + $defines_expected_ref, "arg_defines(): got expected defines", ); +my $ordered_defines_expected_ref = [ sort keys %{$defines_expected_ref} ]; +is_deeply(\@defines, $ordered_defines_expected_ref, + "Got expected order of defines: RT #124106"); my $include_dirs_seen_ref = { map {$_ => 1} $base->arg_include_dirs( qw| alpha beta gamma | ) }; diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp b/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp index d596cdf..e2ac71a 100644 --- a/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp +++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp @@ -1,6 +1,5 @@ #!perl use 5.006; -BEGIN { pop @INC if $INC[-1] eq '.' } use strict; eval { require ExtUtils::ParseXS; diff --git a/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm b/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm index a877fbf..f13d546 100644 --- a/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm +++ b/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm @@ -11,7 +11,7 @@ use vars qw( @ISA $VERSION $MATCH_SUPERS $USING_LANGUAGE_TAGS BEGIN { unless(defined &DEBUG) { *DEBUG = sub () {0} } } # define the constant 'DEBUG' at compile-time -$VERSION = "1.05_01"; +$VERSION = "1.05"; @ISA = (); use I18N::LangTags qw(alternate_language_tags locale2language_tag); @@ -145,8 +145,6 @@ sub _try_use { # Basically a wrapper around "require Modulename" print " About to use $module ...\n" if DEBUG; { local $SIG{'__DIE__'}; - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; eval "require $module"; # used to be "use $module", but no point in that. } if($@) { diff --git a/dist/IO/IO.pm b/dist/IO/IO.pm index 4b39c7a..2762958 100644 --- a/dist/IO/IO.pm +++ b/dist/IO/IO.pm @@ -7,7 +7,7 @@ use Carp; use strict; use warnings; -our $VERSION = "1.35_01"; +our $VERSION = "1.35"; XSLoader::load 'IO', $VERSION; sub import { @@ -18,8 +18,6 @@ sub import { my @l = @_ ? @_ : qw(Handle Seekable File Pipe Socket Dir); - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; eval join("", map { "require IO::" . (/(\w+)/)[0] . ";\n" } @l) or croak $@; } diff --git a/dist/Locale-Maketext/lib/Locale/Maketext.pm b/dist/Locale-Maketext/lib/Locale/Maketext.pm index e73c149..24c31ea 100644 --- a/dist/Locale-Maketext/lib/Locale/Maketext.pm +++ b/dist/Locale-Maketext/lib/Locale/Maketext.pm @@ -27,7 +27,7 @@ BEGIN { } -$VERSION = '1.26_01'; +$VERSION = '1.26'; @ISA = (); $MATCH_SUPERS = 1; @@ -449,8 +449,6 @@ sub _try_use { # Basically a wrapper around "require Modulename" local $SIG{'__DIE__'}; local $@; - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; eval "require $module"; # used to be "use $module", but no point in that. if($@) { diff --git a/dist/Math-BigInt/lib/Math/BigFloat.pm b/dist/Math-BigInt/lib/Math/BigFloat.pm index 1c31496..a423b35 100644 --- a/dist/Math-BigInt/lib/Math/BigFloat.pm +++ b/dist/Math-BigInt/lib/Math/BigFloat.pm @@ -12,7 +12,7 @@ package Math::BigFloat; # _a : accuracy # _p : precision -$VERSION = '1.9997'; +$VERSION = '1.999701'; require 5.006002; require Exporter; @@ -1476,6 +1476,7 @@ sub _log_10 { $twos++; $x->bdiv($two,$scale+4); # keep all digits } + $x->bround($scale+4); # $twos > 0 => did mul 2, < 0 => did div 2 (but we never did both) # So calculate correction factor based on ln(2): if ($twos != 0) @@ -1776,7 +1777,7 @@ sub bmuladd sub bdiv { # (dividend: BFLOAT or num_str, divisor: BFLOAT or num_str) return - # (BFLOAT,BFLOAT) (quo,rem) or BFLOAT (only rem) + # (BFLOAT, BFLOAT) (quo, rem) or BFLOAT (only quo) # set up parameters my ($self,$x,$y,$a,$p,$r) = (ref($_[0]),@_); @@ -1788,10 +1789,80 @@ sub bdiv return $x if $x->modify('bdiv'); - return $self->_div_inf($x,$y) - if (($x->{sign} !~ /^[+-]$/) || ($y->{sign} !~ /^[+-]$/) || $y->is_zero()); + my $wantarray = wantarray; # call only once - # x== 0 # also: or y == 1 or y == -1 + # At least one argument is NaN. This is handled the same way as in + # Math::BigInt -> bdiv(). + + if ($x -> is_nan() || $y -> is_nan()) { + return $wantarray ? ($x -> bnan(), $self -> bnan()) : $x -> bnan(); + } + + # Divide by zero and modulo zero. This is handled the same way as in + # Math::BigInt -> bdiv(). See the comment in the code for Math::BigInt -> + # bdiv() for further details. + + if ($y -> is_zero()) { + my ($quo, $rem); + if ($wantarray) { + $rem = $x -> copy(); + } + if ($x -> is_zero()) { + $quo = $x -> bnan(); + } else { + $quo = $x -> binf($x -> {sign}); + } + return $wantarray ? ($quo, $rem) : $quo; + } + + # Numerator (dividend) is +/-inf. This is handled the same way as in + # Math::BigInt -> bdiv(). See the comment in the code for Math::BigInt -> + # bdiv() for further details. + + if ($x -> is_inf()) { + my ($quo, $rem); + $rem = $self -> bnan() if $wantarray; + if ($y -> is_inf()) { + $quo = $x -> bnan(); + } else { + my $sign = $x -> bcmp(0) == $y -> bcmp(0) ? '+' : '-'; + $quo = $x -> binf($sign); + } + return $wantarray ? ($quo, $rem) : $quo; + } + + # Denominator (divisor) is +/-inf. This is handled the same way as in + # Math::BigInt -> bdiv(), with one exception: In scalar context, + # Math::BigFloat does true division (although rounded), not floored division + # (F-division), so a finite number divided by +/-inf is always zero. See the + # comment in the code for Math::BigInt -> bdiv() for further details. + + if ($y -> is_inf()) { + my ($quo, $rem); + if ($wantarray) { + if ($x -> is_zero() || $x -> bcmp(0) == $y -> bcmp(0)) { + $rem = $x -> copy(); + $quo = $x -> bzero(); + } else { + $rem = $self -> binf($y -> {sign}); + $quo = $x -> bone('-'); + } + return ($quo, $rem); + } else { + if ($y -> is_inf()) { + if ($x -> is_nan() || $x -> is_inf()) { + return $x -> bnan(); + } else { + return $x -> bzero(); + } + } + } + } + + # At this point, both the numerator and denominator are finite numbers, and + # the denominator (divisor) is non-zero. + + # x == 0? return wantarray ? ($x,$self->bzero()) : $x if $x->is_zero(); # upgrade ? @@ -1805,33 +1876,30 @@ sub bdiv return $x if $x->is_nan(); # error in _find_round_parameters? # no rounding at all, so must use fallback - if (scalar @params == 0) + if (scalar @params == 0) { # 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; # round mode by caller or undef $fallback = 1; # to clear a/p afterwards - } - else - { + } else { # the 4 below is empirical, and there might be cases where it is not # enough... $scale = abs($params[0] || $params[1]) + 4; # take whatever is defined } - my $rem; $rem = $self->bzero() if wantarray; + my $rem; + $rem = $self -> bzero() if wantarray; $y = $self->new($y) unless $y->isa('Math::BigFloat'); - my $lx = $MBI->_len($x->{_m}); my $ly = $MBI->_len($y->{_m}); + my $lx = $MBI -> _len($x->{_m}); my $ly = $MBI -> _len($y->{_m}); $scale = $lx if $lx > $scale; $scale = $ly if $ly > $scale; my $diff = $ly - $lx; $scale += $diff if $diff > 0; # if lx << ly, but not if ly << lx! - # already handled inf/NaN/-inf above: - # check that $y is not 1 nor -1 and cache the result: my $y_not_one = !($MBI->_is_zero($y->{_e}) && $MBI->_is_one($y->{_m})); @@ -1899,7 +1967,7 @@ sub bdiv { if ($y_not_one) { - $x -> bint(); + $x -> bfloor(); $rem->bmod($y,@params); # copy already done } if ($fallback) @@ -1926,34 +1994,54 @@ sub bmod return $x if $x->modify('bmod'); - # handle NaN, inf, -inf - if (($x->{sign} !~ /^[+-]$/) || ($y->{sign} !~ /^[+-]$/)) - { - my ($d,$re) = $self->SUPER::_div_inf($x,$y); - $x->{sign} = $re->{sign}; - $x->{_e} = $re->{_e}; - $x->{_m} = $re->{_m}; - return $x->round($a,$p,$r,$y); + # At least one argument is NaN. This is handled the same way as in + # Math::BigInt -> bmod(). + + if ($x -> is_nan() || $y -> is_nan()) { + return $x -> bnan(); } - if ($y->is_zero()) - { - return $x->bnan() if $x->is_zero(); + + # Modulo zero. This is handled the same way as in Math::BigInt -> bmod(). + + if ($y -> is_zero()) { return $x; } + # Numerator (dividend) is +/-inf. This is handled the same way as in + # Math::BigInt -> bmod(). + + if ($x -> is_inf()) { + return $x -> bnan(); + } + + # Denominator (divisor) is +/-inf. This is handled the same way as in + # Math::BigInt -> bmod(). + + if ($y -> is_inf()) { + if ($x -> is_zero() || $x -> bcmp(0) == $y -> bcmp(0)) { + return $x; + } else { + return $x -> binf($y -> sign()); + } + } + return $x->bzero() if $x->is_zero() || ($x->is_int() && # check that $y == +1 or $y == -1: ($MBI->_is_zero($y->{_e}) && $MBI->_is_one($y->{_m}))); my $cmp = $x->bacmp($y); # equal or $x < $y? - return $x->bzero($a,$p) if $cmp == 0; # $x == $y => result 0 + if ($cmp == 0) { # $x == $y => result 0 + return $x -> bzero($a, $p); + } # only $y of the operands negative? - my $neg = 0; $neg = 1 if $x->{sign} ne $y->{sign}; + my $neg = $x->{sign} ne $y->{sign} ? 1 : 0; $x->{sign} = $y->{sign}; # calc sign first - return $x->round($a,$p,$r) if $cmp < 0 && $neg == 0; # $x < $y => result $x + if ($cmp < 0 && $neg == 0) { # $x < $y => result $x + return $x -> round($a, $p, $r); + } my $ym = $MBI->_copy($y->{_m}); @@ -1996,7 +2084,7 @@ sub bmod $x->{sign} = '+' if $MBI->_is_zero($x->{_m}); # fix sign for -0 $x->bnorm(); - if ($neg != 0) # one of them negative => correct in place + if ($neg != 0 && ! $x -> is_zero()) # one of them negative => correct in place { my $r = $y - $x; $x->{_m} = $r->{_m}; @@ -3440,7 +3528,11 @@ sub bceil $x->{_m} = $MBI->_rsft($x->{_m},$x->{_e},10); # cut off digits after dot $x->{_e} = $MBI->_zero(); # trunc/norm $x->{_es} = '+'; # abs e - $MBI->_inc($x->{_m}) if $x->{sign} eq '+'; # increment if positive + if ($x->{sign} eq '+') { + $MBI->_inc($x->{_m}); # increment if positive + } else { + $x->{sign} = '+' if $MBI->_is_zero($x->{_m}); # avoid -0 + } } $x->round($a,$p,$r); } @@ -3459,6 +3551,7 @@ sub bint $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->{sign} = '+' if $MBI->_is_zero($x->{_m}); # avoid -0 } $x->round($a,$p,$r); } @@ -4027,8 +4120,8 @@ 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. +represent the result when input arguments are not numbers, and 'inf' and +'-inf' are used to represent positive and negative infinity, respectively. =head2 mantissa(), exponent() and parts() @@ -4208,6 +4301,25 @@ Note: You probably want to use L instead. With L you set the number of digits each result should have, with L you set the place where to round! +=item bdiv() + + $q = $x->bdiv($y); + ($q, $r) = $x->bdiv($y); + +In scalar context, divides $x by $y and returns the result to the given or +default accuracy/precision. In list context, does floored division +(F-division), returning an integer $q and a remainder $r so that $x = $q * $y + +$r. The remainer (modulo) is equal to what is returned by C<$x->bmod($y)>. + +=item bmod() + + $x->bmod($y); + +Returns $x modulo $y. When $x is finite, and $y is finite and non-zero, the +result is identical to the remainder after floored division (F-division). If, +in addition, both $x and $y are integers, the result is identical to the result +from Perl's % operator. + =item bexp() $x->bexp($accuracy); # calculate e ** X diff --git a/dist/Math-BigInt/lib/Math/BigInt.pm b/dist/Math-BigInt/lib/Math/BigInt.pm index 62f1be9..d990272 100644 --- a/dist/Math-BigInt/lib/Math/BigInt.pm +++ b/dist/Math-BigInt/lib/Math/BigInt.pm @@ -18,7 +18,7 @@ package Math::BigInt; my $class = "Math::BigInt"; use 5.006002; -$VERSION = '1.9997'; +$VERSION = '1.999701'; @ISA = qw(Exporter); @EXPORT_OK = qw(objectify bgcd blcm); @@ -626,9 +626,13 @@ sub new elsif ($e < 0) { # xE-y, and empty mfv - #print "xE-y\n"; - $e = abs($e); - if ($$miv !~ s/0{$e}$//) # can strip so many zero's? + # Split the mantissa at the decimal point. E.g., if + # $$miv = 12345 and $e = -2, then $frac = 45 and $$miv = 123. + + my $frac = substr($$miv, $e); # $frac is fraction part + substr($$miv, $e) = ""; # $$miv is now integer part + + if ($frac =~ /[^0]/) { if ($_trap_nan) { @@ -640,8 +644,10 @@ sub new } } } - $self->{sign} = '+' if $$miv eq '0'; # normalize -0 => +0 - $self->{value} = $CALC->_new($$miv) if $self->{sign} =~ /^[+-]$/; + unless ($self->{sign} eq $nan) { + $self->{sign} = '+' if $$miv eq '0'; # normalize -0 => +0 + $self->{value} = $CALC->_new($$miv) if $self->{sign} =~ /^[+-]$/; + } # if any of the globals is set, use them to round and store them inside $self # do not round for new($x,undef,undef) since that is used by MBF to signal # no rounding @@ -1657,103 +1663,175 @@ sub bmuladd $x->round(@r); } -sub _div_inf +sub bdiv { - # helper function that handles +-inf cases for bdiv()/bmod() to reuse code - my ($self,$x,$y) = @_; - # NaN if x == NaN or y == NaN or x==y==0 - return wantarray ? ($x->bnan(),$self->bnan()) : $x->bnan() - if (($x->is_nan() || $y->is_nan()) || - ($x->is_zero() && $y->is_zero())); + # This does floored division, where the quotient is floored toward negative + # infinity and the remainder has the same sign as the divisor. - # +-inf / +-inf == NaN, remainder also NaN - if (($x->{sign} =~ /^[+-]inf$/) && ($y->{sign} =~ /^[+-]inf$/)) - { - return wantarray ? ($x->bnan(),$self->bnan()) : $x->bnan(); + # Set up parameters. + my ($self,$x,$y,@r) = (ref($_[0]),@_); + + # objectify() is costly, so avoid it if we can. + if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1]))) { + ($self,$x,$y,@r) = objectify(2,@_); } - # x / +-inf => 0, remainder x (works even if x == 0) - if ($y->{sign} =~ /^[+-]inf$/) - { - my $t = $x->copy(); # bzero clobbers up $x - return wantarray ? ($x->bzero(),$t) : $x->bzero() + + return $x if $x->modify('bdiv'); + + my $wantarray = wantarray; # call only once + + # At least one argument is NaN. Return NaN for both quotient and the + # modulo/remainder. + + if ($x -> is_nan() || $y -> is_nan()) { + return $wantarray ? ($x -> bnan(), $self -> bnan()) : $x -> bnan(); } - # 5 / 0 => +inf, -6 / 0 => -inf - # +inf / 0 = inf, inf, and -inf / 0 => -inf, -inf - # exception: -8 / 0 has remainder -8, not 8 - # exception: -inf / 0 has remainder -inf, not inf - if ($y->is_zero()) - { - # +-inf / 0 => special case for -inf - return wantarray ? ($x,$x->copy()) : $x if $x->is_inf(); - if (!$x->is_zero() && !$x->is_inf()) - { - my $t = $x->copy(); # binf clobbers up $x - return wantarray ? - ($x->binf($x->{sign}),$t) : $x->binf($x->{sign}) + # Divide by zero and modulo zero. + # + # Division: Use the common convention that x / 0 is inf with the same sign + # as x, except when x = 0, where we return NaN. This is also what earlier + # versions did. + # + # Modulo: In modular arithmetic, the congruence relation z = x (mod y) + # means that there is some integer k such that z - x = k y. If y = 0, we + # get z - x = 0 or z = x. This is also what earlier versions did, except + # that 0 % 0 returned NaN. + # + # inf / 0 = inf inf % 0 = inf + # 5 / 0 = inf 5 % 0 = 5 + # 0 / 0 = NaN 0 % 0 = 0 (before: NaN) + # -5 / 0 = -inf -5 % 0 = -5 + # -inf / 0 = -inf -inf % 0 = -inf + + if ($y -> is_zero()) { + my ($quo, $rem); + if ($wantarray) { + $rem = $x -> copy(); + } + if ($x -> is_zero()) { + $quo = $x -> bnan(); + } else { + $quo = $x -> binf($x -> {sign}); + } + return $wantarray ? ($quo, $rem) : $quo; + } + + # Numerator (dividend) is +/-inf, and denominator is finite and non-zero. + # The divide by zero cases are covered above. In all of the cases listed + # below we return the same as core Perl. + # + # inf / -inf = NaN inf % -inf = NaN + # inf / -5 = -inf inf % -5 = NaN (before: 0) + # inf / 5 = inf inf % 5 = NaN (before: 0) + # inf / inf = NaN inf % inf = NaN + # + # -inf / -inf = NaN -inf % -inf = NaN + # -inf / -5 = inf -inf % -5 = NaN (before: 0) + # -inf / 5 = -inf -inf % 5 = NaN (before: 0) + # -inf / inf = NaN -inf % inf = NaN + + if ($x -> is_inf()) { + my ($quo, $rem); + $rem = $self -> bnan() if $wantarray; + if ($y -> is_inf()) { + $quo = $x -> bnan(); + } else { + my $sign = $x -> bcmp(0) == $y -> bcmp(0) ? '+' : '-'; + $quo = $x -> binf($sign); } + return $wantarray ? ($quo, $rem) : $quo; } - # last case: +-inf / ordinary number - my $sign = '+inf'; - $sign = '-inf' if substr($x->{sign},0,1) ne $y->{sign}; - $x->{sign} = $sign; - return wantarray ? ($x,$self->bzero()) : $x; + # Denominator (divisor) is +/-inf. The cases when the numerator is +/-inf + # are covered above. In the modulo cases (in the right column) we return + # the same as core Perl, which does floored division, so for consistency we + # also do floored division in the division cases (in the left column). + # + # -5 / inf = -1 (before: 0) -5 % inf = inf (before: -5) + # 0 / inf = 0 0 % inf = 0 + # 5 / inf = 0 5 % inf = 5 + # + # -5 / -inf = 0 -5 % -inf = -5 + # 0 / -inf = 0 0 % -inf = 0 + # 5 / -inf = -1 (before: 0) 5 % -inf = -inf (before: 5) + + if ($y -> is_inf()) { + my ($quo, $rem); + if ($x -> is_zero() || $x -> bcmp(0) == $y -> bcmp(0)) { + $rem = $x -> copy() if $wantarray; + $quo = $x -> bzero(); + } else { + $rem = $self -> binf($y -> {sign}) if $wantarray; + $quo = $x -> bone('-'); + } + return $wantarray ? ($quo, $rem) : $quo; } -sub bdiv - { - # (dividend: BINT or num_str, divisor: BINT or num_str) return - # (BINT,BINT) (quo,rem) or BINT (only rem) - - # set up parameters - my ($self,$x,$y,@r) = (ref($_[0]),@_); - # objectify is costly, so avoid it - if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1]))) - { - ($self,$x,$y,@r) = objectify(2,@_); - } - - return $x if $x->modify('bdiv'); - - return $self->_div_inf($x,$y) - if (($x->{sign} !~ /^[+-]$/) || ($y->{sign} !~ /^[+-]$/) || $y->is_zero()); + # At this point, both the numerator and denominator are finite numbers, and + # the denominator (divisor) is non-zero. return $upgrade->bdiv($upgrade->new($x),$upgrade->new($y),@r) if defined $upgrade; $r[3] = $y; # no push! - # calc new sign and in case $y == +/- 1, return $x - my $xsign = $x->{sign}; # keep - $x->{sign} = ($x->{sign} ne $y->{sign} ? '-' : '+'); + # Inialize remainder. - if (wantarray) - { my $rem = $self->bzero(); + + # Are both operands the same object, i.e., like $x -> bdiv($x)? + # If so, flipping the sign of $y also flips the sign of $x. + + my $xsign = $x->{sign}; + my $ysign = $y->{sign}; + + $y->{sign} =~ tr/+-/-+/; # Flip the sign of $y, and see ... + my $same = $xsign ne $x->{sign}; # ... if that changed the sign of $x. + $y->{sign} = $ysign; # Re-insert the original sign. + + if ($same) { + $x -> bone(); + } else { ($x->{value},$rem->{value}) = $CALC->_div($x->{value},$y->{value}); - $x->{sign} = '+' if $CALC->_is_zero($x->{value}); - $rem->{_a} = $x->{_a}; - $rem->{_p} = $x->{_p}; + + if ($CALC -> _is_zero($rem->{value})) { + if ($xsign eq $ysign || $CALC -> _is_zero($x->{value})) { + $x->{sign} = '+'; + } else { + $x->{sign} = '-'; + } + } else { + if ($xsign eq $ysign) { + $x->{sign} = '+'; + } else { + if ($xsign eq '+') { + $x -> badd(1); + } else { + $x -> bsub(1); + } + $x->{sign} = '-'; + } + } + } + $x->round(@r); - if (! $CALC->_is_zero($rem->{value})) - { - $rem->{sign} = $y->{sign}; - $rem = $y->copy()->bsub($rem) if $xsign ne $y->{sign}; # one of them '-' + + if ($wantarray) { + unless ($CALC -> _is_zero($rem->{value})) { + if ($xsign ne $ysign) { + $rem = $y -> copy() -> babs() -> bsub($rem); } - else - { - $rem->{sign} = '+'; # do not leave -0 + $rem->{sign} = $ysign; } + $rem->{_a} = $x->{_a}; + $rem->{_p} = $x->{_p}; $rem->round(@r); return ($x,$rem); } - $x->{value} = $CALC->_div($x->{value},$y->{value}); - $x->{sign} = '+' if $CALC->_is_zero($x->{value}); - - $x->round(@r); + return $x; } ############################################################################### @@ -1761,11 +1839,14 @@ sub bdiv sub bmod { - # modulus (or remainder) - # (BINT or num_str, BINT or num_str) return BINT - # set up parameters + # This is the remainder after floored division, where the quotient is + # floored toward negative infinity and the remainder has the same sign as + # the divisor. + + # Set up parameters. my ($self,$x,$y,@r) = (ref($_[0]),@_); + # objectify is costly, so avoid it if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1]))) { @@ -1774,35 +1855,62 @@ sub bmod return $x if $x->modify('bmod'); $r[3] = $y; # no push! - if (($x->{sign} !~ /^[+-]$/) || ($y->{sign} !~ /^[+-]$/) || $y->is_zero()) - { - my ($d,$r) = $self->_div_inf($x,$y); - $x->{sign} = $r->{sign}; - $x->{value} = $r->{value}; - return $x->round(@r); + + # At least one argument is NaN. + + if ($x -> is_nan() || $y -> is_nan()) { + return $x -> bnan(); + } + + # Modulo zero. See documentation for bdiv(). + + if ($y -> is_zero()) { + return $x; + } + + # Numerator (dividend) is +/-inf. + + if ($x -> is_inf()) { + return $x -> bnan(); + } + + # Denominator (divisor) is +/-inf. + + if ($y -> is_inf()) { + if ($x -> is_zero() || $x -> bcmp(0) == $y -> bcmp(0)) { + return $x; + } else { + return $x -> binf($y -> sign()); + } } - # calc new sign and in case $y == +/- 1, return $x + # Calc new sign and in case $y == +/- 1, return $x. + $x->{value} = $CALC->_mod($x->{value},$y->{value}); - if (!$CALC->_is_zero($x->{value})) + if ($CALC -> _is_zero($x->{value})) + { + $x->{sign} = '+'; # do not leave -0 + } + else { $x->{value} = $CALC->_sub($y->{value},$x->{value},1) # $y-$x if ($x->{sign} ne $y->{sign}); $x->{sign} = $y->{sign}; } - else - { - $x->{sign} = '+'; # do not leave -0 - } + $x->round(@r); } sub bmodinv { - # Return modular multiplicative inverse: z is the modular inverse of x (mod - # y) if and only if x*z (mod y) = 1 (mod y). If the modulus y is larger than - # one, x and z are relative primes (i.e., their greatest common divisor is - # one). + # Return modular multiplicative inverse: + # + # z is the modular inverse of x (mod y) if and only if + # + # x*z ≡ 1 (mod y) + # + # If the modulus y is larger than one, x and z are relative primes (i.e., + # their greatest common divisor is one). # # If no modular multiplicative inverse exists, NaN is returned. @@ -1896,8 +2004,17 @@ sub bmodpow return $num->bnan() if ($num->{sign} =~ /NaN|inf/ || # NaN, -inf, +inf $exp->{sign} =~ /NaN|inf/ || # NaN, -inf, +inf - $mod->{sign} =~ /NaN|inf/ || # NaN, -inf, +inf - $mod->is_zero()); + $mod->{sign} =~ /NaN|inf/); # NaN, -inf, +inf + + # Modulo zero. See documentation for Math::BigInt's bmod() method. + + if ($mod -> is_zero()) { + if ($num -> is_zero()) { + return $self -> bnan(); + } else { + return $num -> copy(); + } + } # Compute 'a (mod m)', ignoring the signs on 'a' and 'm'. If the resulting # value is zero, the output is also zero, regardless of the signs on 'a' and @@ -3927,12 +4044,20 @@ This method was added in v1.87 of Math::BigInt (June 2007). =item bdiv() $x->bdiv($y); # divide, set $x to quotient - # return (quo,rem) or quo if scalar + +Returns $x divided by $y. In list context, does floored division (F-division), +where the quotient is the greatest integer less than or equal to the quotient +of the two operands. Consequently, the remainder is either zero or has the same +sign as the second operand. In scalar context, only the quotient is returned. =item bmod() $x->bmod($y); # modulus (x % y) +Returns $x modulo $y. When $x is finite, and $y is finite and non-zero, the +result is identical to the remainder after floored division (F-division), i.e., +identical to the result from Perl's % operator. + =item bmodinv() $x->bmodinv($mod); # modular multiplicative inverse diff --git a/dist/Math-BigInt/lib/Math/BigInt/Calc.pm b/dist/Math-BigInt/lib/Math/BigInt/Calc.pm index d511bab..ce9bf3a 100644 --- a/dist/Math-BigInt/lib/Math/BigInt/Calc.pm +++ b/dist/Math-BigInt/lib/Math/BigInt/Calc.pm @@ -4,7 +4,7 @@ use 5.006002; use strict; # use warnings; # do not use warnings for older Perls -our $VERSION = '1.9997'; +our $VERSION = '1.999701'; # Package to store unsigned big integers in decimal and do math with them diff --git a/dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm b/dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm index 9bf3e07..0ff9dcc 100644 --- a/dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm +++ b/dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm @@ -5,7 +5,7 @@ use strict; # use warnings; # do not use warnings for older Perls use vars qw/$VERSION/; -$VERSION = '1.9997'; +$VERSION = '1.999701'; package Math::BigInt; diff --git a/dist/Math-BigInt/t/bare_mbf.t b/dist/Math-BigInt/t/bare_mbf.t index 49ba8cb..69dcc80 100644 --- a/dist/Math-BigInt/t/bare_mbf.t +++ b/dist/Math-BigInt/t/bare_mbf.t @@ -1,7 +1,7 @@ #!/usr/bin/perl -w use strict; -use Test::More tests => 2338; +use Test::More tests => 2340; BEGIN { unshift @INC, 't'; } diff --git a/dist/Math-BigInt/t/bare_mbi.t b/dist/Math-BigInt/t/bare_mbi.t index eaedbf7..8aedf43 100644 --- a/dist/Math-BigInt/t/bare_mbi.t +++ b/dist/Math-BigInt/t/bare_mbi.t @@ -1,7 +1,7 @@ #!/usr/bin/perl -w use strict; -use Test::More tests => 3651; +use Test::More tests => 3649; BEGIN { unshift @INC, 't'; } diff --git a/dist/Math-BigInt/t/bigfltpm.inc b/dist/Math-BigInt/t/bigfltpm.inc index 1528e48..3eb2e21 100644 --- a/dist/Math-BigInt/t/bigfltpm.inc +++ b/dist/Math-BigInt/t/bigfltpm.inc @@ -1404,7 +1404,7 @@ NaNmul:-inf:NaN 6:120:720 10:10000:100000 &fdiv-list -0:0:NaN,NaN +0:0:NaN,0 0:1:0,0 9:4:2,1 9:5:1,4 @@ -1499,13 +1499,13 @@ $div_scale = 40 0:inf:0 0:-inf:0 5:inf:5 -5:-inf:5 --5:inf:-5 +5:-inf:-inf +-5:inf:inf -5:-inf:-5 -inf:5:0 --inf:5:0 -inf:-5:0 --inf:-5:0 +inf:5:NaN +-inf:5:NaN +inf:-5:NaN +-inf:-5:NaN 5:5:0 -5:-5:0 inf:inf:NaN @@ -1514,14 +1514,12 @@ inf:inf:NaN inf:-inf:NaN 8:0:8 inf:0:inf -# exceptions to remainder rule -inf:0:-inf -8:0:-8 -0:0:NaN +0:0:0 abc:abc:NaN abc:1:abc:NaN 1:abc:NaN -0:0:NaN 0:1:0 1:0:1 0:-1:0 @@ -1825,6 +1823,7 @@ abc:NaN -51:-51 -51.2:-51 12.2:13 +-0.4:0 &fint 0:0 NaN:NaN @@ -1834,3 +1833,4 @@ NaN:NaN -51:-51 -51.2:-51 12.2:12 +-0.4:0 diff --git a/dist/Math-BigInt/t/bigfltpm.t b/dist/Math-BigInt/t/bigfltpm.t index de3c80e..8653f77 100644 --- a/dist/Math-BigInt/t/bigfltpm.t +++ b/dist/Math-BigInt/t/bigfltpm.t @@ -1,7 +1,7 @@ #!/usr/bin/perl -w use strict; -use Test::More tests => 2338 +use Test::More tests => 2340 + 5; # own tests diff --git a/dist/Math-BigInt/t/bigintpm.inc b/dist/Math-BigInt/t/bigintpm.inc index c3e815c..08a98ac 100644 --- a/dist/Math-BigInt/t/bigintpm.inc +++ b/dist/Math-BigInt/t/bigintpm.inc @@ -1091,6 +1091,8 @@ E23:NaN -1010E-2:NaN -1.01E+1:NaN -1.01E-1:NaN +1E-999999:NaN +0.5:NaN &bnan 1:NaN 2:NaN @@ -1548,19 +1550,19 @@ NaNmul:-inf:NaN 5:8:0,5 0:8:0,0 11:2:5,1 -11:-2:-5,-1 --11:2:-5,1 +11:-2:-6,-1 +-11:2:-6,1 # see table in documentation in MBI 0:inf:0,0 0:-inf:0,0 5:inf:0,5 -5:-inf:0,5 --5:inf:0,-5 +5:-inf:-1,-inf +-5:inf:-1,inf -5:-inf:0,-5 -inf:5:inf,0 --inf:5:-inf,0 -inf:-5:-inf,0 --inf:-5:inf,0 +inf:5:inf,NaN +-inf:5:-inf,NaN +inf:-5:-inf,NaN +-inf:-5:inf,NaN 5:5:1,0 -5:-5:1,0 inf:inf:NaN,NaN @@ -1572,7 +1574,7 @@ inf:0:inf,inf # exceptions to remainder rule -8:0:-inf,-8 -inf:0:-inf,-inf -0:0:NaN,NaN +0:0:NaN,0 # test the shortcut in Calc if @$x == @$yorg 1234567812345678:123456712345678:10,688888898 12345671234567:1234561234567:10,58888897 @@ -1615,8 +1617,8 @@ abc:1:NaN 0:inf:0 0:-inf:0 5:inf:0 -5:-inf:0 --5:inf:0 +5:-inf:-1 +-5:inf:-1 -5:-inf:0 inf:5:inf -inf:5:-inf @@ -1635,8 +1637,8 @@ inf:0:inf 0:0:NaN 11:2:5 -11:-2:5 --11:2:-5 -11:-2:-5 +-11:2:-6 +11:-2:-6 0:1:0 0:-1:0 1:1:1 @@ -1670,17 +1672,17 @@ inf:0:inf 999999999999999:99999:10000100001 +1111088889:99999:11111 -5:-3:1 --5:3:-1 +-5:3:-2 4:3:1 -4:-3:-1 +4:-3:-2 1:3:0 -1:-3:0 +1:-3:-1 -2:-3:0 --2:3:0 +-2:3:-1 8:3:2 --8:3:-2 -14:-3:-4 --14:3:-4 +-8:3:-3 +14:-3:-5 +-14:3:-5 -14:-3:4 14:3:4 # bug in Calc with '99999' vs $BASE-1 @@ -1774,7 +1776,7 @@ abc:abc:5:NaN 5:5:abc:NaN 5:abc:5:NaN abc:5:5:NaN -3:5:0:NaN +3:5:0:3 # bmodpow Expected results 0:0:2:1 1:0:2:1 @@ -1940,13 +1942,13 @@ inf:5:13:NaN 0:inf:0 0:-inf:0 5:inf:5 -5:-inf:5 --5:inf:-5 +5:-inf:-inf +-5:inf:inf -5:-inf:-5 -inf:5:0 --inf:5:0 -inf:-5:0 --inf:-5:0 +inf:5:NaN +-inf:5:NaN +inf:-5:NaN +-inf:-5:NaN 5:5:0 -5:-5:0 inf:inf:NaN @@ -1955,14 +1957,12 @@ inf:inf:NaN inf:-inf:NaN 8:0:8 inf:0:inf -# exceptions to remainder rule -inf:0:-inf -8:0:-8 -0:0:NaN +0:0:0 abc:abc:NaN abc:1:abc:NaN 1:abc:NaN -0:0:NaN 0:1:0 1:0:1 0:-1:0 @@ -2409,8 +2409,6 @@ inf:-inf:NaN 15241:2:123 144:2:12 12:2:3 -0.49:2:0 -0.0049:2:0 # invalid ones 1:NaN:NaN -1:NaN:NaN diff --git a/dist/Math-BigInt/t/bigintpm.t b/dist/Math-BigInt/t/bigintpm.t index 8f009ec..a03710e 100644 --- a/dist/Math-BigInt/t/bigintpm.t +++ b/dist/Math-BigInt/t/bigintpm.t @@ -1,7 +1,7 @@ #!/usr/bin/perl -w use strict; -use Test::More tests => 3651 + 6; +use Test::More tests => 3649 + 6; use Math::BigInt lib => 'Calc'; diff --git a/dist/Math-BigInt/t/inf_nan.t b/dist/Math-BigInt/t/inf_nan.t index b3f61ba..270689b 100644 --- a/dist/Math-BigInt/t/inf_nan.t +++ b/dist/Math-BigInt/t/inf_nan.t @@ -18,10 +18,10 @@ use Math::BigFloat; use Math::BigInt::Subclass; use Math::BigFloat::Subclass; -my @classes = - qw/Math::BigInt Math::BigFloat - Math::BigInt::Subclass Math::BigFloat::Subclass - /; +my @biclasses = + qw/ Math::BigInt Math::BigInt::Subclass /; +my @bfclasses = + qw/ Math::BigFloat Math::BigFloat::Subclass /; my (@args,$x,$y,$z); @@ -77,7 +77,7 @@ foreach (qw/ /) { @args = split /:/,$_; - for my $class (@classes) + for my $class (@biclasses, @bfclasses) { $x = $class->new($args[0]); $y = $class->new($args[1]); @@ -141,7 +141,7 @@ foreach (qw/ /) { @args = split /:/,$_; - for my $class (@classes) + for my $class (@biclasses, @bfclasses) { $x = $class->new($args[0]); $y = $class->new($args[1]); @@ -205,7 +205,7 @@ foreach (qw/ /) { @args = split /:/,$_; - for my $class (@classes) + for my $class (@biclasses, @bfclasses) { $x = $class->new($args[0]); $y = $class->new($args[1]); @@ -224,7 +224,7 @@ foreach (qw/ -1:-inf:0 -0:-inf:0 0:-inf:-0 - 1:-inf:-0 + 1:-inf:-1 inf:-inf:NaN NaN:-inf:NaN @@ -253,7 +253,7 @@ foreach (qw/ NaN:1:NaN -inf:inf:NaN - -1:inf:-0 + -1:inf:-1 -0:inf:-0 0:inf:0 1:inf:0 @@ -270,7 +270,7 @@ foreach (qw/ /) { @args = split /:/,$_; - for my $class (@classes) + for my $class (@biclasses, @bfclasses) { $x = $class->new($args[0]); $y = $class->new($args[1]); @@ -280,9 +280,11 @@ foreach (qw/ my $tmod = $t->copy(); # bdiv in scalar context + unless ($class =~ /^Math::BigFloat/) { my $r = $x->bdiv($y); is($x->bstr(),$args[2],"x $class $args[0] / $args[1]"); is($r->bstr(),$args[2],"r $class $args[0] / $args[1]"); + } # bmod and bdiv in list context my ($d,$rem) = $t->bdiv($y); @@ -302,6 +304,75 @@ foreach (qw/ } } +# / +foreach (qw/ + -inf:-inf:NaN + -1:-inf:0 + -0:-inf:0 + 0:-inf:-0 + 1:-inf:-0 + inf:-inf:NaN + NaN:-inf:NaN + + -inf:-1:inf + -1:-1:1 + -0:-1:0 + 0:-1:-0 + 1:-1:-1 + inf:-1:-inf + NaN:-1:NaN + + -inf:0:-inf + -1:0:-inf + -0:0:NaN + 0:0:NaN + 1:0:inf + inf:0:inf + NaN:0:NaN + + -inf:1:-inf + -1:1:-1 + -0:1:-0 + 0:1:0 + 1:1:1 + inf:1:inf + NaN:1:NaN + + -inf:inf:NaN + -1:inf:-0 + -0:inf:-0 + 0:inf:0 + 1:inf:0 + inf:inf:NaN + NaN:inf:NaN + + -inf:NaN:NaN + -1:NaN:NaN + -0:NaN:NaN + 0:NaN:NaN + 1:NaN:NaN + inf:NaN:NaN + NaN:NaN:NaN + /) + { + @args = split /:/,$_; + for my $class (@bfclasses) + { + $x = $class->new($args[0]); + $y = $class->new($args[1]); + $args[2] = '0' if $args[2] eq '-0'; # BigInt/Float hasn't got -0 + + my $t = $x->copy(); + my $tmod = $t->copy(); + + # bdiv in scalar context + my $r = $x->bdiv($y); + is($x->bstr(),$args[2],"x $class $args[0] / $args[1]"); + is($r->bstr(),$args[2],"r $class $args[0] / $args[1]"); + + } + } + ############################################################################# # overloaded comparisons @@ -309,7 +380,7 @@ foreach (qw/ # mind what NaN actually is, see [perl #33106]. # -#foreach my $c (@classes) +#foreach my $c (@biclasses, @bfclasses) # { # my $x = $c->bnan(); # my $y = $c->bnan(); # test with two different objects, too diff --git a/dist/Math-BigInt/t/sub_mbf.t b/dist/Math-BigInt/t/sub_mbf.t index 061b06a..fec4d07 100644 --- a/dist/Math-BigInt/t/sub_mbf.t +++ b/dist/Math-BigInt/t/sub_mbf.t @@ -1,7 +1,7 @@ #!/usr/bin/perl -w use strict; -use Test::More tests => 2338 +use Test::More tests => 2340 + 6; # + our own tests diff --git a/dist/Math-BigInt/t/sub_mbi.t b/dist/Math-BigInt/t/sub_mbi.t index e23389d..b8e0a02 100644 --- a/dist/Math-BigInt/t/sub_mbi.t +++ b/dist/Math-BigInt/t/sub_mbi.t @@ -1,7 +1,7 @@ #!/usr/bin/perl -w use strict; -use Test::More tests => 3651 +use Test::More tests => 3649 + 5; # +5 own tests BEGIN { unshift @INC, 't'; } diff --git a/dist/Math-BigInt/t/upgrade.inc b/dist/Math-BigInt/t/upgrade.inc index ef0a6ea..16ca05e 100644 --- a/dist/Math-BigInt/t/upgrade.inc +++ b/dist/Math-BigInt/t/upgrade.inc @@ -841,19 +841,19 @@ NaNmul:-inf:NaN 5:8:0,5 0:8:0,0 11:2:5,1 -11:-2:-5,-1 --11:2:-5,1 +11:-2:-6,-1 +-11:2:-6,1 # see table in documentation in MBI 0:inf:0,0 0:-inf:0,0 5:inf:0,5 -5:-inf:0,5 --5:inf:0,-5 +5:-inf:-1,-inf +-5:inf:-1,inf -5:-inf:0,-5 -inf:5:inf,0 --inf:5:-inf,0 -inf:-5:-inf,0 --inf:-5:inf,0 +inf:5:inf,NaN +-inf:5:-inf,NaN +inf:-5:-inf,NaN +-inf:-5:inf,NaN 5:5:1,0 -5:-5:1,0 inf:inf:NaN,NaN @@ -865,7 +865,7 @@ inf:0:inf,inf # exceptions to remainder rule -8:0:-inf,-8 -inf:0:-inf,-inf -0:0:NaN,NaN +0:0:NaN,0 &bdiv abc:abc:NaN abc:1:NaN @@ -875,8 +875,8 @@ abc:1:NaN 0:inf:0 0:-inf:0 5:inf:0 -5:-inf:0 --5:inf:0 +5:-inf:-1 +-5:inf:-1 -5:-inf:0 inf:5:inf -inf:5:-inf @@ -892,7 +892,6 @@ inf:-inf:NaN inf:0:inf -8:0:-inf -inf:0:-inf -0:0:NaN 11:2:5.5^ -11:-2:5.5^ -11:2:-5.5^ @@ -950,13 +949,13 @@ inf:0:inf 0:inf:0 0:-inf:0 5:inf:5 -5:-inf:5 --5:inf:-5 +5:-inf:-inf +-5:inf:inf -5:-inf:-5 -inf:5:0 --inf:5:0 -inf:-5:0 --inf:-5:0 +inf:5:NaN +-inf:5:NaN +inf:-5:NaN +-inf:-5:NaN 5:5:0 -5:-5:0 inf:inf:NaN @@ -965,14 +964,12 @@ inf:inf:NaN inf:-inf:NaN 8:0:8 inf:0:inf -# exceptions to remainder rule -inf:0:-inf -8:0:-8 -0:0:NaN +0:0:0 abc:abc:NaN abc:1:abc:NaN 1:abc:NaN -0:0:NaN 0:1:0 1:0:1 0:-1:0 diff --git a/dist/Math-BigInt/t/upgrade.t b/dist/Math-BigInt/t/upgrade.t index ab09f53..d209879 100644 --- a/dist/Math-BigInt/t/upgrade.t +++ b/dist/Math-BigInt/t/upgrade.t @@ -1,7 +1,7 @@ #!/usr/bin/perl -w use strict; -use Test::More tests => 2128 +use Test::More tests => 2124 + 2; # our own tests use Math::BigInt upgrade => 'Math::BigFloat'; diff --git a/dist/Math-BigInt/t/with_sub.t b/dist/Math-BigInt/t/with_sub.t index 6f5d72d..d90bbbc 100644 --- a/dist/Math-BigInt/t/with_sub.t +++ b/dist/Math-BigInt/t/with_sub.t @@ -3,7 +3,7 @@ # Test use Math::BigFloat with => 'Math::BigInt::SomeSubclass'; use strict; -use Test::More tests => 2338 + 1; +use Test::More tests => 2340 + 1; use Math::BigFloat with => 'Math::BigInt::Subclass', lib => 'Calc'; diff --git a/dist/Math-BigRat/lib/Math/BigRat.pm b/dist/Math-BigRat/lib/Math/BigRat.pm index 7f5b867..e0c12b3 100644 --- a/dist/Math-BigRat/lib/Math/BigRat.pm +++ b/dist/Math-BigRat/lib/Math/BigRat.pm @@ -24,7 +24,7 @@ use vars qw($VERSION @ISA $upgrade $downgrade @ISA = qw(Math::BigFloat); -$VERSION = '0.2608'; +$VERSION = '0.260801'; $VERSION = eval $VERSION; # inherit overload from Math::BigFloat, but disable the bitwise ops that don't @@ -640,10 +640,81 @@ sub bdiv ($self,$x,$y,@r) = objectify(2,@_); } - return $self->_div_inf($x,$y) - if (($x->{sign} !~ /^[+-]$/) || ($y->{sign} !~ /^[+-]$/) || $y->is_zero()); + return $x if $x->modify('bdiv'); - # x== 0 # also: or y == 1 or y == -1 + my $wantarray = wantarray; # call only once + + # At least one argument is NaN. This is handled the same way as in + # Math::BigInt -> bdiv(). See the comments in the code implementing that + # method. + + if ($x -> is_nan() || $y -> is_nan()) { + return $wantarray ? ($x -> bnan(), $self -> bnan()) : $x -> bnan(); + } + + # Divide by zero and modulo zero. This is handled the same way as in + # Math::BigInt -> bdiv(). See the comments in the code implementing that + # method. + + if ($y -> is_zero()) { + my ($quo, $rem); + if ($wantarray) { + $rem = $x -> copy(); + } + if ($x -> is_zero()) { + $quo = $x -> bnan(); + } else { + $quo = $x -> binf($x -> {sign}); + } + return $wantarray ? ($quo, $rem) : $quo; + } + + # Numerator (dividend) is +/-inf. This is handled the same way as in + # Math::BigInt -> bdiv(). See the comments in the code implementing that + # method. + + if ($x -> is_inf()) { + my ($quo, $rem); + $rem = $self -> bnan() if $wantarray; + if ($y -> is_inf()) { + $quo = $x -> bnan(); + } else { + my $sign = $x -> bcmp(0) == $y -> bcmp(0) ? '+' : '-'; + $quo = $x -> binf($sign); + } + return $wantarray ? ($quo, $rem) : $quo; + } + + # Denominator (divisor) is +/-inf. This is handled the same way as in + # Math::BigFloat -> bdiv(). See the comments in the code implementing that + # method. + + if ($y -> is_inf()) { + my ($quo, $rem); + if ($wantarray) { + if ($x -> is_zero() || $x -> bcmp(0) == $y -> bcmp(0)) { + $rem = $x -> copy(); + $quo = $x -> bzero(); + } else { + $rem = $self -> binf($y -> {sign}); + $quo = $x -> bone('-'); + } + return ($quo, $rem); + } else { + if ($y -> is_inf()) { + if ($x -> is_nan() || $x -> is_inf()) { + return $x -> bnan(); + } else { + return $x -> bzero(); + } + } + } + } + + # At this point, both the numerator and denominator are finite numbers, and + # the denominator (divisor) is non-zero. + + # x == 0? return wantarray ? ($x,$self->bzero()) : $x if $x->is_zero(); # XXX TODO: list context, upgrade @@ -660,8 +731,17 @@ sub bdiv # compute new sign $x->{sign} = $x->{sign} eq $y->{sign} ? '+' : '-'; - $x->bnorm()->round(@r); - $x; + $x -> bnorm(); + if (wantarray) { + my $rem = $x -> copy(); + $x -> bfloor(); + $x -> round(@r); + $rem -> bsub($x -> copy()) -> bmul($y); + return $x, $rem; + } else { + $x -> round(@r); + return $x; + } } sub bmod @@ -676,35 +756,49 @@ sub bmod ($self,$x,$y,@r) = objectify(2,@_); } - return $self->_div_inf($x,$y) - if (($x->{sign} !~ /^[+-]$/) || ($y->{sign} !~ /^[+-]$/) || $y->is_zero()); + return $x if $x->modify('bmod'); - return $x if $x->is_zero(); # 0 / 7 = 0, mod 0 + # At least one argument is NaN. This is handled the same way as in + # Math::BigInt -> bmod(). - # compute $x - $y * floor($x/$y), keeping the sign of $x + if ($x -> is_nan() || $y -> is_nan()) { + return $x -> bnan(); + } - # copy x to u, make it positive and then do a normal division ($u/$y) - my $u = bless { sign => '+' }, $self; - $u->{_n} = $MBI->_mul( $MBI->_copy($x->{_n}), $y->{_d} ); - $u->{_d} = $MBI->_mul( $MBI->_copy($x->{_d}), $y->{_n} ); + # Modulo zero. This is handled the same way as in Math::BigInt -> bmod(). - # compute floor(u) - if (! $MBI->_is_one($u->{_d})) - { - $u->{_n} = $MBI->_div($u->{_n},$u->{_d}); # 22/7 => 3/1 w/ truncate - # no need to set $u->{_d} to 1, since below we set it to $y->{_d} anyway + if ($y -> is_zero()) { + return $x; } - # now compute $y * $u - $u->{_d} = $MBI->_copy($y->{_d}); # 1 * $y->{_d}, see floor above - $u->{_n} = $MBI->_mul($u->{_n},$y->{_n}); + # Numerator (dividend) is +/-inf. This is handled the same way as in + # Math::BigInt -> bmod(). - my $xsign = $x->{sign}; $x->{sign} = '+'; # remember sign and make x positive - # compute $x - $u - $x->bsub($u); - $x->{sign} = $xsign; # put sign back + if ($x -> is_inf()) { + return $x -> bnan(); + } - $x->bnorm()->round(@r); + # Denominator (divisor) is +/-inf. This is handled the same way as in + # Math::BigInt -> bmod(). + + if ($y -> is_inf()) { + if ($x -> is_zero() || $x -> bcmp(0) == $y -> bcmp(0)) { + return $x; + } else { + return $x -> binf($y -> sign()); + } + } + + # At this point, both the numerator and denominator are finite numbers, and + # the denominator (divisor) is non-zero. + + return $x if $x->is_zero(); # 0 / 7 = 0, mod 0 + + # Compute $x - $y * floor($x/$y). This can probably be optimized by working + # on a lower level. + + $x -> bsub($x -> copy() -> bdiv($y) -> bfloor() -> bmul($y)); + return $x -> round(@r); } ############################################################################## @@ -1796,12 +1890,12 @@ Are not yet implemented. =head2 bmod() - use Math::BigRat; - my $x = Math::BigRat->new('7/4'); - my $y = Math::BigRat->new('4/3'); - print $x->bmod($y); + $x->bmod($y); -Set $x to the remainder of the division of $x by $y. +Returns $x modulo $y. When $x is finite, and $y is finite and non-zero, the +result is identical to the remainder after floored division (F-division). If, +in addition, both $x and $y are integers, the result is identical to the result +from Perl's % operator. =head2 bneg() @@ -1883,9 +1977,45 @@ Calculate the square root of $x. Calculate the N'th root of $x. -=head2 badd()/bmul()/bsub()/bdiv()/bdec()/binc() +=head2 badd() + + $x->badd($y); + +Adds $y to $x and returns the result. + +=head2 bmul() + + $x->bmul($y); + +Multiplies $y to $x and returns the result. + +=head2 bsub() + + $x->bsub($y); + +Subtracts $y from $x and returns the result. + +=head2 bdiv() + + $q = $x->bdiv($y); + ($q, $r) = $x->bdiv($y); + +In scalar context, divides $x by $y and returns the result. In list context, +does floored division (F-division), returning an integer $q and a remainder $r +so that $x = $q * $y + $r. The remainer (modulo) is equal to what is returned +by C<$x->bmod($y)>. + +=head2 bdec() + + $x->bdec(); + +Decrements $x by 1 and returns the result. + +=head2 binc() + + $x->binc(); -Please see the documentation in L. +Increments $x by 1 and returns the result. =head2 copy() @@ -2067,6 +2197,6 @@ L, L, and L. (C) by Tels L 2001 - 2009. -Currently maintained by Jonathan "Duke" Leto L +Currently maintained by Peter John Acklam . =cut diff --git a/dist/Math-BigRat/t/bigratpm.inc b/dist/Math-BigRat/t/bigratpm.inc index afddf0d..b2f507f 100644 --- a/dist/Math-BigRat/t/bigratpm.inc +++ b/dist/Math-BigRat/t/bigratpm.inc @@ -100,7 +100,7 @@ while () $try .= '$x * $y;'; } elsif ($f eq "bdiv") { $try .= "$setup; \$x / \$y;"; - } elsif ($f eq "fdiv-list") { + } elsif ($f eq "bdiv-list") { $try .= "$setup; join(',',\$x->bdiv(\$y));"; } elsif ($f eq "brsft") { $try .= '$x >> $y;'; @@ -250,8 +250,8 @@ NaN:1:NaN -7/4:-4/32:0 7/4:-4/32:0 7/4:4/28:1/28 --7/4:4/28:-1/28 -7/4:-4/28:1/28 +-7/4:4/28:3/28 +7/4:-4/28:-3/28 -7/4:-4/28:-1/28 &fsqrt 1:1 @@ -565,6 +565,17 @@ NaNmul:-inf:NaN 6:120:720 10:10000:100000 1/4:1/3:1/12 +&bdiv-list +0:0:NaN,0 +0:1:0,0 +1:0:inf,1 +-1:0:-inf,-1 +9:4:2,1 +-9:4:-3,3 +9:-4:-3,-3 +-9:-4:2,-1 +11/7:2/3:2,5/21 +-11/7:2/3:-3,3/7 &bdiv $div_scale = 40; $round_mode = 'even' abc:abc:NaN diff --git a/dist/Math-BigRat/t/bigratpm.t b/dist/Math-BigRat/t/bigratpm.t index d0a499c..b3f550e 100644 --- a/dist/Math-BigRat/t/bigratpm.t +++ b/dist/Math-BigRat/t/bigratpm.t @@ -1,7 +1,7 @@ #!/usr/bin/perl -w use strict; -use Test::More tests => 686; +use Test::More tests => 696; use Math::BigRat lib => 'Calc'; diff --git a/dist/Module-CoreList/Changes b/dist/Module-CoreList/Changes index efdd625..ac160ba 100644 --- a/dist/Module-CoreList/Changes +++ b/dist/Module-CoreList/Changes @@ -1,72 +1,3 @@ -5.20170114_22 - - Updated for v5.22.3 - -5.20161220 - - Updated for v5.25.8 - -5.20161120 - - Updated for v5.25.7 - -5.20161020 - - Updated for v5.25.6 - -5.20160920 - - Updated for v5.25.5 - -5.20160820 - - Updated for v5.25.4 - -5.20160720 - - Updated for v5.25.3 - -5.20160620 - - Updated for v5.25.2 - -5.20160520 - - fixed edge-case checking in is_core() (checking for a specific - version of a module returned false for the first perl release - that contained it) - - Updated for v5.25.1 - -5.20160429 - - Updated for v5.22.2 - -5.20160320 - - Updated for v5.23.9 - -5.20160228 - - [perl #127624] corelist: wrong Digest::SHA version in 5.18.4 - -5.20160220 - - Updated for v5.23.8 - -5.20160120 - - Updated for v5.23.7 - -5.20151220 - - Updated for v5.23.6 - -5.20151213 - - Updated for v5.22.1 - -5.20151120 - - Updated for v5.23.5 - -5.20151020 - - Updated for v5.23.4 - -5.20150920 - - Updated for v5.23.3 - -5.20150912 - - Updated for v5.20.3 - -5.20150820 - - Updated for v5.23.2 - -5.20150720 - - Updated for v5.23.1 - 5.20150520 - Updated for v5.22.0 diff --git a/dist/Module-CoreList/corelist b/dist/Module-CoreList/corelist index bbe61cc..aa4a945 100644 --- a/dist/Module-CoreList/corelist +++ b/dist/Module-CoreList/corelist @@ -130,7 +130,6 @@ requested perl versions. =cut -BEGIN { pop @INC if $INC[-1] eq '.' } use Module::CoreList; use Getopt::Long qw(:config no_ignore_case); use Pod::Usage; diff --git a/dist/Module-CoreList/lib/Module/CoreList.pm b/dist/Module-CoreList/lib/Module/CoreList.pm index a38e9f5..8b37b18 100644 --- a/dist/Module-CoreList/lib/Module/CoreList.pm +++ b/dist/Module-CoreList/lib/Module/CoreList.pm @@ -4,7 +4,7 @@ use vars qw/$VERSION %released %version %families %upstream %bug_tracker %deprecated %delta/; use Module::CoreList::TieHashDelta; use version; -$VERSION = '5.20170114_22'; +$VERSION = '5.20150620'; sub _released_order { # Sort helper, to make '?' sort after everything else (substr($released{$a}, 0, 1) eq "?") @@ -74,12 +74,9 @@ sub find_modules { sub find_version { my $v = shift; - if ($v->isa(__PACKAGE__)) { - $v = shift; - return if not defined $v; - } + $v = shift if eval { $v->isa(__PACKAGE__) }; return $version{$v} if defined $version{$v}; - return; + return undef; } sub is_deprecated { @@ -279,30 +276,7 @@ sub changes_between { 5.021010 => '2015-03-20', 5.021011 => '2015-04-20', 5.022000 => '2015-06-01', - 5.023000 => '2015-06-20', - 5.023001 => '2015-07-20', - 5.023002 => '2015-08-20', - 5.020003 => '2015-09-12', - 5.023003 => '2015-09-20', - 5.023004 => '2015-10-20', - 5.023005 => '2015-11-20', - 5.022001 => '2015-12-13', - 5.023006 => '2015-12-21', - 5.023007 => '2016-01-20', - 5.023008 => '2016-02-20', - 5.023009 => '2016-03-20', - 5.022002 => '2016-04-29', - 5.024000 => '2016-05-09', - 5.025000 => '2016-05-09', - 5.025001 => '2016-05-20', - 5.025002 => '2016-06-20', - 5.025003 => '2016-07-20', - 5.025004 => '2016-08-20', - 5.025005 => '2016-09-20', - 5.025006 => '2016-10-20', - 5.025007 => '2016-11-20', - 5.025008 => '2016-12-20', - 5.022003 => '2017-01-14', + 5.023000 => '????-??-??', ); for my $version ( sort { $a <=> $b } keys %released ) { @@ -8131,8 +8105,6 @@ for my $version ( sort { $a <=> $b } keys %released ) { 5.018003 => { delta_from => 5.018002, changed => { - 'Config' => '5.018003', - 'Digest::SHA' => '5.84_02', 'Module::CoreList' => '3.12', 'Module::CoreList::TieHashDelta'=> '3.12', 'Module::CoreList::Utils'=> '3.12', @@ -8141,7 +8113,6 @@ for my $version ( sort { $a <=> $b } keys %released ) { 5.018004 => { delta_from => 5.018003, changed => { - 'Config' => '5.018004', 'Module::CoreList' => '3.13', 'Module::CoreList::TieHashDelta'=> '3.13', 'Module::CoreList::Utils'=> '3.13', @@ -9920,6 +9891,7 @@ for my $version ( sort { $a <=> $b } keys %released ) { 'Module::Build::Version'=> 1, 'Module::Build::YAML' => 1, 'Package::Constants' => 1, + 'Simple' => 1, 'inc::latest' => 1, } }, @@ -10018,6 +9990,9 @@ for my $version ( sort { $a <=> $b } keys %released ) { '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', @@ -11608,2086 +11583,6 @@ for my $version ( sort { $a <=> $b } keys %released ) { removed => { } }, - 5.023001 => { - delta_from => 5.023000, - changed => { - 'B::Op_private' => '5.023001', - 'Config' => '5.023001', - 'DynaLoader' => '1.33', - 'Encode' => '2.75', - 'Encode::MIME::Header' => '2.17', - 'Encode::Unicode' => '2.13', - 'Fatal' => '2.29', - 'File::Path' => '2.11', - 'Getopt::Long' => '2.47', - 'I18N::Langinfo' => '0.13', - 'IPC::Open3' => '1.19', - 'Module::CoreList' => '5.20150720', - 'Module::CoreList::TieHashDelta'=> '5.20150720', - 'Module::CoreList::Utils'=> '5.20150720', - 'Net::Cmd' => '3.07', - 'Net::Config' => '3.07', - 'Net::Domain' => '3.07', - 'Net::FTP' => '3.07', - 'Net::FTP::A' => '3.07', - 'Net::FTP::E' => '3.07', - 'Net::FTP::I' => '3.07', - 'Net::FTP::L' => '3.07', - 'Net::FTP::dataconn' => '3.07', - 'Net::NNTP' => '3.07', - 'Net::Netrc' => '3.07', - 'Net::POP3' => '3.07', - 'Net::SMTP' => '3.07', - 'Net::Time' => '3.07', - 'Opcode' => '1.33', - 'POSIX' => '1.55', - 'PerlIO::scalar' => '0.23', - 'Socket' => '2.020', - 'Storable' => '2.54', - 'Unicode::Collate' => '1.14', - 'Unicode::Collate::CJK::Big5'=> '1.14', - 'Unicode::Collate::CJK::GB2312'=> '1.14', - 'Unicode::Collate::CJK::JISX0208'=> '1.14', - 'Unicode::Collate::CJK::Korean'=> '1.14', - 'Unicode::Collate::CJK::Pinyin'=> '1.14', - 'Unicode::Collate::CJK::Stroke'=> '1.14', - 'Unicode::Collate::CJK::Zhuyin'=> '1.14', - 'Unicode::Collate::Locale'=> '1.14', - 'Unicode::Normalize' => '1.19', - 'XS::APItest' => '0.74', - 'XS::Typemap' => '0.14', - 'autodie' => '2.29', - 'autodie::Scope::Guard' => '2.29', - 'autodie::Scope::GuardStack'=> '2.29', - 'autodie::Util' => '2.29', - 'autodie::exception' => '2.29', - 'autodie::exception::system'=> '2.29', - 'autodie::hints' => '2.29', - 'autodie::skip' => '2.29', - 'encoding' => '2.16', - 'feature' => '1.42', - 'warnings' => '1.33', - }, - removed => { - 'autodie::ScopeUtil' => 1, - } - }, - 5.023002 => { - delta_from => 5.023001, - changed => { - 'Attribute::Handlers' => '0.99', - 'B::Op_private' => '5.023002', - 'CPAN::Meta::YAML' => '0.017', - 'Config' => '5.023002', - 'Cwd' => '3.57', - 'Encode' => '2.76', - 'ExtUtils::ParseXS' => '3.29', - 'ExtUtils::ParseXS::Constants'=> '3.29', - 'ExtUtils::ParseXS::CountLines'=> '3.29', - 'ExtUtils::ParseXS::Eval'=> '3.29', - 'ExtUtils::ParseXS::Utilities'=> '3.29', - 'ExtUtils::Typemaps' => '3.29', - 'File::Find' => '1.30', - 'File::Spec' => '3.57', - 'File::Spec::Cygwin' => '3.57', - 'File::Spec::Epoc' => '3.57', - 'File::Spec::Functions' => '3.57', - 'File::Spec::Mac' => '3.57', - 'File::Spec::OS2' => '3.57', - 'File::Spec::Unix' => '3.57', - 'File::Spec::VMS' => '3.57', - 'File::Spec::Win32' => '3.57', - 'Filter::Util::Call' => '1.55', - 'Hash::Util' => '0.19', - 'Module::CoreList' => '5.20150820', - 'Module::CoreList::TieHashDelta'=> '5.20150820', - 'Module::CoreList::Utils'=> '5.20150820', - 'POSIX' => '1.56', - 'Term::Cap' => '1.17', - 'Unicode::UCD' => '0.62', - 'perlfaq' => '5.021010', - }, - removed => { - } - }, - 5.020003 => { - delta_from => 5.020002, - changed => { - 'Config' => '5.020003', - 'Errno' => '1.20_06', - 'Module::CoreList' => '5.20150912', - 'Module::CoreList::TieHashDelta'=> '5.20150912', - 'Module::CoreList::Utils'=> '5.20150912', - }, - removed => { - } - }, - 5.023003 => { - delta_from => 5.023002, - changed => { - 'Amiga::ARexx' => '0.02', - 'Amiga::Exec' => '0.01', - 'B' => '1.59', - 'B::Op_private' => '5.023003', - 'Carp' => '1.37', - 'Carp::Heavy' => '1.37', - 'Compress::Raw::Zlib' => '2.068_01', - 'Config' => '5.023003', - 'Cwd' => '3.58', - 'DynaLoader' => '1.34', - 'Encode' => '2.77', - 'Encode::Unicode' => '2.14', - 'English' => '1.10', - 'Errno' => '1.24', - 'ExtUtils::Command' => '7.10', - 'ExtUtils::Command::MM' => '7.10', - 'ExtUtils::Liblist' => '7.10', - 'ExtUtils::Liblist::Kid'=> '7.10', - 'ExtUtils::MM' => '7.10', - 'ExtUtils::MM_AIX' => '7.10', - 'ExtUtils::MM_Any' => '7.10', - 'ExtUtils::MM_BeOS' => '7.10', - 'ExtUtils::MM_Cygwin' => '7.10', - 'ExtUtils::MM_DOS' => '7.10', - 'ExtUtils::MM_Darwin' => '7.10', - 'ExtUtils::MM_MacOS' => '7.10', - 'ExtUtils::MM_NW5' => '7.10', - 'ExtUtils::MM_OS2' => '7.10', - 'ExtUtils::MM_QNX' => '7.10', - 'ExtUtils::MM_UWIN' => '7.10', - 'ExtUtils::MM_Unix' => '7.10', - 'ExtUtils::MM_VMS' => '7.10', - 'ExtUtils::MM_VOS' => '7.10', - 'ExtUtils::MM_Win32' => '7.10', - 'ExtUtils::MM_Win95' => '7.10', - 'ExtUtils::MY' => '7.10', - 'ExtUtils::MakeMaker' => '7.10', - 'ExtUtils::MakeMaker::Config'=> '7.10', - 'ExtUtils::MakeMaker::Locale'=> '7.10', - 'ExtUtils::MakeMaker::version'=> '7.10', - 'ExtUtils::MakeMaker::version::regex'=> '7.10', - 'ExtUtils::MakeMaker::version::vpp'=> '7.10', - 'ExtUtils::Mkbootstrap' => '7.10', - 'ExtUtils::Mksymlists' => '7.10', - 'ExtUtils::ParseXS' => '3.30', - 'ExtUtils::ParseXS::Constants'=> '3.30', - 'ExtUtils::ParseXS::CountLines'=> '3.30', - 'ExtUtils::ParseXS::Eval'=> '3.30', - 'ExtUtils::ParseXS::Utilities'=> '3.30', - 'ExtUtils::Typemaps' => '3.30', - 'ExtUtils::Typemaps::Cmd'=> '3.30', - 'ExtUtils::Typemaps::InputMap'=> '3.30', - 'ExtUtils::Typemaps::OutputMap'=> '3.30', - 'ExtUtils::Typemaps::Type'=> '3.30', - 'ExtUtils::testlib' => '7.10', - 'File::Find' => '1.31', - 'File::Glob' => '1.25', - 'File::Spec' => '3.58', - 'File::Spec::AmigaOS' => '3.58', - 'File::Spec::Cygwin' => '3.58', - 'File::Spec::Epoc' => '3.58', - 'File::Spec::Functions' => '3.58', - 'File::Spec::Mac' => '3.58', - 'File::Spec::OS2' => '3.58', - 'File::Spec::Unix' => '3.58', - 'File::Spec::VMS' => '3.58', - 'File::Spec::Win32' => '3.58', - 'Hash::Util::FieldHash' => '1.17', - 'Locale::Codes' => '3.36', - 'Locale::Codes::Constants'=> '3.36', - 'Locale::Codes::Country'=> '3.36', - 'Locale::Codes::Country_Codes'=> '3.36', - 'Locale::Codes::Country_Retired'=> '3.36', - 'Locale::Codes::Currency'=> '3.36', - 'Locale::Codes::Currency_Codes'=> '3.36', - 'Locale::Codes::Currency_Retired'=> '3.36', - 'Locale::Codes::LangExt'=> '3.36', - 'Locale::Codes::LangExt_Codes'=> '3.36', - 'Locale::Codes::LangExt_Retired'=> '3.36', - 'Locale::Codes::LangFam'=> '3.36', - 'Locale::Codes::LangFam_Codes'=> '3.36', - 'Locale::Codes::LangFam_Retired'=> '3.36', - 'Locale::Codes::LangVar'=> '3.36', - 'Locale::Codes::LangVar_Codes'=> '3.36', - 'Locale::Codes::LangVar_Retired'=> '3.36', - 'Locale::Codes::Language'=> '3.36', - 'Locale::Codes::Language_Codes'=> '3.36', - 'Locale::Codes::Language_Retired'=> '3.36', - 'Locale::Codes::Script' => '3.36', - 'Locale::Codes::Script_Codes'=> '3.36', - 'Locale::Codes::Script_Retired'=> '3.36', - 'Locale::Country' => '3.36', - 'Locale::Currency' => '3.36', - 'Locale::Language' => '3.36', - 'Locale::Script' => '3.36', - 'Math::BigFloat::Trace' => '0.40', - 'Math::BigInt::Trace' => '0.40', - 'Module::CoreList' => '5.20150920', - 'Module::CoreList::TieHashDelta'=> '5.20150920', - 'Module::CoreList::Utils'=> '5.20150920', - 'OS2::DLL' => '1.06', - 'OS2::ExtAttr' => '0.04', - 'OS2::Process' => '1.11', - 'OS2::REXX' => '1.05', - 'POSIX' => '1.57', - 'Pod::Perldoc' => '3.25_01', - 'Socket' => '2.020_01', - 'Test' => '1.27', - 'Thread::Queue' => '3.06', - 'Time::HiRes' => '1.9727_02', - 'Unicode::UCD' => '0.63', - 'Win32' => '0.52', - 'XS::APItest' => '0.75', - 'bigint' => '0.40', - 'bignum' => '0.40', - 'bigrat' => '0.40', - 'encoding' => '2.17', - 'experimental' => '0.014', - 'if' => '0.0605', - 'locale' => '1.07', - 'mro' => '1.18', - 'threads' => '2.03', - }, - removed => { - } - }, - 5.023004 => { - delta_from => 5.023003, - changed => { - 'B' => '1.60', - 'B::Op_private' => '5.023004', - 'Compress::Raw::Bzip2' => '2.069', - 'Compress::Raw::Zlib' => '2.069', - 'Compress::Zlib' => '2.069', - 'Config' => '5.023004', - 'Devel::PPPort' => '3.32', - 'DynaLoader' => '1.35', - 'Encode' => '2.78', - 'ExtUtils::CBuilder' => '0.280224', - 'ExtUtils::CBuilder::Base'=> '0.280224', - 'ExtUtils::CBuilder::Platform::Unix'=> '0.280224', - 'ExtUtils::CBuilder::Platform::VMS'=> '0.280224', - 'ExtUtils::CBuilder::Platform::Windows'=> '0.280224', - 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280224', - 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280224', - 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280224', - 'ExtUtils::CBuilder::Platform::aix'=> '0.280224', - 'ExtUtils::CBuilder::Platform::android'=> '0.280224', - 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280224', - 'ExtUtils::CBuilder::Platform::darwin'=> '0.280224', - 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280224', - 'ExtUtils::CBuilder::Platform::os2'=> '0.280224', - 'File::Path' => '2.12', - 'IO' => '1.36', - 'IO::Compress::Adapter::Bzip2'=> '2.069', - 'IO::Compress::Adapter::Deflate'=> '2.069', - 'IO::Compress::Adapter::Identity'=> '2.069', - 'IO::Compress::Base' => '2.069', - 'IO::Compress::Base::Common'=> '2.069', - 'IO::Compress::Bzip2' => '2.069', - 'IO::Compress::Deflate' => '2.069', - 'IO::Compress::Gzip' => '2.069', - 'IO::Compress::Gzip::Constants'=> '2.069', - 'IO::Compress::RawDeflate'=> '2.069', - 'IO::Compress::Zip' => '2.069', - 'IO::Compress::Zip::Constants'=> '2.069', - 'IO::Compress::Zlib::Constants'=> '2.069', - 'IO::Compress::Zlib::Extra'=> '2.069', - 'IO::Poll' => '0.10', - 'IO::Uncompress::Adapter::Bunzip2'=> '2.069', - 'IO::Uncompress::Adapter::Identity'=> '2.069', - 'IO::Uncompress::Adapter::Inflate'=> '2.069', - 'IO::Uncompress::AnyInflate'=> '2.069', - 'IO::Uncompress::AnyUncompress'=> '2.069', - 'IO::Uncompress::Base' => '2.069', - 'IO::Uncompress::Bunzip2'=> '2.069', - 'IO::Uncompress::Gunzip'=> '2.069', - 'IO::Uncompress::Inflate'=> '2.069', - 'IO::Uncompress::RawInflate'=> '2.069', - 'IO::Uncompress::Unzip' => '2.069', - 'Math::BigFloat' => '1.999704', - 'Math::BigFloat::Trace' => '0.41', - 'Math::BigInt' => '1.999704', - 'Math::BigInt::Calc' => '1.999704', - 'Math::BigInt::CalcEmu' => '1.999704', - 'Math::BigInt::FastCalc'=> '0.34', - 'Math::BigInt::Trace' => '0.41', - 'Module::CoreList' => '5.20151020', - 'Module::CoreList::TieHashDelta'=> '5.20151020', - 'Module::CoreList::Utils'=> '5.20151020', - 'Module::Metadata' => '1.000029', - 'POSIX' => '1.58', - 'Perl::OSType' => '1.009', - 'PerlIO::encoding' => '0.22', - 'Socket' => '2.020_02', - 'Unicode::Normalize' => '1.21', - 'XS::APItest' => '0.76', - 'bigint' => '0.41', - 'bignum' => '0.41', - 'bigrat' => '0.41', - 'experimental' => '0.016', - 'if' => '0.0606', - 'warnings' => '1.35', - }, - removed => { - } - }, - 5.023005 => { - delta_from => 5.023004, - changed => { - 'B' => '1.61', - 'B::Op_private' => '5.023005', - 'Carp' => '1.38', - 'Carp::Heavy' => '1.38', - 'Config' => '5.023005', - 'Config::Perl::V' => '0.25', - 'Cwd' => '3.59', - 'Devel::Peek' => '1.23', - 'Dumpvalue' => '1.18', - 'DynaLoader' => '1.36', - 'File::Find' => '1.32', - 'File::Spec' => '3.59', - 'File::Spec::AmigaOS' => '3.59', - 'File::Spec::Cygwin' => '3.59', - 'File::Spec::Epoc' => '3.59', - 'File::Spec::Functions' => '3.59', - 'File::Spec::Mac' => '3.59', - 'File::Spec::OS2' => '3.59', - 'File::Spec::Unix' => '3.59', - 'File::Spec::VMS' => '3.59', - 'File::Spec::Win32' => '3.59', - 'Getopt::Long' => '2.48', - 'Hash::Util::FieldHash' => '1.18', - 'IPC::Open3' => '1.20', - 'Math::BigFloat' => '1.999710', - 'Math::BigInt' => '1.999710', - 'Math::BigInt::Calc' => '1.999710', - 'Math::BigInt::CalcEmu' => '1.999710', - 'Math::BigInt::FastCalc'=> '0.37', - 'Module::CoreList' => '5.20151120', - 'Module::CoreList::TieHashDelta'=> '5.20151120', - 'Module::CoreList::Utils'=> '5.20151120', - 'Module::Metadata' => '1.000030', - 'POSIX' => '1.59', - 'PerlIO::encoding' => '0.23', - 'PerlIO::mmap' => '0.015', - 'PerlIO::scalar' => '0.24', - 'PerlIO::via' => '0.16', - 'Pod::Simple' => '3.32', - 'Pod::Simple::BlackBox' => '3.32', - 'Pod::Simple::Checker' => '3.32', - 'Pod::Simple::Debug' => '3.32', - 'Pod::Simple::DumpAsText'=> '3.32', - 'Pod::Simple::DumpAsXML'=> '3.32', - 'Pod::Simple::HTML' => '3.32', - 'Pod::Simple::HTMLBatch'=> '3.32', - 'Pod::Simple::LinkSection'=> '3.32', - 'Pod::Simple::Methody' => '3.32', - 'Pod::Simple::Progress' => '3.32', - 'Pod::Simple::PullParser'=> '3.32', - 'Pod::Simple::PullParserEndToken'=> '3.32', - 'Pod::Simple::PullParserStartToken'=> '3.32', - 'Pod::Simple::PullParserTextToken'=> '3.32', - 'Pod::Simple::PullParserToken'=> '3.32', - 'Pod::Simple::RTF' => '3.32', - 'Pod::Simple::Search' => '3.32', - 'Pod::Simple::SimpleTree'=> '3.32', - 'Pod::Simple::Text' => '3.32', - 'Pod::Simple::TextContent'=> '3.32', - 'Pod::Simple::TiedOutFH'=> '3.32', - 'Pod::Simple::Transcode'=> '3.32', - 'Pod::Simple::TranscodeDumb'=> '3.32', - 'Pod::Simple::TranscodeSmart'=> '3.32', - 'Pod::Simple::XHTML' => '3.32', - 'Pod::Simple::XMLOutStream'=> '3.32', - 'Thread::Queue' => '3.07', - 'Tie::Scalar' => '1.04', - 'Time::HiRes' => '1.9728', - 'Time::Piece' => '1.31', - 'Time::Seconds' => '1.31', - 'Unicode::Normalize' => '1.23', - 'XSLoader' => '0.21', - 'arybase' => '0.11', - 'base' => '2.22_01', - 'fields' => '2.22_01', - 'threads' => '2.04', - 'threads::shared' => '1.49', - }, - removed => { - 'ExtUtils::MakeMaker::version::vpp'=> 1, - 'version::vpp' => 1, - } - }, - 5.022001 => { - delta_from => 5.022, - changed => { - 'B::Op_private' => '5.022001', - 'Config' => '5.022001', - 'Module::CoreList' => '5.20151213', - 'Module::CoreList::TieHashDelta'=> '5.20151213', - 'Module::CoreList::Utils'=> '5.20151213', - 'POSIX' => '1.53_01', - 'PerlIO::scalar' => '0.23', - 'Storable' => '2.53_01', - 'Win32' => '0.52', - 'warnings' => '1.34', - }, - removed => { - } - }, - 5.023006 => { - delta_from => 5.023005, - changed => { - 'B::Deparse' => '1.36', - 'B::Op_private' => '5.023006', - 'Benchmark' => '1.21', - 'CPAN::Meta::Requirements'=> '2.140', - 'CPAN::Meta::YAML' => '0.018', - 'Config' => '5.023006', - 'Cwd' => '3.60', - 'Data::Dumper' => '2.159', - 'DynaLoader' => '1.37', - 'File::Spec' => '3.60', - 'File::Spec::AmigaOS' => '3.60', - 'File::Spec::Cygwin' => '3.60', - 'File::Spec::Epoc' => '3.60', - 'File::Spec::Functions' => '3.60', - 'File::Spec::Mac' => '3.60', - 'File::Spec::OS2' => '3.60', - 'File::Spec::Unix' => '3.60', - 'File::Spec::VMS' => '3.60', - 'File::Spec::Win32' => '3.60', - 'Hash::Util::FieldHash' => '1.19', - 'Locale::Codes' => '3.37', - 'Locale::Codes::Constants'=> '3.37', - 'Locale::Codes::Country'=> '3.37', - 'Locale::Codes::Country_Codes'=> '3.37', - 'Locale::Codes::Country_Retired'=> '3.37', - 'Locale::Codes::Currency'=> '3.37', - 'Locale::Codes::Currency_Codes'=> '3.37', - 'Locale::Codes::Currency_Retired'=> '3.37', - 'Locale::Codes::LangExt'=> '3.37', - 'Locale::Codes::LangExt_Codes'=> '3.37', - 'Locale::Codes::LangExt_Retired'=> '3.37', - 'Locale::Codes::LangFam'=> '3.37', - 'Locale::Codes::LangFam_Codes'=> '3.37', - 'Locale::Codes::LangFam_Retired'=> '3.37', - 'Locale::Codes::LangVar'=> '3.37', - 'Locale::Codes::LangVar_Codes'=> '3.37', - 'Locale::Codes::LangVar_Retired'=> '3.37', - 'Locale::Codes::Language'=> '3.37', - 'Locale::Codes::Language_Codes'=> '3.37', - 'Locale::Codes::Language_Retired'=> '3.37', - 'Locale::Codes::Script' => '3.37', - 'Locale::Codes::Script_Codes'=> '3.37', - 'Locale::Codes::Script_Retired'=> '3.37', - 'Locale::Country' => '3.37', - 'Locale::Currency' => '3.37', - 'Locale::Language' => '3.37', - 'Locale::Script' => '3.37', - 'Math::BigInt::FastCalc'=> '0.38', - 'Module::CoreList' => '5.20151220', - 'Module::CoreList::TieHashDelta'=> '5.20151220', - 'Module::CoreList::Utils'=> '5.20151220', - 'Module::Metadata' => '1.000031', - 'Opcode' => '1.34', - 'PerlIO::mmap' => '0.016', - 'Pod::Perldoc' => '3.25_02', - 'SDBM_File' => '1.14', - 'Term::ANSIColor' => '4.04', - 'Test' => '1.28', - 'Unicode::Normalize' => '1.24', - 'XS::APItest' => '0.77', - 'base' => '2.23', - 'encoding::warnings' => '0.12', - 'fields' => '2.23', - 'locale' => '1.08', - 'strict' => '1.10', - 'threads' => '2.05', - 'threads::shared' => '1.50', - 'utf8' => '1.18', - }, - removed => { - } - }, - 5.023007 => { - delta_from => 5.023006, - changed => { - 'App::Prove' => '3.36', - 'App::Prove::State' => '3.36', - 'App::Prove::State::Result'=> '3.36', - 'App::Prove::State::Result::Test'=> '3.36', - 'B' => '1.62', - 'B::Deparse' => '1.37', - 'B::Op_private' => '5.023007', - 'Benchmark' => '1.22', - 'Config' => '5.023007', - 'Cwd' => '3.62', - 'Data::Dumper' => '2.160', - 'ExtUtils::ParseXS' => '3.31', - 'ExtUtils::ParseXS::Constants'=> '3.31', - 'ExtUtils::ParseXS::CountLines'=> '3.31', - 'ExtUtils::ParseXS::Eval'=> '3.31', - 'ExtUtils::ParseXS::Utilities'=> '3.31', - 'ExtUtils::Typemaps' => '3.31', - 'ExtUtils::Typemaps::Cmd'=> '3.31', - 'ExtUtils::Typemaps::InputMap'=> '3.31', - 'ExtUtils::Typemaps::OutputMap'=> '3.31', - 'ExtUtils::Typemaps::Type'=> '3.31', - 'File::Find' => '1.33', - 'File::Spec' => '3.62', - 'File::Spec::AmigaOS' => '3.62', - 'File::Spec::Cygwin' => '3.62', - 'File::Spec::Epoc' => '3.62', - 'File::Spec::Functions' => '3.62', - 'File::Spec::Mac' => '3.62', - 'File::Spec::OS2' => '3.62', - 'File::Spec::Unix' => '3.62', - 'File::Spec::VMS' => '3.62', - 'File::Spec::Win32' => '3.62', - 'Math::BigFloat' => '1.999715', - 'Math::BigFloat::Trace' => '0.42', - 'Math::BigInt' => '1.999715', - 'Math::BigInt::Calc' => '1.999715', - 'Math::BigInt::CalcEmu' => '1.999715', - 'Math::BigInt::FastCalc'=> '0.40', - 'Math::BigInt::Trace' => '0.42', - 'Math::BigRat' => '0.260802', - 'Module::CoreList' => '5.20160120', - 'Module::CoreList::TieHashDelta'=> '5.20160120', - 'Module::CoreList::Utils'=> '5.20160120', - 'Net::Cmd' => '3.08', - 'Net::Config' => '3.08', - 'Net::Domain' => '3.08', - 'Net::FTP' => '3.08', - 'Net::FTP::A' => '3.08', - 'Net::FTP::E' => '3.08', - 'Net::FTP::I' => '3.08', - 'Net::FTP::L' => '3.08', - 'Net::FTP::dataconn' => '3.08', - 'Net::NNTP' => '3.08', - 'Net::Netrc' => '3.08', - 'Net::POP3' => '3.08', - 'Net::SMTP' => '3.08', - 'Net::Time' => '3.08', - 'Pod::Man' => '4.04', - 'Pod::ParseLink' => '4.04', - 'Pod::Text' => '4.04', - 'Pod::Text::Color' => '4.04', - 'Pod::Text::Overstrike' => '4.04', - 'Pod::Text::Termcap' => '4.04', - 'Pod::Usage' => '1.68', - 'TAP::Base' => '3.36', - 'TAP::Formatter::Base' => '3.36', - 'TAP::Formatter::Color' => '3.36', - 'TAP::Formatter::Console'=> '3.36', - 'TAP::Formatter::Console::ParallelSession'=> '3.36', - 'TAP::Formatter::Console::Session'=> '3.36', - 'TAP::Formatter::File' => '3.36', - 'TAP::Formatter::File::Session'=> '3.36', - 'TAP::Formatter::Session'=> '3.36', - 'TAP::Harness' => '3.36', - 'TAP::Harness::Env' => '3.36', - 'TAP::Object' => '3.36', - 'TAP::Parser' => '3.36', - 'TAP::Parser::Aggregator'=> '3.36', - 'TAP::Parser::Grammar' => '3.36', - 'TAP::Parser::Iterator' => '3.36', - 'TAP::Parser::Iterator::Array'=> '3.36', - 'TAP::Parser::Iterator::Process'=> '3.36', - 'TAP::Parser::Iterator::Stream'=> '3.36', - 'TAP::Parser::IteratorFactory'=> '3.36', - 'TAP::Parser::Multiplexer'=> '3.36', - 'TAP::Parser::Result' => '3.36', - 'TAP::Parser::Result::Bailout'=> '3.36', - 'TAP::Parser::Result::Comment'=> '3.36', - 'TAP::Parser::Result::Plan'=> '3.36', - 'TAP::Parser::Result::Pragma'=> '3.36', - 'TAP::Parser::Result::Test'=> '3.36', - 'TAP::Parser::Result::Unknown'=> '3.36', - 'TAP::Parser::Result::Version'=> '3.36', - 'TAP::Parser::Result::YAML'=> '3.36', - 'TAP::Parser::ResultFactory'=> '3.36', - 'TAP::Parser::Scheduler'=> '3.36', - 'TAP::Parser::Scheduler::Job'=> '3.36', - 'TAP::Parser::Scheduler::Spinner'=> '3.36', - 'TAP::Parser::Source' => '3.36', - 'TAP::Parser::SourceHandler'=> '3.36', - 'TAP::Parser::SourceHandler::Executable'=> '3.36', - 'TAP::Parser::SourceHandler::File'=> '3.36', - 'TAP::Parser::SourceHandler::Handle'=> '3.36', - 'TAP::Parser::SourceHandler::Perl'=> '3.36', - 'TAP::Parser::SourceHandler::RawTAP'=> '3.36', - 'TAP::Parser::YAMLish::Reader'=> '3.36', - 'TAP::Parser::YAMLish::Writer'=> '3.36', - 'Test::Harness' => '3.36', - 'Unicode::Normalize' => '1.25', - 'Unicode::UCD' => '0.64', - 'XS::APItest' => '0.78', - 'bigint' => '0.42', - 'bignum' => '0.42', - 'bigrat' => '0.42', - 'utf8' => '1.19', - }, - removed => { - } - }, - 5.023008 => { - delta_from => 5.023007, - changed => { - 'B::Op_private' => '5.023008', - 'Config' => '5.023008', - 'Cwd' => '3.63', - 'DynaLoader' => '1.38', - 'Encode' => '2.80', - 'Encode::Alias' => '2.20', - 'Encode::MIME::Header' => '2.19', - 'Encode::Unicode' => '2.15', - 'ExtUtils::CBuilder' => '0.280225', - 'ExtUtils::CBuilder::Base'=> '0.280225', - 'ExtUtils::CBuilder::Platform::Unix'=> '0.280225', - 'ExtUtils::CBuilder::Platform::VMS'=> '0.280225', - 'ExtUtils::CBuilder::Platform::Windows'=> '0.280225', - 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280225', - 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280225', - 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280225', - 'ExtUtils::CBuilder::Platform::aix'=> '0.280225', - 'ExtUtils::CBuilder::Platform::android'=> '0.280225', - 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280225', - 'ExtUtils::CBuilder::Platform::darwin'=> '0.280225', - 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280225', - 'ExtUtils::CBuilder::Platform::os2'=> '0.280225', - 'ExtUtils::Command::MM' => '7.10_01', - 'ExtUtils::Liblist' => '7.10_01', - 'ExtUtils::Liblist::Kid'=> '7.10_01', - 'ExtUtils::MM' => '7.10_01', - 'ExtUtils::MM_AIX' => '7.10_01', - 'ExtUtils::MM_Any' => '7.10_01', - 'ExtUtils::MM_BeOS' => '7.10_01', - 'ExtUtils::MM_Cygwin' => '7.10_01', - 'ExtUtils::MM_DOS' => '7.10_01', - 'ExtUtils::MM_Darwin' => '7.10_01', - 'ExtUtils::MM_MacOS' => '7.10_01', - 'ExtUtils::MM_NW5' => '7.10_01', - 'ExtUtils::MM_OS2' => '7.10_01', - 'ExtUtils::MM_QNX' => '7.10_01', - 'ExtUtils::MM_UWIN' => '7.10_01', - 'ExtUtils::MM_Unix' => '7.10_01', - 'ExtUtils::MM_VMS' => '7.10_01', - 'ExtUtils::MM_VOS' => '7.10_01', - 'ExtUtils::MM_Win32' => '7.10_01', - 'ExtUtils::MM_Win95' => '7.10_01', - 'ExtUtils::MY' => '7.10_01', - 'ExtUtils::MakeMaker' => '7.10_01', - 'ExtUtils::MakeMaker::Config'=> '7.10_01', - 'ExtUtils::MakeMaker::version'=> '7.10_01', - 'ExtUtils::MakeMaker::version::regex'=> '7.10_01', - 'ExtUtils::Mkbootstrap' => '7.10_01', - 'ExtUtils::Mksymlists' => '7.10_01', - 'ExtUtils::testlib' => '7.10_01', - 'File::Spec' => '3.63', - 'File::Spec::AmigaOS' => '3.63', - 'File::Spec::Cygwin' => '3.63', - 'File::Spec::Epoc' => '3.63', - 'File::Spec::Functions' => '3.63', - 'File::Spec::Mac' => '3.63', - 'File::Spec::OS2' => '3.63', - 'File::Spec::Unix' => '3.63', - 'File::Spec::VMS' => '3.63', - 'File::Spec::Win32' => '3.63', - 'IPC::Msg' => '2.05', - 'IPC::Semaphore' => '2.05', - 'IPC::SharedMem' => '2.05', - 'IPC::SysV' => '2.05', - 'Module::CoreList' => '5.20160121', - 'Module::CoreList::TieHashDelta'=> '5.20160121', - 'Module::CoreList::Utils'=> '5.20160121', - 'ODBM_File' => '1.13', - 'POSIX' => '1.63', - 'PerlIO::encoding' => '0.24', - 'Pod::Man' => '4.06', - 'Pod::ParseLink' => '4.06', - 'Pod::Text' => '4.06', - 'Pod::Text::Color' => '4.06', - 'Pod::Text::Overstrike' => '4.06', - 'Pod::Text::Termcap' => '4.06', - 'Storable' => '2.55', - 'Time::HiRes' => '1.9730', - 'XS::APItest' => '0.79', - }, - removed => { - } - }, - 5.023009 => { - delta_from => 5.023008, - changed => { - 'Amiga::ARexx' => '0.04', - 'Amiga::Exec' => '0.02', - 'B::Op_private' => '5.023009', - 'Carp' => '1.40', - 'Carp::Heavy' => '1.40', - 'Config' => '5.023009', - 'Errno' => '1.25', - 'ExtUtils::Embed' => '1.33', - 'File::Find' => '1.34', - 'File::Glob' => '1.26', - 'File::Spec::AmigaOS' => ';.64', - 'IPC::Msg' => '2.06_01', - 'IPC::Semaphore' => '2.06_01', - 'IPC::SharedMem' => '2.06_01', - 'IPC::SysV' => '2.06_01', - 'List::Util' => '1.42_02', - 'List::Util::XS' => '1.42_02', - 'Module::CoreList' => '5.20160320', - 'Module::CoreList::TieHashDelta'=> '5.20160320', - 'Module::CoreList::Utils'=> '5.20160320', - 'POSIX' => '1.64', - 'Pod::Functions' => '1.10', - 'Pod::Functions::Functions'=> '1.10', - 'Scalar::Util' => '1.42_02', - 'SelfLoader' => '1.23', - 'Socket' => '2.020_03', - 'Storable' => '2.56', - 'Sub::Util' => '1.42_02', - 'Thread::Queue' => '3.08', - 'Tie::File' => '1.02', - 'Time::HiRes' => '1.9732', - 'Win32API::File' => '0.1203', - 'Win32API::File::inc::ExtUtils::Myconst2perl'=> '1', - 'XS::APItest' => '0.80', - 'autouse' => '1.11', - 'bytes' => '1.05', - 'strict' => '1.11', - 'threads' => '2.06', - 'version' => '0.9916', - 'version::regex' => '0.9916', - 'warnings' => '1.36', - }, - removed => { - 'Win32API::File::ExtUtils::Myconst2perl'=> 1, - } - }, - 5.022002 => { - delta_from => 5.022001, - changed => { - 'B::Op_private' => '5.022002', - 'Config' => '5.022002', - 'Cwd' => '3.56_01', - 'File::Spec' => '3.56_01', - 'File::Spec::Cygwin' => '3.56_01', - 'File::Spec::Epoc' => '3.56_01', - 'File::Spec::Functions' => '3.56_01', - 'File::Spec::Mac' => '3.56_01', - 'File::Spec::OS2' => '3.56_01', - 'File::Spec::Unix' => '3.56_01', - 'File::Spec::VMS' => '3.56_01', - 'File::Spec::Win32' => '3.56_01', - 'Module::CoreList' => '5.20160429', - 'Module::CoreList::TieHashDelta'=> '5.20160429', - 'Module::CoreList::Utils'=> '5.20160429', - 'XS::APItest' => '0.72_01', - }, - removed => { - } - }, - 5.024000 => { - delta_from => 5.023009, - changed => { - 'B::Op_private' => '5.024000', - 'Config' => '5.024', - 'File::Copy' => '2.31', - 'File::Path' => '2.12_01', - 'File::Spec::AmigaOS' => '3.64', - 'IO::Handle' => '1.36', - 'Module::CoreList' => '5.20160506', - 'Module::CoreList::TieHashDelta'=> '5.20160506', - 'Module::CoreList::Utils'=> '5.20160506', - 'ODBM_File' => '1.14', - 'POSIX' => '1.65', - 'Pod::Man' => '4.07', - 'Pod::ParseLink' => '4.07', - 'Pod::Text' => '4.07', - 'Pod::Text::Color' => '4.07', - 'Pod::Text::Overstrike' => '4.07', - 'Pod::Text::Termcap' => '4.07', - 'Thread::Queue' => '3.09', - 'Time::HiRes' => '1.9733', - 'threads' => '2.07', - 'threads::shared' => '1.51', - 'locale' => '1.09', - }, - removed => { - } - }, - 5.025000 => { - delta_from => 5.024, - changed => { - 'B::Op_private' => '5.025000', - 'Config' => '5.025', - 'Module::CoreList' => '5.20160507', - 'Module::CoreList::TieHashDelta'=> '5.20160507', - 'Module::CoreList::Utils'=> '5.20160507', - 'feature' => '1.43', - }, - removed => { - } - }, - 5.025001 => { - delta_from => 5.025, - changed => { - 'Archive::Tar' => '2.08', - 'Archive::Tar::Constant'=> '2.08', - 'Archive::Tar::File' => '2.08', - 'B::Op_private' => '5.025001', - 'Carp' => '1.41', - 'Carp::Heavy' => '1.41', - 'Config' => '5.025001', - 'Config::Perl::V' => '0.26', - 'DB_File' => '1.838', - 'Digest::MD5' => '2.55', - 'IPC::Cmd' => '0.94', - 'IPC::Msg' => '2.07', - 'IPC::Semaphore' => '2.07', - 'IPC::SharedMem' => '2.07', - 'IPC::SysV' => '2.07', - 'List::Util' => '1.45_01', - 'List::Util::XS' => '1.45_01', - 'Locale::Codes' => '3.38', - 'Locale::Codes::Constants'=> '3.38', - 'Locale::Codes::Country'=> '3.38', - 'Locale::Codes::Country_Codes'=> '3.38', - 'Locale::Codes::Country_Retired'=> '3.38', - 'Locale::Codes::Currency'=> '3.38', - 'Locale::Codes::Currency_Codes'=> '3.38', - 'Locale::Codes::Currency_Retired'=> '3.38', - 'Locale::Codes::LangExt'=> '3.38', - 'Locale::Codes::LangExt_Codes'=> '3.38', - 'Locale::Codes::LangExt_Retired'=> '3.38', - 'Locale::Codes::LangFam'=> '3.38', - 'Locale::Codes::LangFam_Codes'=> '3.38', - 'Locale::Codes::LangFam_Retired'=> '3.38', - 'Locale::Codes::LangVar'=> '3.38', - 'Locale::Codes::LangVar_Codes'=> '3.38', - 'Locale::Codes::LangVar_Retired'=> '3.38', - 'Locale::Codes::Language'=> '3.38', - 'Locale::Codes::Language_Codes'=> '3.38', - 'Locale::Codes::Language_Retired'=> '3.38', - 'Locale::Codes::Script' => '3.38', - 'Locale::Codes::Script_Codes'=> '3.38', - 'Locale::Codes::Script_Retired'=> '3.38', - 'Locale::Country' => '3.38', - 'Locale::Currency' => '3.38', - 'Locale::Language' => '3.38', - 'Locale::Maketext' => '1.27', - 'Locale::Script' => '3.38', - 'Module::CoreList' => '5.20160520', - 'Module::CoreList::TieHashDelta'=> '5.20160520', - 'Module::CoreList::Utils'=> '5.20160520', - 'Module::Metadata' => '1.000032', - 'POSIX' => '1.69', - 'Scalar::Util' => '1.45_01', - 'Sub::Util' => '1.45_01', - 'Sys::Syslog' => '0.34', - 'Term::ANSIColor' => '4.05', - 'Test2' => '1.302015', - 'Test2::API' => '1.302015', - 'Test2::API::Breakage' => '1.302015', - 'Test2::API::Context' => '1.302015', - 'Test2::API::Instance' => '1.302015', - 'Test2::API::Stack' => '1.302015', - 'Test2::Event' => '1.302015', - 'Test2::Event::Bail' => '1.302015', - 'Test2::Event::Diag' => '1.302015', - 'Test2::Event::Exception'=> '1.302015', - 'Test2::Event::Note' => '1.302015', - 'Test2::Event::Ok' => '1.302015', - 'Test2::Event::Plan' => '1.302015', - 'Test2::Event::Skip' => '1.302015', - 'Test2::Event::Subtest' => '1.302015', - 'Test2::Event::Waiting' => '1.302015', - 'Test2::Formatter' => '1.302015', - 'Test2::Formatter::TAP' => '1.302015', - 'Test2::Hub' => '1.302015', - 'Test2::Hub::Interceptor'=> '1.302015', - 'Test2::Hub::Interceptor::Terminator'=> '1.302015', - 'Test2::Hub::Subtest' => '1.302015', - 'Test2::IPC' => '1.302015', - 'Test2::IPC::Driver' => '1.302015', - 'Test2::IPC::Driver::Files'=> '1.302015', - 'Test2::Util' => '1.302015', - 'Test2::Util::ExternalMeta'=> '1.302015', - 'Test2::Util::HashBase' => '1.302015', - 'Test2::Util::Trace' => '1.302015', - 'Test::Builder' => '1.302015', - 'Test::Builder::Formatter'=> '1.302015', - 'Test::Builder::Module' => '1.302015', - 'Test::Builder::Tester' => '1.302015', - 'Test::Builder::Tester::Color'=> '1.302015', - 'Test::Builder::TodoDiag'=> '1.302015', - 'Test::More' => '1.302015', - 'Test::Simple' => '1.302015', - 'Test::Tester' => '1.302015', - 'Test::Tester::Capture' => '1.302015', - 'Test::Tester::CaptureRunner'=> '1.302015', - 'Test::Tester::Delegate'=> '1.302015', - 'Test::use::ok' => '1.302015', - 'XS::APItest' => '0.81', - '_charnames' => '1.44', - 'charnames' => '1.44', - 'ok' => '1.302015', - 'perlfaq' => '5.021011', - 're' => '0.33', - 'threads' => '2.08', - 'threads::shared' => '1.52', - }, - removed => { - } - }, - 5.025002 => { - delta_from => 5.025001, - changed => { - 'App::Cpan' => '1.64', - 'B::Op_private' => '5.025002', - 'CPAN' => '2.14', - 'CPAN::Distribution' => '2.12', - 'CPAN::FTP' => '5.5007', - 'CPAN::FirstTime' => '5.5309', - 'CPAN::HandleConfig' => '5.5007', - 'CPAN::Index' => '2.12', - 'CPAN::Mirrors' => '2.12', - 'CPAN::Plugin' => '0.96', - 'CPAN::Shell' => '5.5006', - 'Config' => '5.025002', - 'Cwd' => '3.64', - 'Devel::Peek' => '1.24', - 'DynaLoader' => '1.39', - 'ExtUtils::Command' => '7.18', - 'ExtUtils::Command::MM' => '7.18', - 'ExtUtils::Liblist' => '7.18', - 'ExtUtils::Liblist::Kid'=> '7.18', - 'ExtUtils::MM' => '7.18', - 'ExtUtils::MM_AIX' => '7.18', - 'ExtUtils::MM_Any' => '7.18', - 'ExtUtils::MM_BeOS' => '7.18', - 'ExtUtils::MM_Cygwin' => '7.18', - 'ExtUtils::MM_DOS' => '7.18', - 'ExtUtils::MM_Darwin' => '7.18', - 'ExtUtils::MM_MacOS' => '7.18', - 'ExtUtils::MM_NW5' => '7.18', - 'ExtUtils::MM_OS2' => '7.18', - 'ExtUtils::MM_QNX' => '7.18', - 'ExtUtils::MM_UWIN' => '7.18', - 'ExtUtils::MM_Unix' => '7.18', - 'ExtUtils::MM_VMS' => '7.18', - 'ExtUtils::MM_VOS' => '7.18', - 'ExtUtils::MM_Win32' => '7.18', - 'ExtUtils::MM_Win95' => '7.18', - 'ExtUtils::MY' => '7.18', - 'ExtUtils::MakeMaker' => '7.18', - 'ExtUtils::MakeMaker::Config'=> '7.18', - 'ExtUtils::MakeMaker::Locale'=> '7.18', - 'ExtUtils::MakeMaker::version'=> '7.18', - 'ExtUtils::MakeMaker::version::regex'=> '7.18', - 'ExtUtils::Miniperl' => '1.06', - 'ExtUtils::Mkbootstrap' => '7.18', - 'ExtUtils::Mksymlists' => '7.18', - 'ExtUtils::ParseXS' => '3.32', - 'ExtUtils::ParseXS::Constants'=> '3.32', - 'ExtUtils::ParseXS::CountLines'=> '3.32', - 'ExtUtils::ParseXS::Eval'=> '3.32', - 'ExtUtils::ParseXS::Utilities'=> '3.32', - 'ExtUtils::Typemaps' => '3.32', - 'ExtUtils::Typemaps::Cmd'=> '3.32', - 'ExtUtils::Typemaps::InputMap'=> '3.32', - 'ExtUtils::Typemaps::OutputMap'=> '3.32', - 'ExtUtils::Typemaps::Type'=> '3.32', - 'ExtUtils::testlib' => '7.18', - 'File::Copy' => '2.32', - 'File::Glob' => '1.27', - 'File::Spec' => '3.64', - 'File::Spec::Cygwin' => '3.64', - 'File::Spec::Epoc' => '3.64', - 'File::Spec::Functions' => '3.64', - 'File::Spec::Mac' => '3.64', - 'File::Spec::OS2' => '3.64', - 'File::Spec::Unix' => '3.64', - 'File::Spec::VMS' => '3.64', - 'File::Spec::Win32' => '3.64', - 'FileHandle' => '2.03', - 'Getopt::Long' => '2.49', - 'HTTP::Tiny' => '0.058', - 'JSON::PP' => '2.27400', - 'Locale::Codes' => '3.39', - 'Locale::Codes::Constants'=> '3.39', - 'Locale::Codes::Country'=> '3.39', - 'Locale::Codes::Country_Codes'=> '3.39', - 'Locale::Codes::Country_Retired'=> '3.39', - 'Locale::Codes::Currency'=> '3.39', - 'Locale::Codes::Currency_Codes'=> '3.39', - 'Locale::Codes::Currency_Retired'=> '3.39', - 'Locale::Codes::LangExt'=> '3.39', - 'Locale::Codes::LangExt_Codes'=> '3.39', - 'Locale::Codes::LangExt_Retired'=> '3.39', - 'Locale::Codes::LangFam'=> '3.39', - 'Locale::Codes::LangFam_Codes'=> '3.39', - 'Locale::Codes::LangFam_Retired'=> '3.39', - 'Locale::Codes::LangVar'=> '3.39', - 'Locale::Codes::LangVar_Codes'=> '3.39', - 'Locale::Codes::LangVar_Retired'=> '3.39', - 'Locale::Codes::Language'=> '3.39', - 'Locale::Codes::Language_Codes'=> '3.39', - 'Locale::Codes::Language_Retired'=> '3.39', - 'Locale::Codes::Script' => '3.39', - 'Locale::Codes::Script_Codes'=> '3.39', - 'Locale::Codes::Script_Retired'=> '3.39', - 'Locale::Country' => '3.39', - 'Locale::Currency' => '3.39', - 'Locale::Language' => '3.39', - 'Locale::Script' => '3.39', - 'Module::CoreList' => '5.20160620', - 'Module::CoreList::TieHashDelta'=> '5.20160620', - 'Module::CoreList::Utils'=> '5.20160620', - 'Opcode' => '1.35', - 'POSIX' => '1.70', - 'Pod::Checker' => '1.73', - 'Pod::Functions' => '1.11', - 'Pod::Functions::Functions'=> '1.11', - 'Pod::Usage' => '1.69', - 'Test2' => '1.302026', - 'Test2::API' => '1.302026', - 'Test2::API::Breakage' => '1.302026', - 'Test2::API::Context' => '1.302026', - 'Test2::API::Instance' => '1.302026', - 'Test2::API::Stack' => '1.302026', - 'Test2::Event' => '1.302026', - 'Test2::Event::Bail' => '1.302026', - 'Test2::Event::Diag' => '1.302026', - 'Test2::Event::Exception'=> '1.302026', - 'Test2::Event::Generic' => '1.302026', - 'Test2::Event::Note' => '1.302026', - 'Test2::Event::Ok' => '1.302026', - 'Test2::Event::Plan' => '1.302026', - 'Test2::Event::Skip' => '1.302026', - 'Test2::Event::Subtest' => '1.302026', - 'Test2::Event::Waiting' => '1.302026', - 'Test2::Formatter' => '1.302026', - 'Test2::Formatter::TAP' => '1.302026', - 'Test2::Hub' => '1.302026', - 'Test2::Hub::Interceptor'=> '1.302026', - 'Test2::Hub::Interceptor::Terminator'=> '1.302026', - 'Test2::Hub::Subtest' => '1.302026', - 'Test2::IPC' => '1.302026', - 'Test2::IPC::Driver' => '1.302026', - 'Test2::IPC::Driver::Files'=> '1.302026', - 'Test2::Util' => '1.302026', - 'Test2::Util::ExternalMeta'=> '1.302026', - 'Test2::Util::HashBase' => '1.302026', - 'Test2::Util::Trace' => '1.302026', - 'Test::Builder' => '1.302026', - 'Test::Builder::Formatter'=> '1.302026', - 'Test::Builder::Module' => '1.302026', - 'Test::Builder::Tester' => '1.302026', - 'Test::Builder::Tester::Color'=> '1.302026', - 'Test::Builder::TodoDiag'=> '1.302026', - 'Test::More' => '1.302026', - 'Test::Simple' => '1.302026', - 'Test::Tester' => '1.302026', - 'Test::Tester::Capture' => '1.302026', - 'Test::Tester::CaptureRunner'=> '1.302026', - 'Test::Tester::Delegate'=> '1.302026', - 'Test::use::ok' => '1.302026', - 'Thread::Queue' => '3.11', - 'Time::HiRes' => '1.9734', - 'Unicode::UCD' => '0.65', - 'VMS::DCLsym' => '1.07', - 'XS::APItest' => '0.82', - 'diagnostics' => '1.35', - 'feature' => '1.44', - 'ok' => '1.302026', - 'threads' => '2.09', - }, - removed => { - } - }, - 5.025003 => { - delta_from => 5.025002, - changed => { - 'B::Op_private' => '5.025003', - 'Config' => '5.025003', - 'Data::Dumper' => '2.161', - 'Devel::PPPort' => '3.35', - 'Encode' => '2.84', - 'Encode::MIME::Header' => '2.23', - 'Encode::MIME::Header::ISO_2022_JP'=> '1.07', - 'ExtUtils::ParseXS' => '3.33', - 'ExtUtils::ParseXS::Constants'=> '3.33', - 'ExtUtils::ParseXS::CountLines'=> '3.33', - 'ExtUtils::ParseXS::Eval'=> '3.33', - 'ExtUtils::ParseXS::Utilities'=> '3.33', - 'ExtUtils::Typemaps' => '3.33', - 'ExtUtils::Typemaps::Cmd'=> '3.33', - 'ExtUtils::Typemaps::InputMap'=> '3.33', - 'ExtUtils::Typemaps::OutputMap'=> '3.33', - 'ExtUtils::Typemaps::Type'=> '3.33', - 'Hash::Util' => '0.20', - 'Math::BigFloat' => '1.999726', - 'Math::BigFloat::Trace' => '0.43', - 'Math::BigInt' => '1.999726', - 'Math::BigInt::Calc' => '1.999726', - 'Math::BigInt::CalcEmu' => '1.999726', - 'Math::BigInt::FastCalc'=> '0.42', - 'Math::BigInt::Trace' => '0.43', - 'Math::BigRat' => '0.260804', - 'Module::CoreList' => '5.20160720', - 'Module::CoreList::TieHashDelta'=> '5.20160720', - 'Module::CoreList::Utils'=> '5.20160720', - 'Net::Cmd' => '3.09', - 'Net::Config' => '3.09', - 'Net::Domain' => '3.09', - 'Net::FTP' => '3.09', - 'Net::FTP::A' => '3.09', - 'Net::FTP::E' => '3.09', - 'Net::FTP::I' => '3.09', - 'Net::FTP::L' => '3.09', - 'Net::FTP::dataconn' => '3.09', - 'Net::NNTP' => '3.09', - 'Net::Netrc' => '3.09', - 'Net::POP3' => '3.09', - 'Net::SMTP' => '3.09', - 'Net::Time' => '3.09', - 'Parse::CPAN::Meta' => '1.4422', - 'Perl::OSType' => '1.010', - 'Test2' => '1.302045', - 'Test2::API' => '1.302045', - 'Test2::API::Breakage' => '1.302045', - 'Test2::API::Context' => '1.302045', - 'Test2::API::Instance' => '1.302045', - 'Test2::API::Stack' => '1.302045', - 'Test2::Event' => '1.302045', - 'Test2::Event::Bail' => '1.302045', - 'Test2::Event::Diag' => '1.302045', - 'Test2::Event::Exception'=> '1.302045', - 'Test2::Event::Generic' => '1.302045', - 'Test2::Event::Info' => '1.302045', - 'Test2::Event::Note' => '1.302045', - 'Test2::Event::Ok' => '1.302045', - 'Test2::Event::Plan' => '1.302045', - 'Test2::Event::Skip' => '1.302045', - 'Test2::Event::Subtest' => '1.302045', - 'Test2::Event::Waiting' => '1.302045', - 'Test2::Formatter' => '1.302045', - 'Test2::Formatter::TAP' => '1.302045', - 'Test2::Hub' => '1.302045', - 'Test2::Hub::Interceptor'=> '1.302045', - 'Test2::Hub::Interceptor::Terminator'=> '1.302045', - 'Test2::Hub::Subtest' => '1.302045', - 'Test2::IPC' => '1.302045', - 'Test2::IPC::Driver' => '1.302045', - 'Test2::IPC::Driver::Files'=> '1.302045', - 'Test2::Util' => '1.302045', - 'Test2::Util::ExternalMeta'=> '1.302045', - 'Test2::Util::HashBase' => '1.302045', - 'Test2::Util::Trace' => '1.302045', - 'Test::Builder' => '1.302045', - 'Test::Builder::Formatter'=> '1.302045', - 'Test::Builder::Module' => '1.302045', - 'Test::Builder::Tester' => '1.302045', - 'Test::Builder::Tester::Color'=> '1.302045', - 'Test::Builder::TodoDiag'=> '1.302045', - 'Test::More' => '1.302045', - 'Test::Simple' => '1.302045', - 'Test::Tester' => '1.302045', - 'Test::Tester::Capture' => '1.302045', - 'Test::Tester::CaptureRunner'=> '1.302045', - 'Test::Tester::Delegate'=> '1.302045', - 'Test::use::ok' => '1.302045', - 'Time::HiRes' => '1.9739', - 'Unicode' => '9.0.0', - 'Unicode::UCD' => '0.66', - 'XSLoader' => '0.22', - 'bigint' => '0.43', - 'bignum' => '0.43', - 'bigrat' => '0.43', - 'encoding' => '2.17_01', - 'encoding::warnings' => '0.13', - 'feature' => '1.45', - 'ok' => '1.302045', - 'version' => '0.9917', - 'version::regex' => '0.9917', - 'warnings' => '1.37', - }, - removed => { - } - }, - 5.025004 => { - delta_from => 5.025003, - changed => { - 'App::Cpan' => '1.64_01', - 'App::Prove' => '3.36_01', - 'App::Prove::State' => '3.36_01', - 'App::Prove::State::Result'=> '3.36_01', - 'App::Prove::State::Result::Test'=> '3.36_01', - 'Archive::Tar' => '2.10', - 'Archive::Tar::Constant'=> '2.10', - 'Archive::Tar::File' => '2.10', - 'B' => '1.63', - 'B::Concise' => '0.998', - 'B::Deparse' => '1.38', - 'B::Op_private' => '5.025004', - 'CPAN' => '2.14_01', - 'CPAN::Meta' => '2.150010', - 'CPAN::Meta::Converter' => '2.150010', - 'CPAN::Meta::Feature' => '2.150010', - 'CPAN::Meta::History' => '2.150010', - 'CPAN::Meta::Merge' => '2.150010', - 'CPAN::Meta::Prereqs' => '2.150010', - 'CPAN::Meta::Spec' => '2.150010', - 'CPAN::Meta::Validator' => '2.150010', - 'Carp' => '1.42', - 'Carp::Heavy' => '1.42', - 'Compress::Zlib' => '2.069_01', - 'Config' => '5.025004', - 'Config::Perl::V' => '0.27', - 'Cwd' => '3.65', - 'Digest' => '1.17_01', - 'Digest::SHA' => '5.96', - 'Encode' => '2.86', - 'Errno' => '1.26', - 'ExtUtils::Command' => '7.24', - 'ExtUtils::Command::MM' => '7.24', - 'ExtUtils::Liblist' => '7.24', - 'ExtUtils::Liblist::Kid'=> '7.24', - 'ExtUtils::MM' => '7.24', - 'ExtUtils::MM_AIX' => '7.24', - 'ExtUtils::MM_Any' => '7.24', - 'ExtUtils::MM_BeOS' => '7.24', - 'ExtUtils::MM_Cygwin' => '7.24', - 'ExtUtils::MM_DOS' => '7.24', - 'ExtUtils::MM_Darwin' => '7.24', - 'ExtUtils::MM_MacOS' => '7.24', - 'ExtUtils::MM_NW5' => '7.24', - 'ExtUtils::MM_OS2' => '7.24', - 'ExtUtils::MM_QNX' => '7.24', - 'ExtUtils::MM_UWIN' => '7.24', - 'ExtUtils::MM_Unix' => '7.24', - 'ExtUtils::MM_VMS' => '7.24', - 'ExtUtils::MM_VOS' => '7.24', - 'ExtUtils::MM_Win32' => '7.24', - 'ExtUtils::MM_Win95' => '7.24', - 'ExtUtils::MY' => '7.24', - 'ExtUtils::MakeMaker' => '7.24', - 'ExtUtils::MakeMaker::Config'=> '7.24', - 'ExtUtils::MakeMaker::Locale'=> '7.24', - 'ExtUtils::MakeMaker::version'=> '7.24', - 'ExtUtils::MakeMaker::version::regex'=> '7.24', - 'ExtUtils::Mkbootstrap' => '7.24', - 'ExtUtils::Mksymlists' => '7.24', - 'ExtUtils::testlib' => '7.24', - 'File::Fetch' => '0.52', - 'File::Spec' => '3.65', - 'File::Spec::AmigaOS' => '3.65', - 'File::Spec::Cygwin' => '3.65', - 'File::Spec::Epoc' => '3.65', - 'File::Spec::Functions' => '3.65', - 'File::Spec::Mac' => '3.65', - 'File::Spec::OS2' => '3.65', - 'File::Spec::Unix' => '3.65', - 'File::Spec::VMS' => '3.65', - 'File::Spec::Win32' => '3.65', - 'HTTP::Tiny' => '0.064', - 'Hash::Util' => '0.21', - 'I18N::LangTags' => '0.41', - 'I18N::LangTags::Detect'=> '1.06', - 'IO' => '1.37', - 'IO::Compress::Adapter::Bzip2'=> '2.069_01', - 'IO::Compress::Adapter::Deflate'=> '2.069_01', - 'IO::Compress::Adapter::Identity'=> '2.069_01', - 'IO::Compress::Base' => '2.069_01', - 'IO::Compress::Base::Common'=> '2.069_01', - 'IO::Compress::Bzip2' => '2.069_01', - 'IO::Compress::Deflate' => '2.069_01', - 'IO::Compress::Gzip' => '2.069_01', - 'IO::Compress::Gzip::Constants'=> '2.069_01', - 'IO::Compress::RawDeflate'=> '2.069_01', - 'IO::Compress::Zip' => '2.069_01', - 'IO::Compress::Zip::Constants'=> '2.069_01', - 'IO::Compress::Zlib::Constants'=> '2.069_01', - 'IO::Compress::Zlib::Extra'=> '2.069_01', - 'IO::Socket::IP' => '0.38', - 'IO::Uncompress::Adapter::Bunzip2'=> '2.069_01', - 'IO::Uncompress::Adapter::Identity'=> '2.069_01', - 'IO::Uncompress::Adapter::Inflate'=> '2.069_01', - 'IO::Uncompress::AnyInflate'=> '2.069_01', - 'IO::Uncompress::AnyUncompress'=> '2.069_01', - 'IO::Uncompress::Base' => '2.069_01', - 'IO::Uncompress::Bunzip2'=> '2.069_01', - 'IO::Uncompress::Gunzip'=> '2.069_01', - 'IO::Uncompress::Inflate'=> '2.069_01', - 'IO::Uncompress::RawInflate'=> '2.069_01', - 'IO::Uncompress::Unzip' => '2.069_01', - 'IPC::Cmd' => '0.96', - 'JSON::PP' => '2.27400_01', - 'Locale::Maketext' => '1.28', - 'Locale::Maketext::Simple'=> '0.21_01', - 'Math::BigFloat::Trace' => '0.43_01', - 'Math::BigInt::Trace' => '0.43_01', - 'Memoize' => '1.03_01', - 'Module::CoreList' => '5.20160820', - 'Module::CoreList::TieHashDelta'=> '5.20160820', - 'Module::CoreList::Utils'=> '5.20160820', - 'Module::Load::Conditional'=> '0.68', - 'Module::Metadata' => '1.000033', - 'NEXT' => '0.67', - 'Net::Cmd' => '3.10', - 'Net::Config' => '3.10', - 'Net::Domain' => '3.10', - 'Net::FTP' => '3.10', - 'Net::FTP::A' => '3.10', - 'Net::FTP::E' => '3.10', - 'Net::FTP::I' => '3.10', - 'Net::FTP::L' => '3.10', - 'Net::FTP::dataconn' => '3.10', - 'Net::NNTP' => '3.10', - 'Net::Netrc' => '3.10', - 'Net::POP3' => '3.10', - 'Net::Ping' => '2.44', - 'Net::SMTP' => '3.10', - 'Net::Time' => '3.10', - 'Opcode' => '1.37', - 'POSIX' => '1.71', - 'Parse::CPAN::Meta' => '2.150010', - 'Pod::Html' => '1.2201', - 'Pod::Perldoc' => '3.27', - 'Pod::Perldoc::BaseTo' => '3.27', - 'Pod::Perldoc::GetOptsOO'=> '3.27', - 'Pod::Perldoc::ToANSI' => '3.27', - 'Pod::Perldoc::ToChecker'=> '3.27', - 'Pod::Perldoc::ToMan' => '3.27', - 'Pod::Perldoc::ToNroff' => '3.27', - 'Pod::Perldoc::ToPod' => '3.27', - 'Pod::Perldoc::ToRtf' => '3.27', - 'Pod::Perldoc::ToTerm' => '3.27', - 'Pod::Perldoc::ToText' => '3.27', - 'Pod::Perldoc::ToTk' => '3.27', - 'Pod::Perldoc::ToXml' => '3.27', - 'Storable' => '2.57', - 'Sys::Syslog' => '0.34_01', - 'TAP::Base' => '3.36_01', - 'TAP::Formatter::Base' => '3.36_01', - 'TAP::Formatter::Color' => '3.36_01', - 'TAP::Formatter::Console'=> '3.36_01', - 'TAP::Formatter::Console::ParallelSession'=> '3.36_01', - 'TAP::Formatter::Console::Session'=> '3.36_01', - 'TAP::Formatter::File' => '3.36_01', - 'TAP::Formatter::File::Session'=> '3.36_01', - 'TAP::Formatter::Session'=> '3.36_01', - 'TAP::Harness' => '3.36_01', - 'TAP::Harness::Env' => '3.36_01', - 'TAP::Object' => '3.36_01', - 'TAP::Parser' => '3.36_01', - 'TAP::Parser::Aggregator'=> '3.36_01', - 'TAP::Parser::Grammar' => '3.36_01', - 'TAP::Parser::Iterator' => '3.36_01', - 'TAP::Parser::Iterator::Array'=> '3.36_01', - 'TAP::Parser::Iterator::Process'=> '3.36_01', - 'TAP::Parser::Iterator::Stream'=> '3.36_01', - 'TAP::Parser::IteratorFactory'=> '3.36_01', - 'TAP::Parser::Multiplexer'=> '3.36_01', - 'TAP::Parser::Result' => '3.36_01', - 'TAP::Parser::Result::Bailout'=> '3.36_01', - 'TAP::Parser::Result::Comment'=> '3.36_01', - 'TAP::Parser::Result::Plan'=> '3.36_01', - 'TAP::Parser::Result::Pragma'=> '3.36_01', - 'TAP::Parser::Result::Test'=> '3.36_01', - 'TAP::Parser::Result::Unknown'=> '3.36_01', - 'TAP::Parser::Result::Version'=> '3.36_01', - 'TAP::Parser::Result::YAML'=> '3.36_01', - 'TAP::Parser::ResultFactory'=> '3.36_01', - 'TAP::Parser::Scheduler'=> '3.36_01', - 'TAP::Parser::Scheduler::Job'=> '3.36_01', - 'TAP::Parser::Scheduler::Spinner'=> '3.36_01', - 'TAP::Parser::Source' => '3.36_01', - 'TAP::Parser::SourceHandler'=> '3.36_01', - 'TAP::Parser::SourceHandler::Executable'=> '3.36_01', - 'TAP::Parser::SourceHandler::File'=> '3.36_01', - 'TAP::Parser::SourceHandler::Handle'=> '3.36_01', - 'TAP::Parser::SourceHandler::Perl'=> '3.36_01', - 'TAP::Parser::SourceHandler::RawTAP'=> '3.36_01', - 'TAP::Parser::YAMLish::Reader'=> '3.36_01', - 'TAP::Parser::YAMLish::Writer'=> '3.36_01', - 'Test' => '1.29', - 'Test2' => '1.302052', - 'Test2::API' => '1.302052', - 'Test2::API::Breakage' => '1.302052', - 'Test2::API::Context' => '1.302052', - 'Test2::API::Instance' => '1.302052', - 'Test2::API::Stack' => '1.302052', - 'Test2::Event' => '1.302052', - 'Test2::Event::Bail' => '1.302052', - 'Test2::Event::Diag' => '1.302052', - 'Test2::Event::Exception'=> '1.302052', - 'Test2::Event::Generic' => '1.302052', - 'Test2::Event::Info' => '1.302052', - 'Test2::Event::Note' => '1.302052', - 'Test2::Event::Ok' => '1.302052', - 'Test2::Event::Plan' => '1.302052', - 'Test2::Event::Skip' => '1.302052', - 'Test2::Event::Subtest' => '1.302052', - 'Test2::Event::Waiting' => '1.302052', - 'Test2::Formatter' => '1.302052', - 'Test2::Formatter::TAP' => '1.302052', - 'Test2::Hub' => '1.302052', - 'Test2::Hub::Interceptor'=> '1.302052', - 'Test2::Hub::Interceptor::Terminator'=> '1.302052', - 'Test2::Hub::Subtest' => '1.302052', - 'Test2::IPC' => '1.302052', - 'Test2::IPC::Driver' => '1.302052', - 'Test2::IPC::Driver::Files'=> '1.302052', - 'Test2::Util' => '1.302052', - 'Test2::Util::ExternalMeta'=> '1.302052', - 'Test2::Util::HashBase' => '1.302052', - 'Test2::Util::Trace' => '1.302052', - 'Test::Builder' => '1.302052', - 'Test::Builder::Formatter'=> '1.302052', - 'Test::Builder::Module' => '1.302052', - 'Test::Builder::Tester' => '1.302052', - 'Test::Builder::Tester::Color'=> '1.302052', - 'Test::Builder::TodoDiag'=> '1.302052', - 'Test::Harness' => '3.36_01', - 'Test::More' => '1.302052', - 'Test::Simple' => '1.302052', - 'Test::Tester' => '1.302052', - 'Test::Tester::Capture' => '1.302052', - 'Test::Tester::CaptureRunner'=> '1.302052', - 'Test::Tester::Delegate'=> '1.302052', - 'Test::use::ok' => '1.302052', - 'Tie::Hash::NamedCapture'=> '0.10', - 'Time::Local' => '1.24', - 'XS::APItest' => '0.83', - 'arybase' => '0.12', - 'base' => '2.24', - 'bigint' => '0.43_01', - 'bignum' => '0.43_01', - 'bigrat' => '0.43_01', - 'encoding' => '2.18', - 'ok' => '1.302052', - }, - removed => { - } - }, - 5.025005 => { - delta_from => 5.025004, - changed => { - 'B::Op_private' => '5.025005', - 'Config' => '5.025005', - 'Filter::Simple' => '0.93', - 'Locale::Codes' => '3.40', - 'Locale::Codes::Constants'=> '3.40', - 'Locale::Codes::Country'=> '3.40', - 'Locale::Codes::Country_Codes'=> '3.40', - 'Locale::Codes::Country_Retired'=> '3.40', - 'Locale::Codes::Currency'=> '3.40', - 'Locale::Codes::Currency_Codes'=> '3.40', - 'Locale::Codes::Currency_Retired'=> '3.40', - 'Locale::Codes::LangExt'=> '3.40', - 'Locale::Codes::LangExt_Codes'=> '3.40', - 'Locale::Codes::LangExt_Retired'=> '3.40', - 'Locale::Codes::LangFam'=> '3.40', - 'Locale::Codes::LangFam_Codes'=> '3.40', - 'Locale::Codes::LangFam_Retired'=> '3.40', - 'Locale::Codes::LangVar'=> '3.40', - 'Locale::Codes::LangVar_Codes'=> '3.40', - 'Locale::Codes::LangVar_Retired'=> '3.40', - 'Locale::Codes::Language'=> '3.40', - 'Locale::Codes::Language_Codes'=> '3.40', - 'Locale::Codes::Language_Retired'=> '3.40', - 'Locale::Codes::Script' => '3.40', - 'Locale::Codes::Script_Codes'=> '3.40', - 'Locale::Codes::Script_Retired'=> '3.40', - 'Locale::Country' => '3.40', - 'Locale::Currency' => '3.40', - 'Locale::Language' => '3.40', - 'Locale::Script' => '3.40', - 'Module::CoreList' => '5.20160920', - 'Module::CoreList::TieHashDelta'=> '5.20160920', - 'Module::CoreList::Utils'=> '5.20160920', - 'POSIX' => '1.72', - 'Sys::Syslog' => '0.35', - 'Test2' => '1.302056', - 'Test2::API' => '1.302056', - 'Test2::API::Breakage' => '1.302056', - 'Test2::API::Context' => '1.302056', - 'Test2::API::Instance' => '1.302056', - 'Test2::API::Stack' => '1.302056', - 'Test2::Event' => '1.302056', - 'Test2::Event::Bail' => '1.302056', - 'Test2::Event::Diag' => '1.302056', - 'Test2::Event::Exception'=> '1.302056', - 'Test2::Event::Generic' => '1.302056', - 'Test2::Event::Info' => '1.302056', - 'Test2::Event::Note' => '1.302056', - 'Test2::Event::Ok' => '1.302056', - 'Test2::Event::Plan' => '1.302056', - 'Test2::Event::Skip' => '1.302056', - 'Test2::Event::Subtest' => '1.302056', - 'Test2::Event::Waiting' => '1.302056', - 'Test2::Formatter' => '1.302056', - 'Test2::Formatter::TAP' => '1.302056', - 'Test2::Hub' => '1.302056', - 'Test2::Hub::Interceptor'=> '1.302056', - 'Test2::Hub::Interceptor::Terminator'=> '1.302056', - 'Test2::Hub::Subtest' => '1.302056', - 'Test2::IPC' => '1.302056', - 'Test2::IPC::Driver' => '1.302056', - 'Test2::IPC::Driver::Files'=> '1.302056', - 'Test2::Util' => '1.302056', - 'Test2::Util::ExternalMeta'=> '1.302056', - 'Test2::Util::HashBase' => '1.302056', - 'Test2::Util::Trace' => '1.302056', - 'Test::Builder' => '1.302056', - 'Test::Builder::Formatter'=> '1.302056', - 'Test::Builder::Module' => '1.302056', - 'Test::Builder::Tester' => '1.302056', - 'Test::Builder::Tester::Color'=> '1.302056', - 'Test::Builder::TodoDiag'=> '1.302056', - 'Test::More' => '1.302056', - 'Test::Simple' => '1.302056', - 'Test::Tester' => '1.302056', - 'Test::Tester::Capture' => '1.302056', - 'Test::Tester::CaptureRunner'=> '1.302056', - 'Test::Tester::Delegate'=> '1.302056', - 'Test::use::ok' => '1.302056', - 'Thread::Semaphore' => '2.13', - 'XS::APItest' => '0.84', - 'XSLoader' => '0.24', - 'ok' => '1.302056', - }, - removed => { - } - }, - 5.025006 => { - delta_from => 5.025005, - changed => { - 'Archive::Tar' => '2.14', - 'Archive::Tar::Constant'=> '2.14', - 'Archive::Tar::File' => '2.14', - 'B' => '1.64', - 'B::Concise' => '0.999', - 'B::Deparse' => '1.39', - 'B::Op_private' => '5.025006', - 'Config' => '5.025006', - 'Data::Dumper' => '2.162', - 'Devel::Peek' => '1.25', - 'HTTP::Tiny' => '0.070', - 'List::Util' => '1.46', - 'List::Util::XS' => '1.46', - 'Module::CoreList' => '5.20161020', - 'Module::CoreList::TieHashDelta'=> '5.20161020', - 'Module::CoreList::Utils'=> '5.20161020', - 'Net::Ping' => '2.51', - 'OS2::DLL' => '1.07', - 'Opcode' => '1.38', - 'POSIX' => '1.73', - 'PerlIO::encoding' => '0.25', - 'Pod::Man' => '4.08', - 'Pod::ParseLink' => '4.08', - 'Pod::Text' => '4.08', - 'Pod::Text::Color' => '4.08', - 'Pod::Text::Overstrike' => '4.08', - 'Pod::Text::Termcap' => '4.08', - 'Scalar::Util' => '1.46', - 'Storable' => '2.58', - 'Sub::Util' => '1.46', - 'Test2' => '1.302059', - 'Test2::API' => '1.302059', - 'Test2::API::Breakage' => '1.302059', - 'Test2::API::Context' => '1.302059', - 'Test2::API::Instance' => '1.302059', - 'Test2::API::Stack' => '1.302059', - 'Test2::Event' => '1.302059', - 'Test2::Event::Bail' => '1.302059', - 'Test2::Event::Diag' => '1.302059', - 'Test2::Event::Exception'=> '1.302059', - 'Test2::Event::Generic' => '1.302059', - 'Test2::Event::Info' => '1.302059', - 'Test2::Event::Note' => '1.302059', - 'Test2::Event::Ok' => '1.302059', - 'Test2::Event::Plan' => '1.302059', - 'Test2::Event::Skip' => '1.302059', - 'Test2::Event::Subtest' => '1.302059', - 'Test2::Event::Waiting' => '1.302059', - 'Test2::Formatter' => '1.302059', - 'Test2::Formatter::TAP' => '1.302059', - 'Test2::Hub' => '1.302059', - 'Test2::Hub::Interceptor'=> '1.302059', - 'Test2::Hub::Interceptor::Terminator'=> '1.302059', - 'Test2::Hub::Subtest' => '1.302059', - 'Test2::IPC' => '1.302059', - 'Test2::IPC::Driver' => '1.302059', - 'Test2::IPC::Driver::Files'=> '1.302059', - 'Test2::Util' => '1.302059', - 'Test2::Util::ExternalMeta'=> '1.302059', - 'Test2::Util::HashBase' => '1.302059', - 'Test2::Util::Trace' => '1.302059', - 'Test::Builder' => '1.302059', - 'Test::Builder::Formatter'=> '1.302059', - 'Test::Builder::Module' => '1.302059', - 'Test::Builder::Tester' => '1.302059', - 'Test::Builder::Tester::Color'=> '1.302059', - 'Test::Builder::TodoDiag'=> '1.302059', - 'Test::More' => '1.302059', - 'Test::Simple' => '1.302059', - 'Test::Tester' => '1.302059', - 'Test::Tester::Capture' => '1.302059', - 'Test::Tester::CaptureRunner'=> '1.302059', - 'Test::Tester::Delegate'=> '1.302059', - 'Test::use::ok' => '1.302059', - 'Time::HiRes' => '1.9740_01', - 'VMS::Stdio' => '2.42', - 'XS::APItest' => '0.86', - 'attributes' => '0.28', - 'mro' => '1.19', - 'ok' => '1.302059', - 'overload' => '1.27', - 'parent' => '0.236', - }, - removed => { - } - }, - 5.025007 => { - delta_from => 5.025006, - changed => { - 'Archive::Tar' => '2.18', - 'Archive::Tar::Constant'=> '2.18', - 'Archive::Tar::File' => '2.18', - 'B' => '1.65', - 'B::Op_private' => '5.025007', - 'Config' => '5.025007', - 'Cwd' => '3.66', - 'Data::Dumper' => '2.165', - 'Devel::Peek' => '1.26', - 'DynaLoader' => '1.40', - 'Errno' => '1.27', - 'ExtUtils::ParseXS::Utilities'=> '3.34', - 'File::Spec' => '3.66', - 'File::Spec::AmigaOS' => '3.66', - 'File::Spec::Cygwin' => '3.66', - 'File::Spec::Epoc' => '3.66', - 'File::Spec::Functions' => '3.66', - 'File::Spec::Mac' => '3.66', - 'File::Spec::OS2' => '3.66', - 'File::Spec::Unix' => '3.66', - 'File::Spec::VMS' => '3.66', - 'File::Spec::Win32' => '3.66', - 'Hash::Util' => '0.22', - 'JSON::PP' => '2.27400_02', - 'List::Util' => '1.46_02', - 'List::Util::XS' => '1.46_02', - 'Math::BigFloat' => '1.999727', - 'Math::BigInt' => '1.999727', - 'Math::BigInt::Calc' => '1.999727', - 'Math::BigInt::CalcEmu' => '1.999727', - 'Math::Complex' => '1.5901', - 'Module::CoreList' => '5.20161120', - 'Module::CoreList::TieHashDelta'=> '5.20161120', - 'Module::CoreList::Utils'=> '5.20161120', - 'Net::Ping' => '2.55', - 'Opcode' => '1.39', - 'POSIX' => '1.75', - 'Pod::Man' => '4.09', - 'Pod::ParseLink' => '4.09', - 'Pod::Text' => '4.09', - 'Pod::Text::Color' => '4.09', - 'Pod::Text::Overstrike' => '4.09', - 'Pod::Text::Termcap' => '4.09', - 'Scalar::Util' => '1.46_02', - 'Storable' => '2.59', - 'Sub::Util' => '1.46_02', - 'Term::ANSIColor' => '4.06', - 'Test2' => '1.302062', - 'Test2::API' => '1.302062', - 'Test2::API::Breakage' => '1.302062', - 'Test2::API::Context' => '1.302062', - 'Test2::API::Instance' => '1.302062', - 'Test2::API::Stack' => '1.302062', - 'Test2::Event' => '1.302062', - 'Test2::Event::Bail' => '1.302062', - 'Test2::Event::Diag' => '1.302062', - 'Test2::Event::Exception'=> '1.302062', - 'Test2::Event::Generic' => '1.302062', - 'Test2::Event::Info' => '1.302062', - 'Test2::Event::Note' => '1.302062', - 'Test2::Event::Ok' => '1.302062', - 'Test2::Event::Plan' => '1.302062', - 'Test2::Event::Skip' => '1.302062', - 'Test2::Event::Subtest' => '1.302062', - 'Test2::Event::Waiting' => '1.302062', - 'Test2::Formatter' => '1.302062', - 'Test2::Formatter::TAP' => '1.302062', - 'Test2::Hub' => '1.302062', - 'Test2::Hub::Interceptor'=> '1.302062', - 'Test2::Hub::Interceptor::Terminator'=> '1.302062', - 'Test2::Hub::Subtest' => '1.302062', - 'Test2::IPC' => '1.302062', - 'Test2::IPC::Driver' => '1.302062', - 'Test2::IPC::Driver::Files'=> '1.302062', - 'Test2::Util' => '1.302062', - 'Test2::Util::ExternalMeta'=> '1.302062', - 'Test2::Util::HashBase' => '1.302062', - 'Test2::Util::Trace' => '1.302062', - 'Test::Builder' => '1.302062', - 'Test::Builder::Formatter'=> '1.302062', - 'Test::Builder::Module' => '1.302062', - 'Test::Builder::Tester' => '1.302062', - 'Test::Builder::Tester::Color'=> '1.302062', - 'Test::Builder::TodoDiag'=> '1.302062', - 'Test::More' => '1.302062', - 'Test::Simple' => '1.302062', - 'Test::Tester' => '1.302062', - 'Test::Tester::Capture' => '1.302062', - 'Test::Tester::CaptureRunner'=> '1.302062', - 'Test::Tester::Delegate'=> '1.302062', - 'Test::use::ok' => '1.302062', - 'Time::HiRes' => '1.9740_03', - 'Unicode::Collate' => '1.18', - 'Unicode::Collate::CJK::Big5'=> '1.18', - 'Unicode::Collate::CJK::GB2312'=> '1.18', - 'Unicode::Collate::CJK::JISX0208'=> '1.18', - 'Unicode::Collate::CJK::Korean'=> '1.18', - 'Unicode::Collate::CJK::Pinyin'=> '1.18', - 'Unicode::Collate::CJK::Stroke'=> '1.18', - 'Unicode::Collate::CJK::Zhuyin'=> '1.18', - 'Unicode::Collate::Locale'=> '1.18', - 'Unicode::UCD' => '0.67', - 'XS::APItest' => '0.87', - 'XS::Typemap' => '0.15', - 'mro' => '1.20', - 'ok' => '1.302062', - 'threads' => '2.10', - }, - removed => { - } - }, - 5.025008 => { - delta_from => 5.025007, - changed => { - 'Archive::Tar' => '2.24', - 'Archive::Tar::Constant'=> '2.24', - 'Archive::Tar::File' => '2.24', - 'B::Debug' => '1.24', - 'B::Op_private' => '5.025008', - 'Config' => '5.025008', - 'Data::Dumper' => '2.166', - 'Encode' => '2.88', - 'Encode::Alias' => '2.21', - 'Encode::CN::HZ' => '2.08', - 'Encode::MIME::Header' => '2.24', - 'Encode::MIME::Name' => '1.02', - 'Encode::Unicode' => '2.1501', - 'IO' => '1.38', - 'Locale::Codes' => '3.42', - 'Locale::Codes::Constants'=> '3.42', - 'Locale::Codes::Country'=> '3.42', - 'Locale::Codes::Country_Codes'=> '3.42', - 'Locale::Codes::Country_Retired'=> '3.42', - 'Locale::Codes::Currency'=> '3.42', - 'Locale::Codes::Currency_Codes'=> '3.42', - 'Locale::Codes::Currency_Retired'=> '3.42', - 'Locale::Codes::LangExt'=> '3.42', - 'Locale::Codes::LangExt_Codes'=> '3.42', - 'Locale::Codes::LangExt_Retired'=> '3.42', - 'Locale::Codes::LangFam'=> '3.42', - 'Locale::Codes::LangFam_Codes'=> '3.42', - 'Locale::Codes::LangFam_Retired'=> '3.42', - 'Locale::Codes::LangVar'=> '3.42', - 'Locale::Codes::LangVar_Codes'=> '3.42', - 'Locale::Codes::LangVar_Retired'=> '3.42', - 'Locale::Codes::Language'=> '3.42', - 'Locale::Codes::Language_Codes'=> '3.42', - 'Locale::Codes::Language_Retired'=> '3.42', - 'Locale::Codes::Script' => '3.42', - 'Locale::Codes::Script_Codes'=> '3.42', - 'Locale::Codes::Script_Retired'=> '3.42', - 'Locale::Country' => '3.42', - 'Locale::Currency' => '3.42', - 'Locale::Language' => '3.42', - 'Locale::Script' => '3.42', - 'Math::BigFloat' => '1.999806', - 'Math::BigFloat::Trace' => '0.47', - 'Math::BigInt' => '1.999806', - 'Math::BigInt::Calc' => '1.999806', - 'Math::BigInt::CalcEmu' => '1.999806', - 'Math::BigInt::FastCalc'=> '0.5005', - 'Math::BigInt::Lib' => '1.999806', - 'Math::BigInt::Trace' => '0.47', - 'Math::BigRat' => '0.2611', - 'Module::CoreList' => '5.20161220', - 'Module::CoreList::TieHashDelta'=> '5.20161220', - 'Module::CoreList::Utils'=> '5.20161220', - 'POSIX' => '1.76', - 'PerlIO::scalar' => '0.25', - 'Pod::Simple' => '3.35', - 'Pod::Simple::BlackBox' => '3.35', - 'Pod::Simple::Checker' => '3.35', - 'Pod::Simple::Debug' => '3.35', - 'Pod::Simple::DumpAsText'=> '3.35', - 'Pod::Simple::DumpAsXML'=> '3.35', - 'Pod::Simple::HTML' => '3.35', - 'Pod::Simple::HTMLBatch'=> '3.35', - 'Pod::Simple::LinkSection'=> '3.35', - 'Pod::Simple::Methody' => '3.35', - 'Pod::Simple::Progress' => '3.35', - 'Pod::Simple::PullParser'=> '3.35', - 'Pod::Simple::PullParserEndToken'=> '3.35', - 'Pod::Simple::PullParserStartToken'=> '3.35', - 'Pod::Simple::PullParserTextToken'=> '3.35', - 'Pod::Simple::PullParserToken'=> '3.35', - 'Pod::Simple::RTF' => '3.35', - 'Pod::Simple::Search' => '3.35', - 'Pod::Simple::SimpleTree'=> '3.35', - 'Pod::Simple::Text' => '3.35', - 'Pod::Simple::TextContent'=> '3.35', - 'Pod::Simple::TiedOutFH'=> '3.35', - 'Pod::Simple::Transcode'=> '3.35', - 'Pod::Simple::TranscodeDumb'=> '3.35', - 'Pod::Simple::TranscodeSmart'=> '3.35', - 'Pod::Simple::XHTML' => '3.35', - 'Pod::Simple::XMLOutStream'=> '3.35', - 'Test2' => '1.302073', - 'Test2::API' => '1.302073', - 'Test2::API::Breakage' => '1.302073', - 'Test2::API::Context' => '1.302073', - 'Test2::API::Instance' => '1.302073', - 'Test2::API::Stack' => '1.302073', - 'Test2::Event' => '1.302073', - 'Test2::Event::Bail' => '1.302073', - 'Test2::Event::Diag' => '1.302073', - 'Test2::Event::Encoding'=> '1.302073', - 'Test2::Event::Exception'=> '1.302073', - 'Test2::Event::Generic' => '1.302073', - 'Test2::Event::Info' => '1.302073', - 'Test2::Event::Note' => '1.302073', - 'Test2::Event::Ok' => '1.302073', - 'Test2::Event::Plan' => '1.302073', - 'Test2::Event::Skip' => '1.302073', - 'Test2::Event::Subtest' => '1.302073', - 'Test2::Event::TAP::Version'=> '1.302073', - 'Test2::Event::Waiting' => '1.302073', - 'Test2::Formatter' => '1.302073', - 'Test2::Formatter::TAP' => '1.302073', - 'Test2::Hub' => '1.302073', - 'Test2::Hub::Interceptor'=> '1.302073', - 'Test2::Hub::Interceptor::Terminator'=> '1.302073', - 'Test2::Hub::Subtest' => '1.302073', - 'Test2::IPC' => '1.302073', - 'Test2::IPC::Driver' => '1.302073', - 'Test2::IPC::Driver::Files'=> '1.302073', - 'Test2::Tools::Tiny' => '1.302073', - 'Test2::Util' => '1.302073', - 'Test2::Util::ExternalMeta'=> '1.302073', - 'Test2::Util::HashBase' => '0.002', - 'Test2::Util::Trace' => '1.302073', - 'Test::Builder' => '1.302073', - 'Test::Builder::Formatter'=> '1.302073', - 'Test::Builder::Module' => '1.302073', - 'Test::Builder::Tester' => '1.302073', - 'Test::Builder::Tester::Color'=> '1.302073', - 'Test::Builder::TodoDiag'=> '1.302073', - 'Test::More' => '1.302073', - 'Test::Simple' => '1.302073', - 'Test::Tester' => '1.302073', - 'Test::Tester::Capture' => '1.302073', - 'Test::Tester::CaptureRunner'=> '1.302073', - 'Test::Tester::Delegate'=> '1.302073', - 'Test::use::ok' => '1.302073', - 'Time::HiRes' => '1.9741', - 'Time::Local' => '1.25', - 'Unicode::Collate' => '1.19', - 'Unicode::Collate::CJK::Big5'=> '1.19', - 'Unicode::Collate::CJK::GB2312'=> '1.19', - 'Unicode::Collate::CJK::JISX0208'=> '1.19', - 'Unicode::Collate::CJK::Korean'=> '1.19', - 'Unicode::Collate::CJK::Pinyin'=> '1.19', - 'Unicode::Collate::CJK::Stroke'=> '1.19', - 'Unicode::Collate::CJK::Zhuyin'=> '1.19', - 'Unicode::Collate::Locale'=> '1.19', - 'bigint' => '0.47', - 'bignum' => '0.47', - 'bigrat' => '0.47', - 'encoding' => '2.19', - 'ok' => '1.302073', - }, - removed => { - } - }, - 5.022003 => { - delta_from => 5.022002, - changed => { - 'App::Cpan' => '1.63_01', - 'App::Prove' => '3.35_01', - 'App::Prove::State' => '3.35_01', - 'App::Prove::State::Result'=> '3.35_01', - 'App::Prove::State::Result::Test'=> '3.35_01', - 'Archive::Tar' => '2.04_01', - 'Archive::Tar::Constant'=> '2.04_01', - 'Archive::Tar::File' => '2.04_01', - 'B::Op_private' => '5.022003', - 'CPAN' => '2.11_01', - 'Compress::Zlib' => '2.068_001', - 'Config' => '5.022003', - 'Cwd' => '3.56_02', - 'Digest' => '1.17_01', - 'Digest::SHA' => '5.95_01', - 'Encode' => '2.72_01', - 'ExtUtils::Command' => '1.20_01', - 'ExtUtils::Command::MM' => '7.04_02', - 'ExtUtils::Liblist' => '7.04_02', - 'ExtUtils::Liblist::Kid'=> '7.04_02', - 'ExtUtils::MM' => '7.04_02', - 'ExtUtils::MM_AIX' => '7.04_02', - 'ExtUtils::MM_Any' => '7.04_02', - 'ExtUtils::MM_BeOS' => '7.04_02', - 'ExtUtils::MM_Cygwin' => '7.04_02', - 'ExtUtils::MM_DOS' => '7.04_02', - 'ExtUtils::MM_Darwin' => '7.04_02', - 'ExtUtils::MM_MacOS' => '7.04_02', - 'ExtUtils::MM_NW5' => '7.04_02', - 'ExtUtils::MM_OS2' => '7.04_02', - 'ExtUtils::MM_QNX' => '7.04_02', - 'ExtUtils::MM_UWIN' => '7.04_02', - 'ExtUtils::MM_Unix' => '7.04_02', - 'ExtUtils::MM_VMS' => '7.04_02', - 'ExtUtils::MM_VOS' => '7.04_02', - 'ExtUtils::MM_Win32' => '7.04_02', - 'ExtUtils::MM_Win95' => '7.04_02', - 'ExtUtils::MY' => '7.04_02', - 'ExtUtils::MakeMaker' => '7.04_02', - 'ExtUtils::MakeMaker::Config'=> '7.04_02', - 'ExtUtils::Mkbootstrap' => '7.04_02', - 'ExtUtils::Mksymlists' => '7.04_02', - 'ExtUtils::testlib' => '7.04_02', - 'File::Fetch' => '0.48_01', - 'File::Spec' => '3.56_02', - 'File::Spec::Cygwin' => '3.56_02', - 'File::Spec::Epoc' => '3.56_02', - 'File::Spec::Functions' => '3.56_02', - 'File::Spec::Mac' => '3.56_02', - 'File::Spec::OS2' => '3.56_02', - 'File::Spec::Unix' => '3.56_02', - 'File::Spec::VMS' => '3.56_02', - 'File::Spec::Win32' => '3.56_02', - 'HTTP::Tiny' => '0.054_01', - 'I18N::LangTags::Detect'=> '1.05_01', - 'IO' => '1.35_01', - 'IO::Compress::Adapter::Bzip2'=> '2.068_001', - 'IO::Compress::Adapter::Deflate'=> '2.068_001', - 'IO::Compress::Adapter::Identity'=> '2.068_001', - 'IO::Compress::Base' => '2.068_001', - 'IO::Compress::Base::Common'=> '2.068_001', - 'IO::Compress::Bzip2' => '2.068_001', - 'IO::Compress::Deflate' => '2.068_001', - 'IO::Compress::Gzip' => '2.068_001', - 'IO::Compress::Gzip::Constants'=> '2.068_001', - 'IO::Compress::RawDeflate'=> '2.068_001', - 'IO::Compress::Zip' => '2.068_001', - 'IO::Compress::Zip::Constants'=> '2.068_001', - 'IO::Compress::Zlib::Constants'=> '2.068_001', - 'IO::Compress::Zlib::Extra'=> '2.068_001', - 'IO::Uncompress::Adapter::Bunzip2'=> '2.068_001', - 'IO::Uncompress::Adapter::Identity'=> '2.068_001', - 'IO::Uncompress::Adapter::Inflate'=> '2.068_001', - 'IO::Uncompress::AnyInflate'=> '2.068_001', - 'IO::Uncompress::AnyUncompress'=> '2.068_001', - 'IO::Uncompress::Base' => '2.068_001', - 'IO::Uncompress::Bunzip2'=> '2.068_001', - 'IO::Uncompress::Gunzip'=> '2.068_001', - 'IO::Uncompress::Inflate'=> '2.068_001', - 'IO::Uncompress::RawInflate'=> '2.068_001', - 'IO::Uncompress::Unzip' => '2.068_001', - 'IPC::Cmd' => '0.92_01', - 'JSON::PP' => '2.27300_01', - 'Locale::Maketext' => '1.26_01', - 'Locale::Maketext::Simple'=> '0.21_01', - 'Memoize' => '1.03_01', - 'Module::CoreList' => '5.20170114_22', - 'Module::CoreList::TieHashDelta'=> '5.20170114_22', - 'Module::CoreList::Utils'=> '5.20170114_22', - 'Module::Metadata::corpus::BOMTest::UTF16BE'=> undef, - 'Module::Metadata::corpus::BOMTest::UTF16LE'=> undef, - 'Module::Metadata::corpus::BOMTest::UTF8'=> '1', - 'Net::Cmd' => '3.05_01', - 'Net::Config' => '3.05_01', - 'Net::Domain' => '3.05_01', - 'Net::FTP' => '3.05_01', - 'Net::FTP::A' => '3.05_01', - 'Net::FTP::E' => '3.05_01', - 'Net::FTP::I' => '3.05_01', - 'Net::FTP::L' => '3.05_01', - 'Net::FTP::dataconn' => '3.05_01', - 'Net::NNTP' => '3.05_01', - 'Net::Netrc' => '3.05_01', - 'Net::POP3' => '3.05_01', - 'Net::Ping' => '2.43_01', - 'Net::SMTP' => '3.05_01', - 'Net::Time' => '3.05_01', - 'Parse::CPAN::Meta' => '1.4414_001', - 'Pod::Html' => '1.2201', - 'Pod::Perldoc' => '3.25_01', - 'Storable' => '2.53_02', - 'Sys::Syslog' => '0.33_01', - 'TAP::Base' => '3.35_01', - 'TAP::Formatter::Base' => '3.35_01', - 'TAP::Formatter::Color' => '3.35_01', - 'TAP::Formatter::Console'=> '3.35_01', - 'TAP::Formatter::Console::ParallelSession'=> '3.35_01', - 'TAP::Formatter::Console::Session'=> '3.35_01', - 'TAP::Formatter::File' => '3.35_01', - 'TAP::Formatter::File::Session'=> '3.35_01', - 'TAP::Formatter::Session'=> '3.35_01', - 'TAP::Harness' => '3.35_01', - 'TAP::Harness::Env' => '3.35_01', - 'TAP::Object' => '3.35_01', - 'TAP::Parser' => '3.35_01', - 'TAP::Parser::Aggregator'=> '3.35_01', - 'TAP::Parser::Grammar' => '3.35_01', - 'TAP::Parser::Iterator' => '3.35_01', - 'TAP::Parser::Iterator::Array'=> '3.35_01', - 'TAP::Parser::Iterator::Process'=> '3.35_01', - 'TAP::Parser::Iterator::Stream'=> '3.35_01', - 'TAP::Parser::IteratorFactory'=> '3.35_01', - 'TAP::Parser::Multiplexer'=> '3.35_01', - 'TAP::Parser::Result' => '3.35_01', - 'TAP::Parser::Result::Bailout'=> '3.35_01', - 'TAP::Parser::Result::Comment'=> '3.35_01', - 'TAP::Parser::Result::Plan'=> '3.35_01', - 'TAP::Parser::Result::Pragma'=> '3.35_01', - 'TAP::Parser::Result::Test'=> '3.35_01', - 'TAP::Parser::Result::Unknown'=> '3.35_01', - 'TAP::Parser::Result::Version'=> '3.35_01', - 'TAP::Parser::Result::YAML'=> '3.35_01', - 'TAP::Parser::ResultFactory'=> '3.35_01', - 'TAP::Parser::Scheduler'=> '3.35_01', - 'TAP::Parser::Scheduler::Job'=> '3.35_01', - 'TAP::Parser::Scheduler::Spinner'=> '3.35_01', - 'TAP::Parser::Source' => '3.35_01', - 'TAP::Parser::SourceHandler'=> '3.35_01', - 'TAP::Parser::SourceHandler::Executable'=> '3.35_01', - 'TAP::Parser::SourceHandler::File'=> '3.35_01', - 'TAP::Parser::SourceHandler::Handle'=> '3.35_01', - 'TAP::Parser::SourceHandler::Perl'=> '3.35_01', - 'TAP::Parser::SourceHandler::RawTAP'=> '3.35_01', - 'TAP::Parser::YAMLish::Reader'=> '3.35_01', - 'TAP::Parser::YAMLish::Writer'=> '3.35_01', - 'Test' => '1.26_01', - 'Test::Harness' => '3.35_01', - 'XSLoader' => '0.20_01', - 'bigint' => '0.39_01', - 'bignum' => '0.39_01', - 'bigrat' => '0.39_01', - }, - removed => { - } - }, ); sub is_core @@ -13727,7 +11622,7 @@ sub is_core } RELEASE: foreach my $prn (@releases) { - next RELEASE if $prn < $first_release; + next RELEASE if $prn <= $first_release; last RELEASE if $prn > $perl_version; next unless defined(my $next_module_version = $delta{$prn}->{changed}->{$module}); @@ -14142,6 +12037,7 @@ for my $version (sort { $a <=> $b } keys %delta) { 'Module::Build::Version'=> 1, 'Module::Build::YAML' => 1, 'Package::Constants' => 1, + 'Simple' => 1, 'inc::latest' => 1, } }, @@ -14250,167 +12146,6 @@ for my $version (sort { $a <=> $b } keys %delta) { removed => { } }, - 5.023001 => { - delta_from => 5.023000, - changed => { - }, - removed => { - } - }, - 5.023002 => { - delta_from => 5.023001, - changed => { - }, - removed => { - } - }, - 5.020003 => { - delta_from => 5.020002, - changed => { - }, - removed => { - } - }, - 5.023003 => { - delta_from => 5.023002, - changed => { - }, - removed => { - } - }, - 5.023004 => { - delta_from => 5.023003, - changed => { - }, - removed => { - } - }, - 5.023005 => { - delta_from => 5.023004, - changed => { - }, - removed => { - } - }, - 5.022001 => { - delta_from => 5.022, - changed => { - }, - removed => { - } - }, - 5.023006 => { - delta_from => 5.023005, - changed => { - }, - removed => { - } - }, - 5.023007 => { - delta_from => 5.023006, - changed => { - }, - removed => { - } - }, - 5.023008 => { - delta_from => 5.023007, - changed => { - }, - removed => { - } - }, - 5.023009 => { - delta_from => 5.023008, - changed => { - }, - removed => { - } - }, - 5.022002 => { - delta_from => 5.022001, - changed => { - }, - removed => { - } - }, - 5.024000 => { - delta_from => 5.023009, - changed => { - }, - removed => { - } - }, - 5.025000 => { - delta_from => 5.024, - changed => { - }, - removed => { - } - }, - 5.025001 => { - delta_from => 5.025, - changed => { - }, - removed => { - } - }, - 5.025002 => { - delta_from => 5.025001, - changed => { - }, - removed => { - } - }, - 5.025003 => { - delta_from => 5.025002, - changed => { - }, - removed => { - } - }, - 5.025004 => { - delta_from => 5.025003, - changed => { - }, - removed => { - } - }, - 5.025005 => { - delta_from => 5.025004, - changed => { - }, - removed => { - } - }, - 5.025006 => { - delta_from => 5.025005, - changed => { - }, - removed => { - } - }, - 5.025007 => { - delta_from => 5.025006, - changed => { - }, - removed => { - } - }, - 5.025008 => { - delta_from => 5.025007, - changed => { - }, - removed => { - } - }, - 5.022003 => { - delta_from => 5.022002, - changed => { - }, - removed => { - } - }, ); for my $version (sort { $a <=> $b } keys %deprecated) { @@ -14808,7 +12543,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) { 'autodie' => 'cpan', 'autodie::Scope::Guard' => 'cpan', 'autodie::Scope::GuardStack'=> 'cpan', - 'autodie::ScopeUtil' => 'cpan', + 'autodie::Util' => 'cpan', 'autodie::exception' => 'cpan', 'autodie::exception::system'=> 'cpan', 'autodie::hints' => 'cpan', @@ -14864,7 +12599,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) { 'CPAN::Meta::History' => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues', 'CPAN::Meta::Merge' => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues', 'CPAN::Meta::Prereqs' => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues', - 'CPAN::Meta::Requirements'=> 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta-Requirements/issues', + 'CPAN::Meta::Requirements'=> 'https://github.com/dagolden/CPAN-Meta-Requirements/issues', 'CPAN::Meta::Spec' => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues', 'CPAN::Meta::Validator' => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues', 'CPAN::Meta::YAML' => 'https://github.com/Perl-Toolchain-Gang/YAML-Tiny/issues', @@ -14914,7 +12649,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) { 'Encode::TW' => undef, 'Encode::Unicode' => undef, 'Encode::Unicode::UTF7' => undef, - 'ExtUtils::Command' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', + 'ExtUtils::Command' => 'http://rt.perl.org/rt3/', 'ExtUtils::Command::MM' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker', 'ExtUtils::Constant' => undef, 'ExtUtils::Constant::Base'=> undef, @@ -14996,8 +12731,8 @@ for my $version (sort { $a <=> $b } keys %deprecated) { 'IPC::SysV' => undef, 'JSON::PP' => undef, 'JSON::PP::Boolean' => undef, - 'List::Util' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils', - 'List::Util::XS' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils', + 'List::Util' => undef, + 'List::Util::XS' => undef, 'Locale::Codes' => undef, 'Locale::Codes::Constants'=> undef, 'Locale::Codes::Country'=> undef, @@ -15061,15 +12796,15 @@ for my $version (sort { $a <=> $b } keys %deprecated) { 'Net::SMTP' => undef, 'Net::Time' => undef, 'Params::Check' => undef, - 'Parse::CPAN::Meta' => 'https://github.com/Perl-Toolchain-Gang/CPAN-Meta/issues', - 'Perl::OSType' => 'https://github.com/Perl-Toolchain-Gang/Perl-OSType/issues', + 'Parse::CPAN::Meta' => 'https://github.com/Perl-Toolchain-Gang/Parse-CPAN-Meta/issues', + 'Perl::OSType' => 'https://github.com/dagolden/Perl-OSType/issues', 'PerlIO::via::QuotedPrint'=> undef, 'Pod::Checker' => undef, 'Pod::Escapes' => undef, 'Pod::Find' => undef, 'Pod::InputObjects' => undef, - 'Pod::Man' => 'https://rt.cpan.org/Dist/Display.html?Name=podlators', - 'Pod::ParseLink' => 'https://rt.cpan.org/Dist/Display.html?Name=podlators', + 'Pod::Man' => undef, + 'Pod::ParseLink' => undef, 'Pod::ParseUtils' => undef, 'Pod::Parser' => undef, 'Pod::Perldoc' => undef, @@ -15087,42 +12822,42 @@ for my $version (sort { $a <=> $b } keys %deprecated) { 'Pod::Perldoc::ToXml' => undef, 'Pod::PlainText' => undef, 'Pod::Select' => undef, - 'Pod::Simple' => 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::BlackBox' => 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::Checker' => 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::Debug' => 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::DumpAsText'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::DumpAsXML'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::HTML' => 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::HTMLBatch'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::HTMLLegacy'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::LinkSection'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::Methody' => 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::Progress' => 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::PullParser'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::PullParserEndToken'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::PullParserStartToken'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::PullParserTextToken'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::PullParserToken'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::RTF' => 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::Search' => 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::SimpleTree'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::Text' => 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::TextContent'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::TiedOutFH'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::Transcode'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::TranscodeDumb'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::TranscodeSmart'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::XHTML' => 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Simple::XMLOutStream'=> 'https://github.com/perl-pod/pod-simple/issues', - 'Pod::Text' => 'https://rt.cpan.org/Dist/Display.html?Name=podlators', - 'Pod::Text::Color' => 'https://rt.cpan.org/Dist/Display.html?Name=podlators', - 'Pod::Text::Overstrike' => 'https://rt.cpan.org/Dist/Display.html?Name=podlators', - 'Pod::Text::Termcap' => 'https://rt.cpan.org/Dist/Display.html?Name=podlators', + 'Pod::Simple' => undef, + 'Pod::Simple::BlackBox' => undef, + 'Pod::Simple::Checker' => undef, + 'Pod::Simple::Debug' => undef, + 'Pod::Simple::DumpAsText'=> undef, + 'Pod::Simple::DumpAsXML'=> undef, + 'Pod::Simple::HTML' => undef, + 'Pod::Simple::HTMLBatch'=> undef, + 'Pod::Simple::HTMLLegacy'=> undef, + 'Pod::Simple::LinkSection'=> undef, + 'Pod::Simple::Methody' => undef, + 'Pod::Simple::Progress' => undef, + 'Pod::Simple::PullParser'=> undef, + 'Pod::Simple::PullParserEndToken'=> undef, + 'Pod::Simple::PullParserStartToken'=> undef, + 'Pod::Simple::PullParserTextToken'=> undef, + 'Pod::Simple::PullParserToken'=> undef, + 'Pod::Simple::RTF' => undef, + 'Pod::Simple::Search' => undef, + 'Pod::Simple::SimpleTree'=> undef, + 'Pod::Simple::Text' => undef, + 'Pod::Simple::TextContent'=> undef, + 'Pod::Simple::TiedOutFH'=> undef, + 'Pod::Simple::Transcode'=> undef, + 'Pod::Simple::TranscodeDumb'=> undef, + 'Pod::Simple::TranscodeSmart'=> undef, + 'Pod::Simple::XHTML' => undef, + 'Pod::Simple::XMLOutStream'=> undef, + 'Pod::Text' => undef, + 'Pod::Text::Color' => undef, + 'Pod::Text::Overstrike' => undef, + 'Pod::Text::Termcap' => undef, 'Pod::Usage' => undef, - 'Scalar::Util' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils', + 'Scalar::Util' => undef, 'Socket' => undef, - 'Sub::Util' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils', + 'Sub::Util' => undef, 'Sys::Syslog' => undef, 'Sys::Syslog::Win32' => undef, 'TAP::Base' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness', @@ -15168,29 +12903,29 @@ 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' => 'https://rt.cpan.org/Dist/Display.html?Name=Term-ANSIColor', + 'Term::ANSIColor' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Term-ANSIColor', 'Term::Cap' => undef, 'Test' => undef, - 'Test::Builder' => 'http://github.com/Test-More/test-more/issues', - 'Test::Builder::IO::Scalar'=> '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::Builder' => 'http://github.com/Test-More/test-more/issues/', + 'Test::Builder::IO::Scalar'=> '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/Test-More/test-more/issues', - 'Test::Simple' => 'http://github.com/Test-More/test-more/issues', - 'Test::Tester' => 'http://github.com/Test-More/test-more/issues', - 'Test::Tester::Capture' => 'http://github.com/Test-More/test-more/issues', - 'Test::Tester::CaptureRunner'=> 'http://github.com/Test-More/test-more/issues', - 'Test::Tester::Delegate'=> 'http://github.com/Test-More/test-more/issues', - 'Test::use::ok' => 'http://github.com/Test-More/test-more/issues', + 'Test::More' => 'http://github.com/Test-More/test-more/issues/', + 'Test::Simple' => 'http://github.com/Test-More/test-more/issues/', + 'Test::Tester' => 'http://github.com/Test-More/test-more/issues/', + 'Test::Tester::Capture' => 'http://github.com/Test-More/test-more/issues/', + 'Test::Tester::CaptureRunner'=> 'http://github.com/Test-More/test-more/issues/', + 'Test::Tester::Delegate'=> 'http://github.com/Test-More/test-more/issues/', + 'Test::use::ok' => 'http://github.com/Test-More/test-more/issues/', 'Text::Balanced' => undef, 'Text::ParseWords' => undef, 'Text::Tabs' => undef, 'Text::Wrap' => undef, 'Tie::RefHash' => undef, 'Time::HiRes' => undef, - 'Time::Local' => 'https://github.com/houseabsolute/Time-Local/issues', + 'Time::Local' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=Time-Local', 'Time::Piece' => undef, 'Time::Seconds' => undef, 'Unicode::Collate' => undef, @@ -15202,14 +12937,14 @@ for my $version (sort { $a <=> $b } keys %deprecated) { 'Unicode::Collate::CJK::Stroke'=> undef, 'Unicode::Collate::CJK::Zhuyin'=> undef, 'Unicode::Collate::Locale'=> undef, - 'Unicode::Normalize' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Unicode-Normalize', + 'Unicode::Normalize' => undef, 'Win32' => undef, 'Win32API::File' => undef, 'Win32API::File::ExtUtils::Myconst2perl'=> undef, 'autodie' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie', 'autodie::Scope::Guard' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie', 'autodie::Scope::GuardStack'=> 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie', - 'autodie::ScopeUtil' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie', + 'autodie::Util' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie', 'autodie::exception' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie', 'autodie::exception::system'=> 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie', 'autodie::hints' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie', @@ -15217,7 +12952,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) { 'encoding' => undef, 'encoding::warnings' => undef, 'experimental' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=experimental', - 'ok' => 'http://github.com/Test-More/test-more/issues', + 'ok' => 'http://github.com/Test-More/test-more/issues/', 'parent' => undef, 'perlfaq' => 'https://github.com/perl-doc-cats/perlfaq/issues', 'version' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=version', diff --git a/dist/Module-CoreList/lib/Module/CoreList.pod b/dist/Module-CoreList/lib/Module/CoreList.pod index 0ab1f61..edc00ec 100644 --- a/dist/Module-CoreList/lib/Module/CoreList.pod +++ b/dist/Module-CoreList/lib/Module/CoreList.pod @@ -8,14 +8,9 @@ Module::CoreList - what modules shipped with versions of perl 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 + 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"; @@ -24,7 +19,7 @@ Module::CoreList - what modules shipped with versions of perl print join ', ', Module::CoreList->find_modules(qr/Data/); # prints 'Data::Dumper' print join ', ', - Module::CoreList->find_modules(qr/test::h.*::.*s/i, 5.008008); + 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} }; @@ -78,11 +73,8 @@ you may provide a list of perl versions to limit the regex search. =item C -Takes a perl version as an argument. Upon successful completion, returns a -reference to a hash. Each element of that hash has a key which is the name of -a module (I 'File::Path') shipped with that version of perl and a value -which is the version number (I '2.09') of that module which shipped -with that version of perl . Returns C otherwise. +Takes a perl version as an argument. Returns that perl version if it exists or C +otherwise. =item C @@ -108,7 +100,7 @@ omitted, it defaults to the current version of Perl. Available in version 2.77 and above. -Returns the first perl version where the MODULE was marked as deprecated. Returns C +Returns the first PERL_VERSION where the MODULE was marked as deprecated. Returns C if the MODULE has not been marked as deprecated. =item C diff --git a/dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm b/dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm index a6bd504..3a7fbf3 100644 --- a/dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm +++ b/dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm @@ -3,7 +3,7 @@ package Module::CoreList::TieHashDelta; use strict; use vars qw($VERSION); -$VERSION = '5.20170114_22'; +$VERSION = '5.20150620'; sub TIEHASH { my ($class, $changed, $removed, $parent) = @_; @@ -48,9 +48,6 @@ sub FIRSTKEY { my ($self) = @_; if (not $self->{keys_inflated}) { - # exceeds the warning limit of 100 calls since 5.23.2 - no warnings 'recursion'; - # This inflates the whole set of hashes... Somewhat expensive, but saves # many tied hash calls later. my @parent_keys; diff --git a/dist/Module-CoreList/lib/Module/CoreList/Utils.pm b/dist/Module-CoreList/lib/Module/CoreList/Utils.pm index b199717..f42bb9b 100644 --- a/dist/Module-CoreList/lib/Module/CoreList/Utils.pm +++ b/dist/Module-CoreList/lib/Module/CoreList/Utils.pm @@ -6,7 +6,7 @@ use vars qw[$VERSION %utilities]; use Module::CoreList; use Module::CoreList::TieHashDelta; -$VERSION = '5.20170114_22'; +$VERSION = '5.20150620'; sub utilities { my $perl = shift; @@ -1059,167 +1059,6 @@ my %delta = ( removed => { } }, - 5.023001 => { - delta_from => 5.023, - changed => { - }, - removed => { - } - }, - 5.023002 => { - delta_from => 5.023001, - changed => { - }, - removed => { - } - }, - 5.020003 => { - delta_from => 5.020002, - changed => { - }, - removed => { - } - }, - 5.023003 => { - delta_from => 5.023002, - changed => { - }, - removed => { - } - }, - 5.023004 => { - delta_from => 5.023003, - changed => { - }, - removed => { - } - }, - 5.023005 => { - delta_from => 5.023004, - changed => { - }, - removed => { - } - }, - 5.022001 => { - delta_from => 5.022, - changed => { - }, - removed => { - } - }, - 5.023006 => { - delta_from => 5.023005, - changed => { - }, - removed => { - } - }, - 5.023007 => { - delta_from => 5.023006, - changed => { - }, - removed => { - } - }, - 5.023008 => { - delta_from => 5.023007, - changed => { - }, - removed => { - } - }, - 5.023009 => { - delta_from => 5.023008, - changed => { - }, - removed => { - } - }, - 5.022002 => { - delta_from => 5.022001, - changed => { - }, - removed => { - } - }, - 5.024000 => { - delta_from => 5.023009, - changed => { - }, - removed => { - } - }, - 5.025000 => { - delta_from => 5.024000, - changed => { - }, - removed => { - } - }, - 5.025001 => { - delta_from => 5.025000, - changed => { - }, - removed => { - } - }, - 5.025002 => { - delta_from => 5.025001, - changed => { - }, - removed => { - } - }, - 5.025003 => { - delta_from => 5.025002, - changed => { - }, - removed => { - } - }, - 5.025004 => { - delta_from => 5.025003, - changed => { - }, - removed => { - } - }, - 5.025005 => { - delta_from => 5.025004, - changed => { - }, - removed => { - } - }, - 5.025006 => { - delta_from => 5.025005, - changed => { - }, - removed => { - } - }, - 5.025007 => { - delta_from => 5.025006, - changed => { - }, - removed => { - } - }, - 5.025008 => { - delta_from => 5.025007, - changed => { - }, - removed => { - } - }, - 5.022003 => { - delta_from => 5.022002, - changed => { - }, - removed => { - } - }, ); for my $version (sort { $a <=> $b } keys %delta) { @@ -1266,11 +1105,8 @@ Module::CoreList::Utils - what utilities shipped with versions of perl print $Module::CoreList::Utils::utilities{5.009003}{ptar}; # prints 1 - print Module::CoreList::Utils->first_release('corelist'); - # prints 5.008009 - - print Module::CoreList::Utils->first_release_by_date('corelist'); - # prints 5.009002 + print Module::CoreList::Utils->first_release('corelist'); # prints 5.008009 + print Module::CoreList::Utils->first_release_by_date('corelist'); # prints 5.009002 =head1 DESCRIPTION diff --git a/dist/Module-CoreList/t/corelist.t b/dist/Module-CoreList/t/corelist.t index 4adbbe9..c129584 100644 --- a/dist/Module-CoreList/t/corelist.t +++ b/dist/Module-CoreList/t/corelist.t @@ -1,7 +1,7 @@ #!perl -w use strict; use Module::CoreList; -use Test::More tests => 34; +use Test::More tests => 29; BEGIN { require_ok('Module::CoreList'); } @@ -105,19 +105,4 @@ is(Module::CoreList::removed_from('CPANPLUS::inc'), 5.010001, cmp_ok($warnings_count, '==', 0, "an undefined version does not produce warnings rt#123556"); - - ok(keys %{$Module::CoreList::version{5.023002}} > 0, - "have recent enough data to test for deep recursion warnings"); - - cmp_ok($warnings_count, '==', 0, - "no deep recursion warnings for newer perl versions"); } - -ok(! defined(Module::CoreList->find_version()), - "Lacking an argument, Module::CoreList->find_version() returns undef"); -my $v = 5.022; -is(ref(Module::CoreList->find_version($v)), 'HASH', - "With argument, Module::CoreList->find_version() returns hashref"); -$v = 5.022000; -is(ref(Module::CoreList->find_version($v)), 'HASH', - "With argument, Module::CoreList->find_version() returns hashref"); diff --git a/dist/Module-CoreList/t/is_core.t b/dist/Module-CoreList/t/is_core.t index 1ddc260..cc06a21 100644 --- a/dist/Module-CoreList/t/is_core.t +++ b/dist/Module-CoreList/t/is_core.t @@ -1,7 +1,7 @@ #!perl -w use strict; use Module::CoreList; -use Test::More tests => 43; +use Test::More tests => 38; BEGIN { require_ok('Module::CoreList'); } @@ -28,13 +28,6 @@ ok(Module::CoreList::is_core('attributes', undef, '5.006001') == 1, "attributes ok(Module::CoreList::is_core('Pod::Plainer', undef, '5.012001') == 1, "Pod::Plainer was core in 5.12.1"); ok(Module::CoreList::is_core('Pod::Plainer', undef, '5.016003') == 0, "Pod::Plainer was removed in 5.13.1"); -ok(!Module::CoreList::is_core('File::Temp', 0, '5.006'), 'File::Temp is not in 5.006000'); -ok(Module::CoreList::is_core('File::Temp', 0, '5.006001'), 'File::Temp is in 5.006001'); -ok(!Module::CoreList::is_core('File::Temp', '0.12', '5.006'), 'File::Temp 0.12 is not in 5.006000'); -ok(Module::CoreList::is_core('File::Temp', '0.12', '5.006001'), 'File::Temp 0.12 is in 5.006001'); -ok(Module::CoreList::is_core('File::Temp', '0.12', '5.006002'), 'File::Temp 0.12 is in 5.006002'); - - # history of module 'encoding' in core # version 1.00 included in 5.007003 # version 1.35 included in 5.008 diff --git a/dist/Net-Ping/lib/Net/Ping.pm b/dist/Net-Ping/lib/Net/Ping.pm index 86b0dfd..2766c9e 100644 --- a/dist/Net-Ping/lib/Net/Ping.pm +++ b/dist/Net-Ping/lib/Net/Ping.pm @@ -17,7 +17,7 @@ use Time::HiRes; @ISA = qw(Exporter); @EXPORT = qw(pingecho); -$VERSION = "2.43_01"; +$VERSION = "2.43"; # Constants @@ -410,11 +410,7 @@ sub ping_external { $timeout # Seconds after which ping times out ) = @_; - eval { - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - require Net::Ping::External; - } + eval { require Net::Ping::External; } or croak('Protocol "external" not supported on your system: Net::Ping::External not found'); return Net::Ping::External::ping(ip => $ip, timeout => $timeout); } diff --git a/dist/PathTools/Cwd.pm b/dist/PathTools/Cwd.pm index 6164f1a..49cc4c1 100644 --- a/dist/PathTools/Cwd.pm +++ b/dist/PathTools/Cwd.pm @@ -3,7 +3,7 @@ use strict; use Exporter; use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION); -$VERSION = '3.56_02'; +$VERSION = '3.56'; my $xs_version = $VERSION; $VERSION =~ tr/_//; @@ -40,10 +40,7 @@ if ($^O eq 'os2') { my $use_vms_feature; BEGIN { if ($^O eq 'VMS') { - if (eval { local $SIG{__DIE__}; - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - require VMS::Feature; }) { + if (eval { local $SIG{__DIE__}; require VMS::Feature; }) { $use_vms_feature = 1; } } diff --git a/dist/PathTools/Cwd.xs b/dist/PathTools/Cwd.xs index 3d018dc..9d4dcf0 100644 --- a/dist/PathTools/Cwd.xs +++ b/dist/PathTools/Cwd.xs @@ -535,7 +535,6 @@ THX_unix_canonpath(pTHX_ SV *path) *o = 0; SvPOK_on(retval); SvCUR_set(retval, o - SvPVX(retval)); - SvTAINT(retval); return retval; } diff --git a/dist/PathTools/lib/File/Spec.pm b/dist/PathTools/lib/File/Spec.pm index 4e05e35..8c77c98 100644 --- a/dist/PathTools/lib/File/Spec.pm +++ b/dist/PathTools/lib/File/Spec.pm @@ -3,7 +3,7 @@ package File::Spec; use strict; use vars qw(@ISA $VERSION); -$VERSION = '3.56_02'; +$VERSION = '3.56'; $VERSION =~ tr/_//; my %module = (MacOS => 'Mac', diff --git a/dist/PathTools/lib/File/Spec/Cygwin.pm b/dist/PathTools/lib/File/Spec/Cygwin.pm index 5ab8953..1b77e6a 100644 --- a/dist/PathTools/lib/File/Spec/Cygwin.pm +++ b/dist/PathTools/lib/File/Spec/Cygwin.pm @@ -4,7 +4,7 @@ use strict; use vars qw(@ISA $VERSION); require File::Spec::Unix; -$VERSION = '3.56_02'; +$VERSION = '3.56'; $VERSION =~ tr/_//; @ISA = qw(File::Spec::Unix); @@ -137,11 +137,7 @@ sub case_tolerant { if ($mntopts and ($mntopts =~ /,managed/)) { return 0; } - eval { - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - require Win32API::File; - } or return 1; + eval { require Win32API::File; } or return 1; my $osFsType = "\0"x256; my $osVolName = "\0"x256; my $ouFsFlags = 0; diff --git a/dist/PathTools/lib/File/Spec/Epoc.pm b/dist/PathTools/lib/File/Spec/Epoc.pm index 3004774..7bc3867 100644 --- a/dist/PathTools/lib/File/Spec/Epoc.pm +++ b/dist/PathTools/lib/File/Spec/Epoc.pm @@ -3,7 +3,7 @@ package File::Spec::Epoc; use strict; use vars qw($VERSION @ISA); -$VERSION = '3.56_02'; +$VERSION = '3.56'; $VERSION =~ tr/_//; require File::Spec::Unix; diff --git a/dist/PathTools/lib/File/Spec/Functions.pm b/dist/PathTools/lib/File/Spec/Functions.pm index 0aed504..8eafe24 100644 --- a/dist/PathTools/lib/File/Spec/Functions.pm +++ b/dist/PathTools/lib/File/Spec/Functions.pm @@ -5,7 +5,7 @@ use strict; use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION); -$VERSION = '3.56_02'; +$VERSION = '3.56'; $VERSION =~ tr/_//; require Exporter; diff --git a/dist/PathTools/lib/File/Spec/Mac.pm b/dist/PathTools/lib/File/Spec/Mac.pm index 426c151..02cae14 100644 --- a/dist/PathTools/lib/File/Spec/Mac.pm +++ b/dist/PathTools/lib/File/Spec/Mac.pm @@ -4,7 +4,7 @@ use strict; use vars qw(@ISA $VERSION); require File::Spec::Unix; -$VERSION = '3.56_02'; +$VERSION = '3.56'; $VERSION =~ tr/_//; @ISA = qw(File::Spec::Unix); diff --git a/dist/PathTools/lib/File/Spec/OS2.pm b/dist/PathTools/lib/File/Spec/OS2.pm index 9ad4c86..fb8f101 100644 --- a/dist/PathTools/lib/File/Spec/OS2.pm +++ b/dist/PathTools/lib/File/Spec/OS2.pm @@ -4,7 +4,7 @@ use strict; use vars qw(@ISA $VERSION); require File::Spec::Unix; -$VERSION = '3.56_02'; +$VERSION = '3.56'; $VERSION =~ tr/_//; @ISA = qw(File::Spec::Unix); diff --git a/dist/PathTools/lib/File/Spec/Unix.pm b/dist/PathTools/lib/File/Spec/Unix.pm index 11367ea..f76b29e 100644 --- a/dist/PathTools/lib/File/Spec/Unix.pm +++ b/dist/PathTools/lib/File/Spec/Unix.pm @@ -3,7 +3,7 @@ package File::Spec::Unix; use strict; use vars qw($VERSION); -$VERSION = '3.56_02'; +$VERSION = '3.56'; my $xs_version = $VERSION; $VERSION =~ tr/_//; diff --git a/dist/PathTools/lib/File/Spec/VMS.pm b/dist/PathTools/lib/File/Spec/VMS.pm index b0a1f2f..254f524 100644 --- a/dist/PathTools/lib/File/Spec/VMS.pm +++ b/dist/PathTools/lib/File/Spec/VMS.pm @@ -4,7 +4,7 @@ use strict; use vars qw(@ISA $VERSION); require File::Spec::Unix; -$VERSION = '3.56_02'; +$VERSION = '3.56'; $VERSION =~ tr/_//; @ISA = qw(File::Spec::Unix); @@ -39,10 +39,7 @@ via the C CRTL feature. my $use_feature; BEGIN { - if (eval { local $SIG{__DIE__}; - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - require VMS::Feature; }) { + if (eval { local $SIG{__DIE__}; require VMS::Feature; }) { $use_feature = 1; } } diff --git a/dist/PathTools/lib/File/Spec/Win32.pm b/dist/PathTools/lib/File/Spec/Win32.pm index 48ab9eb..53f3854 100644 --- a/dist/PathTools/lib/File/Spec/Win32.pm +++ b/dist/PathTools/lib/File/Spec/Win32.pm @@ -5,7 +5,7 @@ use strict; use vars qw(@ISA $VERSION); require File::Spec::Unix; -$VERSION = '3.56_02'; +$VERSION = '3.56'; $VERSION =~ tr/_//; @ISA = qw(File::Spec::Unix); @@ -90,11 +90,7 @@ Default: 1 =cut sub case_tolerant { - eval { - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - require Win32API::File; - } or return 1; + eval { require Win32API::File; } or return 1; my $drive = shift || "C:"; my $osFsType = "\0"x256; my $osVolName = "\0"x256; diff --git a/dist/PathTools/t/taint.t b/dist/PathTools/t/taint.t index 48f8c5b..309b3e5 100644 --- a/dist/PathTools/t/taint.t +++ b/dist/PathTools/t/taint.t @@ -12,7 +12,7 @@ use Test::More; BEGIN { plan( ${^TAINT} - ? (tests => 21) + ? (tests => 17) : (skip_all => "A perl without taint support") ); } @@ -34,20 +34,3 @@ foreach my $func (@Functions) { # Previous versions of Cwd tainted $^O is !tainted($^O), 1, "\$^O should not be tainted"; - -{ - # [perl #126862] canonpath() loses taint - my $tainted = substr($ENV{PATH}, 0, 0); - # yes, getcwd()'s result should be tainted, and is tested above - # but be sure - ok tainted(File::Spec->canonpath($tainted . Cwd::getcwd)), - "canonpath() keeps taint on non-empty string"; - ok tainted(File::Spec->canonpath($tainted)), - "canonpath() keeps taint on empty string"; - - (Cwd::getcwd() =~ /^(.*)/); - my $untainted = $1; - ok !tainted($untainted), "make sure our untainted value is untainted"; - ok !tainted(File::Spec->canonpath($untainted)), - "canonpath() doesn't add taint to untainted string"; -} diff --git a/dist/Storable/Storable.pm b/dist/Storable/Storable.pm index c8cbbcb..9d8b621 100644 --- a/dist/Storable/Storable.pm +++ b/dist/Storable/Storable.pm @@ -22,16 +22,10 @@ package Storable; @ISA = qw(Exporter); use vars qw($canonical $forgive_me $VERSION); -$VERSION = '2.53_02'; +$VERSION = '2.53'; BEGIN { - if (eval { - local $SIG{__DIE__}; - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - require Log::Agent; - 1; - }) { + if (eval { local $SIG{__DIE__}; require Log::Agent; 1 }) { Log::Agent->import; } # diff --git a/dist/Storable/Storable.xs b/dist/Storable/Storable.xs index d518117..39f3565 100644 --- a/dist/Storable/Storable.xs +++ b/dist/Storable/Storable.xs @@ -6668,7 +6668,6 @@ SV * obj ALIAS: net_mstore = 1 CODE: - RETVAL = &PL_sv_undef; if (!do_store(aTHX_ (PerlIO*) 0, obj, 0, ix, &RETVAL)) RETVAL = &PL_sv_undef; OUTPUT: diff --git a/dist/XSLoader/XSLoader_pm.PL b/dist/XSLoader/XSLoader_pm.PL index d4ed2c7..414eaf2 100644 --- a/dist/XSLoader/XSLoader_pm.PL +++ b/dist/XSLoader/XSLoader_pm.PL @@ -10,7 +10,7 @@ print OUT <<'EOT'; package XSLoader; -$VERSION = "0.20_01"; +$VERSION = "0.20"; #use strict; @@ -92,43 +92,6 @@ print OUT <<'EOT'; $modlibname =~ s,[\\/][^\\/]+$,, while $c--; # Q&D basename EOT -my $to_print = <<'EOT'; - # Does this look like a relative path? - if ($modlibname !~ m{regexp}) { -EOT - -$to_print =~ s~regexp~ - $^O eq 'MSWin32' || $^O eq 'os2' || $^O eq 'cygwin' || $^O eq 'amigaos' - ? '^(?:[A-Za-z]:)?[\\\/]' # Optional drive letter - : '^/' -~e; - -print OUT $to_print, <<'EOT'; - # Someone may have a #line directive that changes the file name, or - # may be calling XSLoader::load from inside a string eval. We cer- - # tainly do not want to go loading some code that is not in @INC, - # as it could be untrusted. - # - # We could just fall back to DynaLoader here, but then the rest of - # this function would go untested in the perl core, since all @INC - # paths are relative during testing. That would be a time bomb - # waiting to happen, since bugs could be introduced into the code. - # - # So look through @INC to see if $modlibname is in it. A rela- - # tive $modlibname is not a common occurrence, so this block is - # not hot code. - FOUND: { - for (@INC) { - if ($_ eq $modlibname) { - last FOUND; - } - } - # Not found. Fall back to DynaLoader. - goto \&XSLoader::bootstrap_inherit; - } - } -EOT - my $dl_dlext = quotemeta($Config::Config{'dlext'}); print OUT <<"EOT"; @@ -245,7 +208,7 @@ XSLoader - Dynamically load C libraries into Perl code =head1 VERSION -Version 0.20_01 +Version 0.17 =head1 SYNOPSIS diff --git a/dist/XSLoader/t/XSLoader.t b/dist/XSLoader/t/XSLoader.t index 1e86faa..2ff11fe 100644 --- a/dist/XSLoader/t/XSLoader.t +++ b/dist/XSLoader/t/XSLoader.t @@ -33,7 +33,7 @@ my %modules = ( 'Time::HiRes'=> q| ::can_ok( 'Time::HiRes' => 'usleep' ) |, # 5.7.3 ); -plan tests => keys(%modules) * 3 + 10; +plan tests => keys(%modules) * 3 + 9; # Try to load the module use_ok( 'XSLoader' ); @@ -125,28 +125,3 @@ XSLoader::load("Devel::Peek"); EOS or ::diag $@; } - -SKIP: { - skip "File::Path not available", 1 - unless eval { require File::Path }; - my $name = "phooo$$"; - File::Path::make_path("$name/auto/Foo/Bar"); - open my $fh, - ">$name/auto/Foo/Bar/Bar.$Config::Config{'dlext'}"; - close $fh; - my $fell_back; - local *XSLoader::bootstrap_inherit = sub { - $fell_back++; - # Break out of the calling subs - goto the_test; - }; - eval <join(); ok(! defined($rc), 'Exited: threads->exit()'); -run_perl(prog => 'use threads 2.01;' . +run_perl(prog => 'use threads 2.02;' . 'threads->exit(86);' . 'exit(99);', nolib => ($ENV{PERL_CORE}) ? 0 : 1, @@ -98,7 +98,7 @@ $rc = $thr->join(); ok(! defined($rc), 'Exited: $thr->set_thread_exit_only'); -run_perl(prog => 'use threads 2.01 qw(exit thread_only);' . +run_perl(prog => 'use threads 2.02 qw(exit thread_only);' . 'threads->create(sub { exit(99); })->join();' . 'exit(86);', nolib => ($ENV{PERL_CORE}) ? 0 : 1, @@ -108,7 +108,7 @@ run_perl(prog => 'use threads 2.01 qw(exit thread_only);' . is($?>>8, 86, "'use threads 'exit' => 'thread_only'"); } -my $out = run_perl(prog => 'use threads 2.01;' . +my $out = run_perl(prog => 'use threads 2.02;' . 'threads->create(sub {' . ' exit(99);' . '});' . @@ -124,7 +124,7 @@ my $out = run_perl(prog => 'use threads 2.01;' . like($out, qr/1 finished and unjoined/, "exit(status) in thread"); -$out = run_perl(prog => 'use threads 2.01 qw(exit thread_only);' . +$out = run_perl(prog => 'use threads 2.02 qw(exit thread_only);' . 'threads->create(sub {' . ' threads->set_thread_exit_only(0);' . ' exit(99);' . @@ -141,7 +141,7 @@ $out = run_perl(prog => 'use threads 2.01 qw(exit thread_only);' . like($out, qr/1 finished and unjoined/, "set_thread_exit_only(0)"); -run_perl(prog => 'use threads 2.01;' . +run_perl(prog => 'use threads 2.02;' . 'threads->create(sub {' . ' $SIG{__WARN__} = sub { exit(99); };' . ' die();' . diff --git a/dist/threads/t/thread.t b/dist/threads/t/thread.t index a0e6296..56087f3 100644 --- a/dist/threads/t/thread.t +++ b/dist/threads/t/thread.t @@ -161,7 +161,7 @@ package main; # bugid #24165 -run_perl(prog => 'use threads 2.01;' . +run_perl(prog => 'use threads 2.02;' . 'sub a{threads->create(shift)} $t = a sub{};' . '$t->tid; $t->join; $t->tid', nolib => ($ENV{PERL_CORE}) ? 0 : 1, diff --git a/doio.c b/doio.c index 5f29a6b..79ab20c 100644 --- a/doio.c +++ b/doio.c @@ -438,8 +438,11 @@ Perl_do_open6(pTHX_ GV *gv, const char *oname, STRLEN len, else if (IoTYPE(thatio) == IoTYPE_SOCKET) IoTYPE(io) = IoTYPE_SOCKET; } - else - wanted_fd = -1; + else { + SETERRNO(EBADF, RMS_IFI); + fp = NULL; + goto say_false; + } } if (!num_svs) type = NULL; @@ -1103,12 +1106,13 @@ Perl_io_close(pTHX_ IO *io, GV *gv, bool not_implicit, bool warn_on_fail) Perl_ck_warner_d(aTHX_ packWARN(WARN_IO), "Warning: unable to close filehandle %" HEKf" properly: %"SVf, - GvNAME_HEK(gv), get_sv("!",GV_ADD)); + HEKfARG(GvNAME_HEK(gv)), + SVfARG(get_sv("!",GV_ADD))); else Perl_ck_warner_d(aTHX_ packWARN(WARN_IO), "Warning: unable to close filehandle " "properly: %"SVf, - get_sv("!",GV_ADD)); + SVfARG(get_sv("!",GV_ADD))); } } else if (not_implicit) { diff --git a/dump.c b/dump.c index 802dddf..d501cef 100644 --- a/dump.c +++ b/dump.c @@ -1415,7 +1415,6 @@ const struct flag_to_name regexp_core_intflags_names[] = { {PREGf_CUTGROUP_SEEN, "CUTGROUP_SEEN,"}, {PREGf_USE_RE_EVAL, "USE_RE_EVAL,"}, {PREGf_NOSCAN, "NOSCAN,"}, - {PREGf_CANY_SEEN, "CANY_SEEN,"}, {PREGf_GPOS_SEEN, "GPOS_SEEN,"}, {PREGf_GPOS_FLOAT, "GPOS_FLOAT,"}, {PREGf_ANCH_MBOL, "ANCH_MBOL,"}, @@ -2318,7 +2317,7 @@ S_append_gv_name(pTHX_ GV *gv, SV *out) } sv = newSV(0); gv_fullname4(sv, gv, NULL, FALSE); - Perl_sv_catpvf(aTHX_ out, "%c%-p", '$', sv); + Perl_sv_catpvf(aTHX_ out, "$%"SVf, SVfARG(sv)); SvREFCNT_dec_NN(sv); } @@ -2525,8 +2524,8 @@ Perl_debop(pTHX_ const OP *o) break; case OP_MULTIDEREF: - PerlIO_printf(Perl_debug_log, "(%-p)", - multideref_stringify(o, deb_curcv(cxstack_ix))); + PerlIO_printf(Perl_debug_log, "(%"SVf")", + SVfARG(multideref_stringify(o, deb_curcv(cxstack_ix)))); break; default: diff --git a/embed.fnc b/embed.fnc index b26ba18..5302779 100644 --- a/embed.fnc +++ b/embed.fnc @@ -230,9 +230,7 @@ Apd |void |av_push |NN AV *av|NN SV *val EXp |void |av_reify |NN AV *av ApdR |SV* |av_shift |NN AV *av Apd |SV** |av_store |NN AV *av|SSize_t key|NULLOK SV *val -#ifndef PERL_NO_INLINE_FUNCTIONS AidR |SSize_t|av_top_index |NN AV *av -#endif AmpdR |SSize_t|av_tindex |NN AV *av Apd |void |av_undef |NN AV *av ApdoxM |SV** |av_create_and_unshift_one|NN AV **const avp|NN SV *const val @@ -655,9 +653,7 @@ pR |OP* |invert |NULLOK OP* cmd ApR |I32 |is_lvalue_sub : Used in cop.h XopR |I32 |was_lvalue_sub -#ifndef PERL_NO_INLINE_FUNCTIONS AiMRn |STRLEN |_is_utf8_char_slow|NN const U8 *s|NN const U8 *e -#endif ADMpPR |U32 |to_uni_upper_lc|U32 c ADMpPR |U32 |to_uni_title_lc|U32 c ADMpPR |U32 |to_uni_lower_lc|U32 c @@ -1453,9 +1449,7 @@ Apd |void |sv_magic |NN SV *const sv|NULLOK SV *const obj|const int how \ Apd |MAGIC *|sv_magicext |NN SV *const sv|NULLOK SV *const obj|const int how \ |NULLOK const MGVTBL *const vtbl|NULLOK const char *const name \ |const I32 namlen -#ifndef PERL_NO_INLINE_FUNCTIONS Ein |bool |sv_only_taint_gmagic|NN SV *sv -#endif : exported for re.pm EXp |MAGIC *|sv_magicext_mglob|NN SV *sv ApdbamR |SV* |sv_mortalcopy |NULLOK SV *const oldsv @@ -1699,10 +1693,8 @@ Am |I32 |whichsig |NN const char* sig Ap |I32 |whichsig_sv |NN SV* sigsv Ap |I32 |whichsig_pv |NN const char* sig Ap |I32 |whichsig_pvn |NN const char* sig|STRLEN len -#ifndef PERL_NO_INLINE_FUNCTIONS : used to check for NULs in pathnames and other names AiR |bool |is_safe_syscall|NN const char *pv|STRLEN len|NN const char *what|NN const char *op_name -#endif #ifdef PERL_CORE inR |bool |should_warn_nl|NN const char *pv #endif @@ -2500,12 +2492,6 @@ sn |void |mem_log_common |enum mem_log_type mlt|const UV n|const UV typesize \ #endif #endif -#if defined(PERL_MEM_LOG) -pn |Malloc_t |mem_log_alloc |const UV nconst|UV typesize|NN const char *type_name|Malloc_t newalloc|NN const char *filename|const int linenumber|NN const char *funcname -pn |Malloc_t |mem_log_realloc |const UV n|const UV typesize|NN const char *type_name|Malloc_t oldalloc|Malloc_t newalloc|NN const char *filename|const int linenumber|NN const char *funcname -pn |Malloc_t |mem_log_free |Malloc_t oldalloc|NN const char *filename|const int linenumber|NN const char *funcname -#endif - #if defined(PERL_IN_NUMERIC_C) #ifndef USE_QUADMATH sn |NV|mulexp10 |NV value|I32 exponent @@ -2525,9 +2511,7 @@ sRM |U8* |swash_scan_list_line|NN U8* l|NN U8* const lend|NN UV* min \ |NN const U8* const typestr #endif -#ifndef PERL_NO_INLINE_FUNCTIONS AiMn |void |append_utf8_from_native_byte|const U8 byte|NN U8** dest -#endif Apd |void |sv_setsv_flags |NN SV *dstr|NULLOK SV *sstr|const I32 flags Apd |void |sv_catpvn_flags|NN SV *const dstr|NN const char *sstr|const STRLEN len \ diff --git a/embed.h b/embed.h index e09ffee..687819c 100644 --- a/embed.h +++ b/embed.h @@ -32,6 +32,7 @@ #define _is_uni_perl_idcont(a) Perl__is_uni_perl_idcont(aTHX_ a) #define _is_uni_perl_idstart(a) Perl__is_uni_perl_idstart(aTHX_ a) #define _is_utf8_FOO(a,b) Perl__is_utf8_FOO(aTHX_ a,b) +#define _is_utf8_char_slow S__is_utf8_char_slow #define _is_utf8_idcont(a) Perl__is_utf8_idcont(aTHX_ a) #define _is_utf8_idstart(a) Perl__is_utf8_idstart(aTHX_ a) #define _is_utf8_mark(a) Perl__is_utf8_mark(aTHX_ a) @@ -46,6 +47,7 @@ #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 @@ -61,6 +63,7 @@ #define av_push(a,b) Perl_av_push(aTHX_ a,b) #define av_shift(a) Perl_av_shift(aTHX_ a) #define av_store(a,b,c) Perl_av_store(aTHX_ a,b,c) +#define av_top_index(a) S_av_top_index(aTHX_ a) #define av_undef(a) Perl_av_undef(aTHX_ a) #define av_unshift(a,b) Perl_av_unshift(aTHX_ a,b) #define block_end(a,b) Perl_block_end(aTHX_ a,b) @@ -243,6 +246,7 @@ #define isIDFIRST_lazy(a) Perl_isIDFIRST_lazy(aTHX_ a) #define is_invariant_string Perl_is_invariant_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) @@ -771,12 +775,6 @@ #define my_pclose(a) Perl_my_pclose(aTHX_ a) #define my_popen(a,b) Perl_my_popen(aTHX_ a,b) #endif -#if !defined(PERL_NO_INLINE_FUNCTIONS) -#define _is_utf8_char_slow S__is_utf8_char_slow -#define append_utf8_from_native_byte S_append_utf8_from_native_byte -#define av_top_index(a) S_av_top_index(aTHX_ a) -#define is_safe_syscall(a,b,c,d) S_is_safe_syscall(aTHX_ a,b,c,d) -#endif #if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY)) #define my_bcopy Perl_my_bcopy #endif @@ -918,6 +916,7 @@ #define reg_temp_copy(a,b) Perl_reg_temp_copy(aTHX_ a,b) #define report_uninit(a) Perl_report_uninit(aTHX_ a) #define sv_magicext_mglob(a) Perl_sv_magicext_mglob(aTHX_ a) +#define sv_only_taint_gmagic S_sv_only_taint_gmagic #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) @@ -930,9 +929,6 @@ #define invlist_trim S_invlist_trim # endif # endif -# if !defined(PERL_NO_INLINE_FUNCTIONS) -#define sv_only_taint_gmagic S_sv_only_taint_gmagic -# endif # if defined(DEBUGGING) # if defined(PERL_IN_REGCOMP_C) #define dump_trie(a,b,c,d) S_dump_trie(aTHX_ a,b,c,d) @@ -1777,11 +1773,6 @@ #define mem_log_common S_mem_log_common # endif # endif -# if defined(PERL_MEM_LOG) -#define mem_log_alloc Perl_mem_log_alloc -#define mem_log_free Perl_mem_log_free -#define mem_log_realloc Perl_mem_log_realloc -# 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/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs index 43fad83..670d8ec 100644 --- a/ext/POSIX/POSIX.xs +++ b/ext/POSIX/POSIX.xs @@ -248,12 +248,15 @@ # define c99_ilogb ilogbq # define c99_lgamma lgammaq # define c99_log1p log1pq -# define c99_llrint llrintq # define c99_log2 log2q /* no logbq */ -# define c99_lround llroundq -# define c99_lrint lrintq -# define c99_lround lroundq +# if defined(USE_64_BIT_INT) && QUADKIND == QUAD_IS_LONG_LONG +# define c99_lrint llrintq +# define c99_lround llroundq +# else +# define c99_lrint lrintq +# define c99_lround lroundq +# endif # define c99_nan nanq # define c99_nearbyint nearbyintq # define c99_nextafter nextafterq @@ -1115,6 +1118,167 @@ static NV my_trunc(NV x) # define c99_trunc my_trunc #endif +#undef NV_PAYLOAD_DEBUG + +/* NOTE: the NaN payload API implementation is hand-rolled, since the + * APIs are only proposed ones as of June 2015, so very few, if any, + * platforms have implementations yet, so HAS_SETPAYLOAD and such are + * unlikely to be helpful. + * + * XXX - if the core numification wants to actually generate + * the nan payload in "nan(123)", and maybe "nans(456)", for + * signaling payload", this needs to be moved to e.g. numeric.c + * (look for grok_infnan) + * + * Conversely, if the core stringification wants the nan payload + * and/or the nan quiet/signaling distinction, S_getpayload() + * from this file needs to be moved, to e.g. sv.c (look for S_infnan_2pv), + * and the (trivial) functionality of issignaling() copied + * (for generating "NaNS", or maybe even "NaNQ") -- or maybe there + * are too many formatting parameters for simple stringification? + */ + +/* While it might make sense for the payload to be UV or IV, + * to avoid conversion loss, the proposed ISO interfaces use + * a floating point input, which is then truncated to integer, + * and only the integer part being used. This is workable, + * except for: (1) the conversion loss (2) suboptimal for + * 32-bit integer platforms. A workaround API for (2) and + * in general for bit-honesty would be an array of integers + * as the payload... but the proposed C API does nothing of + * the kind. */ +#if NVSIZE == UVSIZE +# define NV_PAYLOAD_TYPE UV +#else +# define NV_PAYLOAD_TYPE NV +#endif + +#ifdef LONGDOUBLE_DOUBLEDOUBLE +# define NV_PAYLOAD_SIZEOF_ASSERT(a) assert(sizeof(a) == NVSIZE / 2) +#else +# define NV_PAYLOAD_SIZEOF_ASSERT(a) assert(sizeof(a) == NVSIZE) +#endif + +static void S_setpayload(NV* nvp, NV_PAYLOAD_TYPE payload, bool signaling) +{ + dTHX; + static const U8 m[] = { NV_NAN_PAYLOAD_MASK }; + static const U8 p[] = { NV_NAN_PAYLOAD_PERM }; + UV a[(NVSIZE + UVSIZE - 1) / UVSIZE] = { 0 }; + int i; + NV_PAYLOAD_SIZEOF_ASSERT(m); + NV_PAYLOAD_SIZEOF_ASSERT(p); + *nvp = NV_NAN; + /* Divide the input into the array in "base unsigned integer" in + * little-endian order. Note that the integer might be smaller than + * an NV (if UV is U32, for example). */ +#if NVSIZE == UVSIZE + a[0] = payload; /* The trivial case. */ +#else + { + NV t1 = c99_trunc(payload); /* towards zero (drop fractional) */ +#ifdef NV_PAYLOAD_DEBUG + Perl_warn(aTHX_ "t1 = %"NVgf" (payload %"NVgf")\n", t1, payload); +#endif + if (t1 <= UV_MAX) { + a[0] = (UV)t1; /* Fast path, also avoids rounding errors (right?) */ + } else { + /* UVSIZE < NVSIZE or payload > UV_MAX. + * + * This may happen for example if: + * (1) UVSIZE == 32 and common 64-bit double NV + * (32-bit system not using -Duse64bitint) + * (2) UVSIZE == 64 and the x86-style 80-bit long double NV + * (note that here the room for payload is actually the 64 bits) + * (3) UVSIZE == 64 and the 128-bit IEEE 764 quadruple NV + * (112 bits in mantissa, 111 bits room for payload) + * + * NOTE: this is very sensitive to correctly functioning + * fmod()/fmodl(), and correct casting of big-unsigned-integer to NV. + * If these don't work right, especially the low order bits + * are in danger. For example Solaris and AIX seem to have issues + * here, especially if using 32-bit UVs. */ + NV t2; + for (i = 0, t2 = t1; i < (int)C_ARRAY_LENGTH(a); i++) { + a[i] = (UV)Perl_fmod(t2, (NV)UV_MAX); + t2 = Perl_floor(t2 / (NV)UV_MAX); + } + } + } +#endif +#ifdef NV_PAYLOAD_DEBUG + for (i = 0; i < (int)C_ARRAY_LENGTH(a); i++) { + Perl_warn(aTHX_ "a[%d] = 0x%"UVxf"\n", i, a[i]); + } +#endif + for (i = 0; i < (int)sizeof(p); i++) { + if (m[i] && p[i] < sizeof(p)) { + U8 s = (p[i] % UVSIZE) << 3; + UV u = a[p[i] / UVSIZE] & ((UV)0xFF << s); + U8 b = (U8)((u >> s) & m[i]); + ((U8 *)(nvp))[i] &= ~m[i]; /* For NaNs with non-zero payload bits. */ + ((U8 *)(nvp))[i] |= b; +#ifdef NV_PAYLOAD_DEBUG + Perl_warn(aTHX_ "set p[%2d] = %02x (i = %d, m = %02x, s = %2d, b = %02x, u = %08"UVxf")\n", i, ((U8 *)(nvp))[i], i, m[i], s, b, u); +#endif + a[p[i] / UVSIZE] &= ~u; + } + } + if (signaling) { + NV_NAN_SET_SIGNALING(nvp); + } +#ifdef USE_LONG_DOUBLE +# if LONG_DOUBLEKIND == 3 || LONG_DOUBLEKIND == 4 + memset((char *)nvp + 10, '\0', LONG_DOUBLESIZE - 10); /* x86 long double */ +# endif +#endif + for (i = 0; i < (int)C_ARRAY_LENGTH(a); i++) { + if (a[i]) { + Perl_warn(aTHX_ "payload lost bits (%"UVxf")", a[i]); + break; + } + } +#ifdef NV_PAYLOAD_DEBUG + for (i = 0; i < NVSIZE; i++) { + PerlIO_printf(Perl_debug_log, "%02x ", ((U8 *)(nvp))[i]); + } + PerlIO_printf(Perl_debug_log, "\n"); +#endif +} + +static NV_PAYLOAD_TYPE S_getpayload(NV nv) +{ + dTHX; + static const U8 m[] = { NV_NAN_PAYLOAD_MASK }; + static const U8 p[] = { NV_NAN_PAYLOAD_PERM }; + UV a[(NVSIZE + UVSIZE - 1) / UVSIZE] = { 0 }; + int i; + NV payload; + NV_PAYLOAD_SIZEOF_ASSERT(m); + NV_PAYLOAD_SIZEOF_ASSERT(p); + payload = 0; + for (i = 0; i < (int)sizeof(p); i++) { + if (m[i] && p[i] < NVSIZE) { + U8 s = (p[i] % UVSIZE) << 3; + a[p[i] / UVSIZE] |= (UV)(((U8 *)(&nv))[i] & m[i]) << s; + } + } + for (i = (int)C_ARRAY_LENGTH(a) - 1; i >= 0; i--) { +#ifdef NV_PAYLOAD_DEBUG + Perl_warn(aTHX_ "a[%d] = %"UVxf"\n", i, a[i]); +#endif + payload *= UV_MAX; + payload += a[i]; + } +#ifdef NV_PAYLOAD_DEBUG + for (i = 0; i < NVSIZE; i++) { + PerlIO_printf(Perl_debug_log, "%02x ", ((U8 *)(&nv))[i]); + } + PerlIO_printf(Perl_debug_log, "\n"); +#endif + return payload; +} + /* XXX This comment is just to make I_TERMIO and I_SGTTY visible to metaconfig for future extension writers. We don't use them in POSIX. (This is really sneaky :-) --AD @@ -1660,7 +1824,6 @@ MODULE = POSIX PACKAGE = POSIX BOOT: { CV *cv; - const char *file = __FILE__; /* silence compiler warning about not_here() defined but not used */ @@ -1669,37 +1832,37 @@ BOOT: /* Ensure we get the function, not a macro implementation. Like the C89 standard says we can... */ #undef isalnum - cv = newXS("POSIX::isalnum", is_common, file); + cv = newXS_deffile("POSIX::isalnum", is_common); XSANY.any_dptr = (any_dptr_t) &isalnum; #undef isalpha - cv = newXS("POSIX::isalpha", is_common, file); + cv = newXS_deffile("POSIX::isalpha", is_common); XSANY.any_dptr = (any_dptr_t) &isalpha; #undef iscntrl - cv = newXS("POSIX::iscntrl", is_common, file); + cv = newXS_deffile("POSIX::iscntrl", is_common); XSANY.any_dptr = (any_dptr_t) &iscntrl; #undef isdigit - cv = newXS("POSIX::isdigit", is_common, file); + cv = newXS_deffile("POSIX::isdigit", is_common); XSANY.any_dptr = (any_dptr_t) &isdigit; #undef isgraph - cv = newXS("POSIX::isgraph", is_common, file); + cv = newXS_deffile("POSIX::isgraph", is_common); XSANY.any_dptr = (any_dptr_t) &isgraph; #undef islower - cv = newXS("POSIX::islower", is_common, file); + cv = newXS_deffile("POSIX::islower", is_common); XSANY.any_dptr = (any_dptr_t) &islower; #undef isprint - cv = newXS("POSIX::isprint", is_common, file); + cv = newXS_deffile("POSIX::isprint", is_common); XSANY.any_dptr = (any_dptr_t) &isprint; #undef ispunct - cv = newXS("POSIX::ispunct", is_common, file); + cv = newXS_deffile("POSIX::ispunct", is_common); XSANY.any_dptr = (any_dptr_t) &ispunct; #undef isspace - cv = newXS("POSIX::isspace", is_common, file); + cv = newXS_deffile("POSIX::isspace", is_common); XSANY.any_dptr = (any_dptr_t) &isspace; #undef isupper - cv = newXS("POSIX::isupper", is_common, file); + cv = newXS_deffile("POSIX::isupper", is_common); XSANY.any_dptr = (any_dptr_t) &isupper; #undef isxdigit - cv = newXS("POSIX::isxdigit", is_common, file); + cv = newXS_deffile("POSIX::isxdigit", is_common); XSANY.any_dptr = (any_dptr_t) &isxdigit; } @@ -1974,7 +2137,7 @@ WEXITSTATUS(status) #endif break; default: - Perl_croak(aTHX_ "Illegal alias %d for POSIX::W*", (int)ix); + croak("Illegal alias %d for POSIX::W*", (int)ix); } OUTPUT: RETVAL @@ -2506,6 +2669,41 @@ fpclassify(x) RETVAL NV +getpayload(nv) + NV nv + CODE: + RETVAL = S_getpayload(nv); + OUTPUT: + RETVAL + +void +setpayload(nv, payload) + NV nv + NV payload + CODE: + S_setpayload(&nv, payload, FALSE); + OUTPUT: + nv + +void +setpayloadsig(nv, payload) + NV nv + NV payload + CODE: + nv = NV_NAN; + S_setpayload(&nv, payload, TRUE); + OUTPUT: + nv + +int +issignaling(nv) + NV nv + CODE: + RETVAL = Perl_isnan(nv) && NV_NAN_IS_SIGNALING(&nv); + OUTPUT: + RETVAL + +NV copysign(x,y) NV x NV y @@ -2705,51 +2903,27 @@ fma(x,y,z) RETVAL NV -nan(s = 0) - char* s; +nan(payload = 0) + NV payload CODE: - PERL_UNUSED_VAR(s); -#ifdef c99_nan - RETVAL = c99_nan(s ? s : ""); -#elif defined(NV_NAN) - /* XXX if s != NULL, warn about unused argument, - * or implement the nan payload setting. */ - /* NVSIZE == 8: the NaN "header" (the exponent) is 0x7FF (the 0x800 - * is the sign bit, which should be irrelevant for NaN, so really - * also 0xFFF), leaving 64 - 12 = 52 bits for the NaN payload - * (6.5 bytes, note about infinities below). - * - * (USE_LONG_DOUBLE and) - * LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN: - * the NaN "header" is still 0x7FF, leaving 80 - 12 = 68 bits - * for the payload (8.5 bytes, note about infinities below). - * - * doubledouble? aargh. Maybe like doubles, 52 + 52 = 104 bits? - * - * NVSIZE == 16: - * the NaN "header" is still 0x7FF, leaving 128 - 12 = 116 bits - * for the payload (14.5 bytes, note about infinities below) - * - * Which ones of the NaNs are 'signaling' and which are 'quiet', - * depends. In the IEEE-754 1985, nothing was specified. But the - * majority of companies decided that the MSB of the mantissa was - * the bit for 'quiet'. (Only PA-RISC and MIPS were different, - * using the MSB as 'signaling'.) The IEEE-754 2008 *recommended* - * (but did not dictate) the MSB as the 'quiet' bit. - * - * In other words, on most platforms, and for 64-bit doubles: - * [7FF8000000000000, 7FFFFFFFFFFFFFFF] quiet - * [FFF8000000000000, FFFFFFFFFFFFFFFF] quiet - * [7FF0000000000001, 7FF7FFFFFFFFFFFF] signaling - * [FFF0000000000001, FFF7FFFFFFFFFFFF] signaling - * - * The C99 nan() is supposed to generate *quiet* NaNs. - * - * Note the asymmetry: - * The 7FF0000000000000 is positive infinity, - * the FFF0000000000000 is negative infinity. - */ - RETVAL = NV_NAN; +#ifdef NV_NAN + /* If no payload given, just return the default NaN. + * This makes a difference in platforms where the default + * NaN is not all zeros. */ + if (items == 0) { + RETVAL = NV_NAN; + } else { + S_setpayload(&RETVAL, payload, FALSE); + } +#elif defined(c99_nan) + { + STRLEN elen = my_snprintf(PL_efloatbuf, PL_efloatsize, "%g", nv); + if ((IV)elen == -1) { + RETVAL = NV_NAN; + } else { + RETVAL = c99_nan(PL_efloatbuf); + } + } #else not_here("nan"); #endif diff --git a/ext/POSIX/lib/POSIX.pm b/ext/POSIX/lib/POSIX.pm index 6fc0e75..215b1f5 100644 --- a/ext/POSIX/lib/POSIX.pm +++ b/ext/POSIX/lib/POSIX.pm @@ -4,7 +4,7 @@ use warnings; our ($AUTOLOAD, %SIGRT); -our $VERSION = '1.53_01'; +our $VERSION = '1.54'; require XSLoader; @@ -151,7 +151,7 @@ my %reimpl = ( exit => 'status => CORE::exit($_[0])', getenv => 'name => $ENV{$_[0]}', system => 'command => CORE::system($_[0])', - strerror => 'errno => BEGIN { local $!; require locale; locale->import} my $e = $_[0] + 0; local $!; $! = $e; "$!"', + strerror => 'errno => BEGIN { local $!; require locale; locale->import} local $! = $_[0]; "$!"', strstr => 'big, little => CORE::index($_[0], $_[1])', chmod => 'mode, filename => CORE::chmod($_[0], $_[1])', fstat => 'fd => CORE::open my $dup, "<&", $_[0]; CORE::stat($dup)', # Gross. @@ -403,6 +403,8 @@ my %other_export_tags = ( )], stdlib_h_c99 => [ @{$default_export_tags{stdlib_h}}, 'strtold' ], + + nan_payload => [ qw(getpayload setpayload setpayloadsig issignaling) ], ); { diff --git a/ext/POSIX/lib/POSIX.pod b/ext/POSIX/lib/POSIX.pod index 0ca7bb7..3e6f78d 100644 --- a/ext/POSIX/lib/POSIX.pod +++ b/ext/POSIX/lib/POSIX.pod @@ -444,7 +444,7 @@ C is like L, C is like L [C99]. =item C -Sets the floating point rounding mode, see L [C99]. +Sets the floating point rounding mode, see L. =item C @@ -504,10 +504,7 @@ Returns one of FP_NORMAL FP_ZERO FP_SUBNORMAL FP_INFINITE FP_NAN -telling the class of the argument [C99]. C is positive -or negative infinity, C is not-a-number. C -means subnormal numbers (also known as denormals), very small numbers -with low precision. C is zero. C is all the rest. +telling the class of the argument [C99]. =item C @@ -629,6 +626,17 @@ This is identical to Perl's builtin C function for returning the user name associated with the current session, see L. +=item C + + use POSIX ':nan_payload'; + getpayload($var) + +Returns the C payload. + +Note the API instability warning in L. + +See L for more discussion about C. + =item C This is identical to Perl's builtin C function for @@ -690,16 +698,6 @@ For example C is 4, as an integer. See also L. -=item C - -The infinity as a constant: - - use POSIX qw(Inf); - my $pos_inf = +Inf; # Or just Inf. - my $neg_inf = -Inf; - -See also L, and L. - =item C Deprecated function whose use raises a warning, and which is slated to @@ -809,7 +807,7 @@ Floating point comparisons which handle the C [C99]. Returns true if the argument is an infinity (positive or negative) [C99]. -See also L, L, L, and L. +See also L, L, and L. =item C @@ -839,7 +837,7 @@ Note that you cannot test for "C-ness" with since the C is not equivalent to anything, B. -See also L, L, L, and L. +See also L, L, and L. =item C @@ -880,6 +878,17 @@ modifier is in effect?>). The function returns C if the input string is empty, or if the corresponding C function returns C for every byte in the string. +=item C + + use POSIX ':nan_payload'; + issignaling($var, $payload) + +Return true if the argument is a I NaN. + +Note the API instability warning in L. + +See L for more discussion about C. + =item C Deprecated function whose use raises a warning, and which is slated to @@ -1204,20 +1213,40 @@ Return the integral and fractional parts of a floating-point number. See also L. -=item C +=item C -The not-a-number as a constant: + my $nan = nan(); - use POSIX qw(NaN); - my $nan = NaN; +Returns C, not-a-number [C99]. -See also L, C, and L. +The returned NaN is always a I NaN, as opposed to I. -=item C +With an argument, can be used to generate a NaN with I. +The argument is first interpreted as a floating point number, +but then any fractional parts are truncated (towards zero), +and the value is interpreted as an unsigned integer. +The bits of this integer are stored in the unused bits of the NaN. -Returns not-a-number [C99]. +The result has a dual nature: it is a NaN, but it also carries +the integer inside it. The integer can be retrieved with L. +Note, though, that the payload is not propagated, not even on copies, +and definitely not in arithmetic operations. -See also L and L. +How many bits fit in the NaN depends on what kind of floating points +are being used, but on the most common platforms (64-bit IEEE 754, +or the x86 80-bit long doubles) there are 51 and 61 bits available, +respectively. (There would be 52 and 62, but the quiet/signaling +bit of NaNs takes away one.) However, because of the floating-point-to- +integer-and-back conversions, please test carefully whether you get back +what you put in. If your integers are only 32 bits wide, you probably +should not rely on more than 32 bits of payload. + +Whether a "signaling" NaN is in any way different from a "quiet" NaN, +depends on the platform. Also note that the payload of the default +NaN (no argument to nan()) is not necessarily zero, use C +to explicitly set the payload. + +See also L, L and L. =item C @@ -1511,6 +1540,38 @@ out which locales are available in your system. $loc = setlocale( LC_COLLATE, "es_AR.ISO8859-1" ); +=item C + + use POSIX ':nan_payload'; + setpayload($var, $payload); + +Sets the C payload of var. + +NOTE: the NaN payload APIs are based on the latest (as of June 2015) +proposed ISO C interfaces, but they are not yet a standard. Things +may change. + +See L for more discussion about C. + +See also L, L, L, and L. + +=item C + + use POSIX ':nan_payload'; + setpayloadsig($var, $payload); + +Like L but also makes the NaN I. + +Depending on the platform the NaN may or may not behave differently. + +Note the API instability warning in L. + +Note that because how the floating point formats work out, on the most +common platforms signaling payload of zero is best avoided, +since it might end up being identical to C<+Inf>. + +See also L, L, L, and L. + =item C This is similar to the C function C for diff --git a/ext/POSIX/t/export.t b/ext/POSIX/t/export.t index 91593e0..553a8a9 100644 --- a/ext/POSIX/t/export.t +++ b/ext/POSIX/t/export.t @@ -138,6 +138,10 @@ my %expect = ( nearbyint nextafter nexttoward remainder remquo rint round scalbn signbit tgamma trunc y0 y1 yn strtold ), + # this stuff was added in 5.23 + qw( + getpayload issignaling setpayload setpayloadsig + ), ], ); diff --git a/ext/POSIX/t/math.t b/ext/POSIX/t/math.t index 7e70753..2618865 100644 --- a/ext/POSIX/t/math.t +++ b/ext/POSIX/t/math.t @@ -3,6 +3,7 @@ use strict; use POSIX ':math_h_c99'; +use POSIX ':nan_payload'; use Test::More; use Config; @@ -69,13 +70,11 @@ sub near { } SKIP: { - my $C99_SKIP = 59; - unless ($Config{d_acosh}) { - skip "no acosh, suspecting no C99 math", $C99_SKIP; + skip "no acosh, suspecting no C99 math"; } if ($^O =~ /Win32|VMS/) { - skip "running in $^O, C99 math support uneven", $C99_SKIP; + skip "running in $^O, C99 math support uneven"; } near(M_SQRT2, 1.4142135623731, "M_SQRT2", 1e-9); near(M_E, 2.71828182845905, "M_E", 1e-9); @@ -132,13 +131,96 @@ SKIP: { ok(isgreater(2, 1), "isgreater 2 1"); ok(islessequal(1, 1), "islessequal 1 1"); ok(isunordered(1, NaN), "isunordered 1 NaN"); + + near(erf(0.5), 0.520499877813047, "erf 0.5", 1.5e-7); near(erf(1), 0.842700792949715, "erf 1", 1.5e-7); + near(erf(9), 1, "erf 9", 1.5e-7); + near(erfc(0.5), 0.479500122186953, "erfc 0.5", 1.5e-7); near(erfc(1), 0.157299207050285, "erfc 1", 1.5e-7); + near(erfc(9), 0, "erfc 9", 1.5e-7); + + # tgamma(n) = (n - 1)! + # lgamma(n) = log(tgamma(n)) + near(tgamma(5), 24, "tgamma 5", 1.5e-7); + near(tgamma(5.5), 52.3427777845535, "tgamma 5.5", 1.5e-7); near(tgamma(9), 40320, "tgamma 9", 1.5e-7); + near(lgamma(5), 3.17805383034795, "lgamma 4", 1.5e-7); + near(lgamma(5.5), 3.95781396761872, "lgamma 5.5", 1.5e-7); near(lgamma(9), 10.6046029027452, "lgamma 9", 1.5e-7); - # If adding more tests here, update also the $C99_SKIP - # at the beginning of this SKIP block. + # These don't work on old mips/hppa platforms because == Inf (or == -Inf). + # ok(isnan(setpayload(0)), "setpayload zero"); + # is(getpayload(setpayload(0)), 0, "setpayload + getpayload (zero)"); + # + # These don't work on most platforms because == Inf (or == -Inf). + # ok(isnan(setpayloadsig(0)), "setpayload zero"); + # is(getpayload(setpayloadsig(0)), 0, "setpayload + getpayload (zero)"); + + # Verify that the payload set be setpayload() + # (1) still is a nan + # (2) but the payload can be retrieved + # (3) but is not signaling + my $x = 0; + setpayload($x, 0x12345); + ok(isnan($x), "setpayload + isnan"); + is(getpayload($x), 0x12345, "setpayload + getpayload"); + ok(!issignaling($x), "setpayload + issignaling"); + + # Verify that the signaling payload set be setpayloadsig() + # (1) still is a nan + # (2) but the payload can be retrieved + # (3) and is signaling + setpayloadsig($x, 0x12345); + ok(isnan($x), "setpayloadsig + isnan"); + is(getpayload($x), 0x12345, "setpayload + getpayload"); + ok(issignaling($x), "setpayloadsig + issignaling"); + + # Try a payload more than one byte. + is(getpayload(nan(0x12345)), 0x12345, "nan + getpayload"); + + # Try payloads of 2^k, most importantly at and beyond 2^32. These + # tests will fail if NV is just 32-bit float, but that Should Not + # Happen (tm). + is(getpayload(nan(2**31)), 2**31, "nan + getpayload 2**31"); + is(getpayload(nan(2**32)), 2**32, "nan + getpayload 2**32"); + is(getpayload(nan(2**33)), 2**33, "nan + getpayload 2**33"); + + # Payloads just lower than 2^k. + is(getpayload(nan(2**31-1)), 2**31-1, "nan + getpayload 2**31-1"); + is(getpayload(nan(2**32-1)), 2**32-1, "nan + getpayload 2**32-1"); + + # Payloads not divisible by two (and larger than 2**32). + + SKIP: { + # solaris gets 10460353202 from getpayload() when it should + # get 10460353203 (the 3**21). Things go wrong already in + # the nan() payload setting: [0x2, 0x6f7c52b4] (ivsize=4) + # instead [0x2, 0x6f7c52b3]. Then at getpayload() things + # go wrong again, now in other direction: with the (wrong) + # [0x2, 0x6f7c52b4] encoded in the nan we should decode into + # 10460353204, but we get 10460353202. It doesn't seem to + # help even if we use 'unsigned long long' instead of UV/U32 + # in the POSIX.xs:S_setpayload/S_getpayload. + # + # casting bug? fmod() bug? Though also broken with + # -Duselongdouble + fmodl(), so maybe Solaris cc bug + # in general? + # + # Ironically, the large prime seems to work even in Solaris, + # probably just by blind luck. + skip($^O, 1) if $^O eq 'solaris'; + is(getpayload(nan(3**21)), 3**21, "nan + getpayload 3**21"); + } + is(getpayload(nan(4294967311)), 4294967311, "nan + getpayload prime"); + + # Truncates towards zero. + is(getpayload(nan(1234.567)), 1234, "nan (trunc) + getpayload"); + + # Not signaling. + ok(!issignaling(0), "issignaling zero"); + ok(!issignaling(+Inf), "issignaling +Inf"); + ok(!issignaling(-Inf), "issignaling -Inf"); + ok(!issignaling(NaN), "issignaling NaN"); } # SKIP done_testing(); diff --git a/ext/POSIX/t/posix.t b/ext/POSIX/t/posix.t index ec25d3a..0bafb8f 100644 --- a/ext/POSIX/t/posix.t +++ b/ext/POSIX/t/posix.t @@ -6,6 +6,7 @@ BEGIN { print "1..0\n"; exit 0; } + unshift @INC, "../../t"; require 'loc_tools.pl'; } diff --git a/ext/POSIX/t/strerror_errno.t b/ext/POSIX/t/strerror_errno.t index df691f1..4807a8d 100644 --- a/ext/POSIX/t/strerror_errno.t +++ b/ext/POSIX/t/strerror_errno.t @@ -14,11 +14,4 @@ $! = 1; POSIX::strerror(1); is (0+$!, 1, 'strerror doesn\'t destroy $!'); -# [perl #126229] POSIX::strerror() clears $! -{ - local $! = 29; - my $e = POSIX::strerror($!); - is (0+$!, 29); -} - done_testing(); diff --git a/ext/POSIX/t/wrappers.t b/ext/POSIX/t/wrappers.t index 9fefb6a..e10a921 100644 --- a/ext/POSIX/t/wrappers.t +++ b/ext/POSIX/t/wrappers.t @@ -10,6 +10,7 @@ plan(skip_all => "POSIX is unavailable") require POSIX; require Symbol; require File::Temp; +unshift @INC, "../../t"; require 'loc_tools.pl'; use constant NOT_HERE => 'this-file-should-not-exist'; diff --git a/ext/POSIX/typemap b/ext/POSIX/typemap index e6a82dc..32cd17b 100644 --- a/ext/POSIX/typemap +++ b/ext/POSIX/typemap @@ -17,13 +17,15 @@ POSIX::SigAction T_HVREF INPUT T_OPAQUEPTROBJ - if (SvROK($arg) && sv_derived_from($arg, \"${ntype}\")) { - $var = ($type)SvPV_nolen(SvRV($arg)); + { + SV * sv = $arg; + if (SvROK(sv) && sv_derived_from(sv, \"${ntype}\")) + $var = ($type)SvPV_nolen(SvRV(sv)); + else + croak(\"%s: %s is not of type %s\", + ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]}, + \"$var\", \"$ntype\"); } - else - Perl_croak(aTHX_ \"%s: %s is not of type %s\", - ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]}, - \"$var\", \"$ntype\") OUTPUT T_OPAQUEPTROBJ diff --git a/ext/PerlIO-scalar/scalar.pm b/ext/PerlIO-scalar/scalar.pm index 5d2049b..89ee946 100644 --- a/ext/PerlIO-scalar/scalar.pm +++ b/ext/PerlIO-scalar/scalar.pm @@ -1,5 +1,5 @@ package PerlIO::scalar; -our $VERSION = '0.23'; +our $VERSION = '0.22'; require XSLoader; XSLoader::load(); 1; diff --git a/ext/PerlIO-scalar/scalar.xs b/ext/PerlIO-scalar/scalar.xs index 49bbff1..eec2de9 100644 --- a/ext/PerlIO-scalar/scalar.xs +++ b/ext/PerlIO-scalar/scalar.xs @@ -215,7 +215,7 @@ PerlIOScalar_write(pTHX_ PerlIO * f, const void *vbuf, Size_t count) /* ensure we don't try to create ridiculously large * SVs on small platforms */ -#if Size_t_size < Off_t_size +#if SSize_t_size < Off_t_size if (s->posn > SSize_t_MAX) { #ifdef EFBIG SETERRNO(EFBIG, SS_BUFFEROVF); diff --git a/ext/Pod-Html/bin/pod2html b/ext/Pod-Html/bin/pod2html index 7d1d232..b022859 100644 --- a/ext/Pod-Html/bin/pod2html +++ b/ext/Pod-Html/bin/pod2html @@ -216,7 +216,6 @@ This program is distributed under the Artistic License. =cut -BEGIN { pop @INC if $INC[-1] eq '.' } use Pod::Html; pod2html @ARGV; diff --git a/ext/Pod-Html/lib/Pod/Html.pm b/ext/Pod-Html/lib/Pod/Html.pm index 060ad41..34729a9 100644 --- a/ext/Pod-Html/lib/Pod/Html.pm +++ b/ext/Pod-Html/lib/Pod/Html.pm @@ -3,7 +3,7 @@ use strict; require Exporter; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); -$VERSION = 1.22_01; +$VERSION = 1.22; @ISA = qw(Exporter); @EXPORT = qw(pod2html htmlify); @EXPORT_OK = qw(anchorify); diff --git a/ext/XS-APItest/APItest.pm b/ext/XS-APItest/APItest.pm index c4f38ca..28d6bec 100644 --- a/ext/XS-APItest/APItest.pm +++ b/ext/XS-APItest/APItest.pm @@ -5,7 +5,7 @@ use strict; use warnings; use Carp; -our $VERSION = '0.72_01'; +our $VERSION = '0.73'; require XSLoader; diff --git a/ext/XS-APItest/APItest.xs b/ext/XS-APItest/APItest.xs index 5cc63c8..aef0572 100644 --- a/ext/XS-APItest/APItest.xs +++ b/ext/XS-APItest/APItest.xs @@ -3353,6 +3353,71 @@ CODE: XSRETURN_UNDEF; } +=pod + +multicall_return(): call the passed sub once in the specificed context +and return whatever it returns + +=cut + +void +multicall_return(block, context) + SV *block + I32 context +PROTOTYPE: &$ +CODE: +{ + dSP; + dMULTICALL; + GV *gv; + HV *stash; + I32 gimme = context; + CV *cv; + AV *av; + SV **p; + Size_t i, size; + + cv = sv_2cv(block, &stash, &gv, 0); + if (cv == Nullcv) { + croak("multicall_return not a subroutine reference"); + } + PUSH_MULTICALL(cv); + + MULTICALL; + + /* copy returned values into an array so they're not freed during + * POP_MULTICALL */ + + av = newAV(); + SPAGAIN; + + switch (context) { + case G_VOID: + break; + + case G_SCALAR: + av_push(av, SvREFCNT_inc(TOPs)); + break; + + case G_ARRAY: + for (p = PL_stack_base + 1; p <= SP; p++) + av_push(av, SvREFCNT_inc(*p)); + break; + } + + POP_MULTICALL; + + PERL_UNUSED_VAR(newsp); + + size = AvFILLp(av) + 1; + EXTEND(SP, size); + for (i = 0; i < size; i++) + ST(i) = *av_fetch(av, i, FALSE); + sv_2mortal((SV*)av); + XSRETURN(size); +} + + #ifdef USE_ITHREADS void @@ -5067,12 +5132,3 @@ has_backrefs(SV *sv) OUTPUT: RETVAL -#if defined(WIN32) && defined(PERL_IMPLICIT_SYS) - -const char * -PerlDir_mapA(const char *path) - -const WCHAR * -PerlDir_mapW(const WCHAR *wpath) - -#endif diff --git a/ext/XS-APItest/t/call.t b/ext/XS-APItest/t/call.t index 9ab633d..df98b1a 100644 --- a/ext/XS-APItest/t/call.t +++ b/ext/XS-APItest/t/call.t @@ -11,7 +11,7 @@ use strict; BEGIN { require '../../t/test.pl'; - plan(437); + plan(455); use_ok('XS::APItest') }; @@ -213,35 +213,45 @@ is($@, "its_dead_jim\n", "eval { eval_pv('d()', 1) } - \$@"); sub f99 { 99 }; +my @bodies = ( + # [ code, is_fn_name, expect_success, has_inner_die, expected_err ] -for my $fn_type (0..2) { # 0:eval_pv 1:eval_sv 2:call_sv + # ok + [ 'f99', 1, 1, 0, qr/^$/, ], + # compile-time err + [ '$x=', 0, 0, 0, qr/syntax error/, ], + # compile-time exception + [ 'BEGIN { die "die in BEGIN"}', 0, 0, 1, qr/die in BEGIN/, ], + # run-time exception + [ 'd', 1, 0, 0, qr/its_dead_jim/, ], + # success with caught exception + [ 'eval { die "blah" }; 99', 0, 1, 1, qr/^$/, ], +); + + +for my $fn_type (qw(eval_pv eval_sv call_sv)) { my $warn_msg; local $SIG{__WARN__} = sub { $warn_msg .= $_[0] }; - for my $code_type (0..3) { + for my $body (@bodies) { + my ($code, $is_fn_name, $expect_success, + $has_inner_die, $expected_err_qr) = @$body; # call_sv can only handle function names, not code snippets - next if $fn_type == 2 and ($code_type == 1 or $code_type == 2); - - my $code = ( - 'f99', # ok - '$x=', # compile-time err - 'BEGIN { die "die in BEGIN"}', # compile-time exception - 'd', # run-time exception - )[$code_type]; + next if $fn_type eq 'call_sv' and !$is_fn_name; for my $keep (0, G_KEEPERR) { my $keep_desc = $keep ? 'G_KEEPERR' : '0'; my $desc; - my $expect = ($code_type == 0) ? 1 : 0; + my $expect = $expect_success; undef $warn_msg; $@ = 'pre-err'; my @ret; - if ($fn_type == 0) { # eval_pv + if ($fn_type eq 'eval_pv') { # eval_pv returns its result rather than a 'succeed' boolean $expect = $expect ? '99' : undef; @@ -258,21 +268,21 @@ for my $fn_type (0..2) { # 0:eval_pv 1:eval_sv 2:call_sv @ret = eval_pv($code, 0); } } - elsif ($fn_type == 1) { # eval_sv + elsif ($fn_type eq 'eval_sv') { $desc = "eval_sv('$code', G_ARRAY|$keep_desc)"; @ret = eval_sv($code, G_ARRAY|$keep); } - elsif ($fn_type == 2) { # call_sv + elsif ($fn_type eq 'call_sv') { $desc = "call_sv('$code', G_EVAL|G_ARRAY|$keep_desc)"; @ret = call_sv($code, G_EVAL|G_ARRAY|$keep); } - is(scalar @ret, ($code_type == 0 && $fn_type != 0) ? 2 : 1, + is(scalar @ret, ($expect_success && $fn_type ne 'eval_pv') ? 2 : 1, "$desc - number of returned args"); is($ret[-1], $expect, "$desc - return value"); - if ($keep && $fn_type != 0) { + if ($keep && $fn_type ne 'eval_pv') { # G_KEEPERR doesn't propagate into inner evals, requires etc - unless ($keep && $code_type == 2) { + unless ($keep && $has_inner_die) { is($@, 'pre-err', "$desc - \$@ unmodified"); } $@ = $warn_msg; @@ -281,14 +291,7 @@ for my $fn_type (0..2) { # 0:eval_pv 1:eval_sv 2:call_sv is($warn_msg, undef, "$desc - __WARN__ not called"); unlike($@, qr/pre-err/, "$desc - \$@ modified"); } - like($@, - ( - qr/^$/, - qr/syntax error/, - qr/die in BEGIN/, - qr/its_dead_jim/, - )[$code_type], - "$desc - the correct error message"); + like($@, $expected_err_qr, "$desc - the correct error message"); } } } diff --git a/ext/XS-APItest/t/callregexec.t b/ext/XS-APItest/t/callregexec.t index 74e1e20..22446b6 100644 --- a/ext/XS-APItest/t/callregexec.t +++ b/ext/XS-APItest/t/callregexec.t @@ -10,7 +10,7 @@ use strict; use XS::APItest; *callregexec = *XS::APItest::callregexec; -use Test::More tests => 50; +use Test::More tests => 48; # Test that the regex engine can handle strings without terminating \0 # XXX This is by no means comprehensive; it doesn't test all ops, nor all @@ -42,10 +42,6 @@ sub try { try "ax", qr/a$/m, 1, 'MEOL'; try "ax", qr/a$/s, 1, 'SEOL'; try "abx", qr/^(ab|X)./s, 0, 'SANY'; - { - no warnings 'deprecated'; - try "abx", qr/^(ab|X)\C/, 0, 'CANY'; - } try "abx", qr/^(ab|X)./, 0, 'REG_ANY'; try "abx", qr/^ab(c|d|e|x)/, 0, 'TRIE/TRIEC'; try "abx", qr/^abx/, 0, 'EXACT'; diff --git a/ext/XS-APItest/t/multicall.t b/ext/XS-APItest/t/multicall.t index 85d993d..6c033b7 100644 --- a/ext/XS-APItest/t/multicall.t +++ b/ext/XS-APItest/t/multicall.t @@ -7,7 +7,7 @@ use warnings; use strict; -use Test::More tests => 7; +use Test::More tests => 79; use XS::APItest; @@ -52,8 +52,8 @@ use XS::APItest; # [perl #115602] # deep recursion realloced the CX stack, but the dMULTICALL local var # 'cx' still pointed to the old one. -# Thius doesn;t actually test the failure (I couldn't think of a way to -# get the failure to show at the perl level) but it allows valgribnd or +# This doesn't actually test the failure (I couldn't think of a way to +# get the failure to show at the perl level) but it allows valgrind or # similar to spot any errors. { @@ -61,3 +61,104 @@ use XS::APItest; my @r = XS::APItest::multicall_each { rec(90) } 1,2,3; pass("recursion"); } + + + +# Confirm that MULTICALL handles arg return correctly in the various +# contexts. Also check that lvalue subs are handled the same way, as +# these take different code paths. +# Whenever an explicit 'return' is used, it is followed by '1;' to avoid +# the return being optimised into a leavesub. +# Adding a 'for' loop pushes extra junk on the stack, which we we want to +# avoid being interpreted as a return arg. + +{ + package Ret; + + use XS::APItest qw(multicall_return G_VOID G_SCALAR G_ARRAY); + + # Helper function for the block that follows: + # check that @$got matches what would be expected if a function returned + # the items in @$args in $gimme context. + + sub gimme_check { + my ($gimme, $got, $args, $desc) = @_; + + if ($gimme == G_VOID) { + ::is (scalar @$got, 0, "G_VOID: $desc"); + } + elsif ($gimme == G_SCALAR) { + ::is (scalar @$got, 1, "G_SCALAR: $desc: expect 1 arg"); + ::is ($got->[0], (@$args ? $args->[-1] : undef), + "G_SCALAR: $desc: correct arg"); + } + else { + ::is (join('-',@$got), join('-', @$args), "G_ARRAY: $desc"); + } + } + + for my $gimme (G_VOID, G_SCALAR, G_ARRAY) { + my @a; + + # zero args + + @a = multicall_return {()} $gimme; + gimme_check($gimme, \@a, [], "()"); + sub f1 :lvalue { () } + @a = multicall_return \&f1, $gimme; + gimme_check($gimme, \@a, [], "() lval"); + + @a = multicall_return { return; 1 } $gimme; + gimme_check($gimme, \@a, [], "return"); + sub f2 :lvalue { return; 1 } + @a = multicall_return \&f2, $gimme; + gimme_check($gimme, \@a, [], "return lval"); + + + @a = multicall_return { for (1,2) { return; 1 } } $gimme; + gimme_check($gimme, \@a, [], "for-return"); + sub f3 :lvalue { for (1,2) { return; 1 } } + @a = multicall_return \&f3, $gimme; + gimme_check($gimme, \@a, [], "for-return lval"); + + # one arg + + @a = multicall_return {"one"} $gimme; + gimme_check($gimme, \@a, ["one"], "one arg"); + sub f4 :lvalue { "one" } + @a = multicall_return \&f4, $gimme; + gimme_check($gimme, \@a, ["one"], "one arg lval"); + + @a = multicall_return { return "one"; 1} $gimme; + gimme_check($gimme, \@a, ["one"], "return one arg"); + sub f5 :lvalue { return "one"; 1 } + @a = multicall_return \&f5, $gimme; + gimme_check($gimme, \@a, ["one"], "return one arg lval"); + + @a = multicall_return { for (1,2) { return "one"; 1} } $gimme; + gimme_check($gimme, \@a, ["one"], "for-return one arg"); + sub f6 :lvalue { for (1,2) { return "one"; 1 } } + @a = multicall_return \&f6, $gimme; + gimme_check($gimme, \@a, ["one"], "for-return one arg lval"); + + # two args + + @a = multicall_return {"one", "two" } $gimme; + gimme_check($gimme, \@a, ["one", "two"], "two args"); + sub f7 :lvalue { "one", "two" } + @a = multicall_return \&f7, $gimme; + gimme_check($gimme, \@a, ["one", "two"], "two args lval"); + + @a = multicall_return { return "one", "two"; 1} $gimme; + gimme_check($gimme, \@a, ["one", "two"], "return two args"); + sub f8 :lvalue { return "one", "two"; 1 } + @a = multicall_return \&f8, $gimme; + gimme_check($gimme, \@a, ["one", "two"], "return two args lval"); + + @a = multicall_return { for (1,2) { return "one", "two"; 1} } $gimme; + gimme_check($gimme, \@a, ["one", "two"], "for-return two args"); + sub f9 :lvalue { for (1,2) { return "one", "two"; 1 } } + @a = multicall_return \&f9, $gimme; + gimme_check($gimme, \@a, ["one", "two"], "for-return two args lval"); + } +} diff --git a/ext/XS-APItest/t/win32.t b/ext/XS-APItest/t/win32.t deleted file mode 100644 index a8905c2..0000000 --- a/ext/XS-APItest/t/win32.t +++ /dev/null @@ -1,39 +0,0 @@ -#!perl -w -use strict; -use Test::More; -use XS::APItest; -use Config; - -plan skip_all => "Tests only apply on MSWin32" - unless $^O eq "MSWin32"; - -SKIP: -{ - # [perl #126755] previous the bad drive tests would crash - $Config{ccflags} =~ /(?:\A|\s)-DPERL_IMPLICIT_SYS\b/ - or skip "need implicit_sys for this test", 1; - eval "use Encode; 1" - or skip "Can't load Encode", 1; - for my $letter ("A" .. "Z", "a" .. "z") { - my $good_drive = $letter . ":"; - my $result = PerlDir_mapA($good_drive); - like($result, qr/^$letter:\\/i, "check good drive $letter"); - - my $wgood_drive = encode("UTF-16LE", $good_drive . "\0"); - $result = PerlDir_mapW($wgood_drive); - like(decode("UTF16-LE", $result), qr/^$letter:\\/i, - "check a good drive (wide)"); - } - for my $bad ('@', '[', '!', '~', '`', '{') { - my $bad_drive = "$bad:"; - my $result = PerlDir_mapA($bad_drive); - is($result, $bad_drive, "check bad drive $bad:"); - - my $wbad_drive = encode("UTF-16LE", $bad_drive . "\0"); - $result = PerlDir_mapW($wbad_drive); - is(decode("UTF16-LE", $result), "$bad_drive\0", - "check bad drive $bad: (wide)"); - } -} - -done_testing(); diff --git a/ext/XS-APItest/typemap b/ext/XS-APItest/typemap index ed86a37..035f882 100644 --- a/ext/XS-APItest/typemap +++ b/ext/XS-APItest/typemap @@ -1,13 +1 @@ XS::APItest::PtrTable T_PTROBJ - -const WCHAR * WPV - -INPUT - -WPV - $var = ($type)SvPV_nolen($arg); - -OUTPUT - -WPV - sv_setpvn($arg, (const char *)($var), sizeof(WCHAR) * (1+wcslen($var))); diff --git a/globvar.sym b/globvar.sym index 87059e2..1183d67 100644 --- a/globvar.sym +++ b/globvar.sym @@ -15,6 +15,7 @@ PL_fold_locale PL_freq PL_global_struct_size PL_hexdigit +PL_inf PL_interp_size PL_interp_size_5_18_0 PL_keyword_plugin @@ -24,6 +25,7 @@ PL_magic_vtable_names PL_magic_vtables PL_memory_wrap PL_mod_latin1_uc +PL_nan PL_no_aelem PL_no_dir_func PL_no_func diff --git a/gv.c b/gv.c index 0d66e9b..242ea87 100644 --- a/gv.c +++ b/gv.c @@ -1411,7 +1411,7 @@ S_gv_stashpvn_internal(pTHX_ const char *name, U32 namelen, I32 flags) tmpgv = gv_fetchpvn_flags(tmpbuf, tmplen, flags, SVt_PVHV); if (tmpbuf != smallbuf) Safefree(tmpbuf); - if (!tmpgv || !isGV_with_GP(tmpgv)) + if (!tmpgv) return NULL; stash = GvHV(tmpgv); if (!(flags & ~GV_NOADD_MASK) && !stash) return NULL; diff --git a/handy.h b/handy.h index dfd6429..2f0c50c 100644 --- a/handy.h +++ b/handy.h @@ -1976,6 +1976,12 @@ PoisonWith(0xEF) for catching access to freed memory. * - lots of ENV reads */ +PERL_CALLCONV Malloc_t Perl_mem_log_alloc(const UV n, const UV typesize, const char *type_name, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname); + +PERL_CALLCONV Malloc_t Perl_mem_log_realloc(const UV n, const UV typesize, const char *type_name, Malloc_t oldalloc, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname); + +PERL_CALLCONV Malloc_t Perl_mem_log_free(Malloc_t oldalloc, const char *filename, const int linenumber, const char *funcname); + # ifdef PERL_CORE # ifndef PERL_MEM_LOG_NOIMPL enum mem_log_type { diff --git a/hints/aix.sh b/hints/aix.sh index a55fce6..3c606c6 100644 --- a/hints/aix.sh +++ b/hints/aix.sh @@ -649,4 +649,50 @@ EOF ;; esac +# Some releases of AIX cc/xlc a broken fmodl(), but -q64 seems to help. +case "$gccversion" in +'') case "$uselongdouble" in + define) + case "$ccflags" in + *-q64*) ;; + *) echo "Checking if your fmodl() is broken..." >&4 + cat > fmodl$$.c < +#include +int main() { + printf("%ld\n", (long)fmodl(powl(2, 31), (long double)4294967295)); +} +EOF + $cc -qlongdouble -o fmodl$$ fmodl$$.c -lm + case `./fmodl$$` in + 2147483648) echo "Your fmodl() is working correctly." >&4 ;; + *) echo "Your fmodl() is broken, will try with -q64..." >&4 + $cc -q64 -qlongdouble -o fmodl$$ fmodl$$.c -lm + case `./fmodl$$` in + 2147483648) + echo "The -q64 did the trick, will use it." >& 4 + ccflags="`echo $ccflags | sed -e 's@-q32@@g'`" + ldflags="`echo $ldflags | sed -e 's@-q32@@g'`" + ccflags="$ccflags -q64" + ldflags="$ldflags -q64" + ;; + *) echo "Not even the -q64 worked. I'm disabling long doubles." >&4 + echo "And you should have stern talk with your IBM rep." >&4 + uselongdouble="$undef" + ccflags=`echo " $ccflags " | sed -e 's/ -qlongdouble / /'` + libswanted=`echo " $libswanted " | sed -e 's/ c128/ /'` + lddlflags=`echo " $lddlflags " | sed -e 's/ -lc128 / /'` + ;; + esac # second fmodl$$ + ;; + esac # first fmodl$$ + ;; + esac # Checking if ... + ;; + esac # uselongdouble + rm -f fmodl$$.c fmodl$$ + ;; +esac # not gcc + + # EOF diff --git a/hints/catamount.sh b/hints/catamount.sh index e296110..b67ea46 100644 --- a/hints/catamount.sh +++ b/hints/catamount.sh @@ -31,11 +31,11 @@ # mkdir -p /opt/perl-catamount # mkdir -p /opt/perl-catamount/include # mkdir -p /opt/perl-catamount/lib -# mkdir -p /opt/perl-catamount/lib/perl5/5.22.3 +# mkdir -p /opt/perl-catamount/lib/perl5/5.23.0 # mkdir -p /opt/perl-catamount/bin # cp *.h /opt/perl-catamount/include # cp libperl.a /opt/perl-catamount/lib -# cp -pr lib/* /opt/perl-catamount/lib/perl5/5.22.3 +# cp -pr lib/* /opt/perl-catamount/lib/perl5/5.23.0 # cp miniperl perl run.sh cc.sh /opt/perl-catamount/lib # # With the headers and the libperl.a you can embed Perl to your Catamount diff --git a/hints/darwin.sh b/hints/darwin.sh index 73acae1..fec05fd 100644 --- a/hints/darwin.sh +++ b/hints/darwin.sh @@ -352,13 +352,3 @@ esac # makefile in the same place. Since Darwin uses GNU make, this dodges # the problem. firstmakefile=GNUmakefile; - -# Parts of the system call setenv(), in particular in an atfork handler. -# This causes problems when the child tries to clean up environ[], so -# let libc manage environ[]. -cat >> config.over <<'EOOVER' -if test "$d_unsetenv" = "$define" -a \ - `expr "$ccflags" : '.*-DPERL_USE_SAFE_PUTENV'` -eq 0; then - ccflags="$ccflags -DPERL_USE_SAFE_PUTENV" -fi -EOOVER diff --git a/hints/irix_6.sh b/hints/irix_6.sh index 832fde2..fc315a5 100644 --- a/hints/irix_6.sh +++ b/hints/irix_6.sh @@ -683,6 +683,3 @@ usemymalloc=${usemymalloc:-false} # instead; in IRIX this is not true because the prototype of fcntl() # requires explicit include of i_fcntl=define - -# There is but it's not the Linux one that Configure expects. -d_prctl="$undef" diff --git a/hv.c b/hv.c index 3e3710e..e5bf629 100644 --- a/hv.c +++ b/hv.c @@ -1595,8 +1595,8 @@ Perl_hv_delayfree_ent(pTHX_ HV *hv, HE *entry) Frees the all the elements of a hash, leaving it empty. The XS equivalent of C<%hash = ()>. See also L. -See L for a note about the hash possibly being invalid on -return. +If any destructors are triggered as a result, the hv itself may +be freed. =cut */ @@ -1829,8 +1829,10 @@ Undefines the hash. The XS equivalent of C. As well as freeing all the elements of the hash (like hv_clear()), this also frees any auxiliary data and storage associated with the hash. -See L for a note about the hash possibly being invalid on -return. +If any destructors are triggered as a result, the hv itself may +be freed. + +See also L. =cut */ diff --git a/hv_func.h b/hv_func.h index 49a677e..708c6c7 100644 --- a/hv_func.h +++ b/hv_func.h @@ -83,11 +83,9 @@ # if defined(USE_HASH_SEED) || defined(USE_HASH_SEED_EXPLICIT) # define PERL_HASH_SEED PL_hash_seed # elif PERL_HASH_SEED_BYTES == 4 -# define PERL_HASH_SEED ((const U8 *)"PeRl") -# elif PERL_HASH_SEED_BYTES == 8 -# define PERL_HASH_SEED ((const U8 *)"PeRlHaSh") +# define PERL_HASH_SEED "PeRl" # elif PERL_HASH_SEED_BYTES == 16 -# define PERL_HASH_SEED ((const U8 *)"PeRlHaShhAcKpErl") +# define PERL_HASH_SEED "PeRlHaShhAcKpErl" # else # error "No PERL_HASH_SEED definition for " PERL_HASH_FUNC # endif @@ -102,7 +100,7 @@ * are only needed to help derive these 3. * * U8TO32_LE(x) Read a little endian unsigned 32-bit int - * UNALIGNED_SAFE Defined if unaligned access is safe + * UNALIGNED_SAFE Defined if READ_UINT32 works on non-word boundaries * ROTL32(x,r) Rotate x left by r bits */ @@ -116,6 +114,8 @@ +((const U8 *)(d))[0]) #endif + +/* Now find best way we can to READ_UINT32 */ #if (BYTEORDER == 0x1234 || BYTEORDER == 0x12345678) && U32SIZE == 4 /* CPU endian matches murmurhash algorithm, so read 32-bit word directly */ #define U8TO32_LE(ptr) (*((U32*)(ptr))) @@ -570,7 +570,7 @@ S_perl_hash_old_one_at_a_time(const unsigned char * const seed, const unsigned c return a 32 bit hash. Note uses unaligned 64 bit loads - will NOT work on machines with - strict alignment requirements. + strict alginment requirements. Also this code may not be suitable for big-endian machines. */ @@ -628,7 +628,7 @@ S_perl_hash_murmur_hash_64a (const unsigned char * const seed, const unsigned ch a 32 bit value Note uses unaligned 32 bit loads - will NOT work on machines with - strict alignment requirements. + strict alginment requirements. Also this code may not be suitable for big-endian machines. */ diff --git a/intrpvar.h b/intrpvar.h index 0dabd28..bf2576f 100644 --- a/intrpvar.h +++ b/intrpvar.h @@ -179,7 +179,7 @@ PERLVAR(I, statgv, GV *) PERLVARI(I, statname, SV *, NULL) #ifdef HAS_TIMES -/* Will be removed soon after v5.22.3. See RT #121351 */ +/* Will be removed soon after v5.23.0. See RT #121351 */ PERLVAR(I, timesbuf, struct tms) #endif @@ -753,7 +753,7 @@ PERLVARI(I, globhook, globhook_t, NULL) PERLVARI(I, padlist_generation, U32, 1) /* id to identify padlist clones */ -/* The last unconditional member of the interpreter structure when 5.22.3 was +/* The last unconditional member of the interpreter structure when 5.23.0 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. */ diff --git a/lib/B/Op_private.pm b/lib/B/Op_private.pm index 1e64b26..8981720 100644 --- a/lib/B/Op_private.pm +++ b/lib/B/Op_private.pm @@ -118,7 +118,7 @@ package B::Op_private; our %bits; -our $VERSION = "5.022003"; +our $VERSION = "5.023000"; $bits{$_}{3} = 'OPpENTERSUB_AMPER' for qw(entersub rv2cv); $bits{$_}{6} = 'OPpENTERSUB_DB' for qw(entersub rv2cv); diff --git a/lib/UNIVERSAL.pm b/lib/UNIVERSAL.pm index 2f16cb5..12800fb 100644 --- a/lib/UNIVERSAL.pm +++ b/lib/UNIVERSAL.pm @@ -1,6 +1,6 @@ package UNIVERSAL; -our $VERSION = '1.12'; +our $VERSION = '1.13'; # UNIVERSAL should not contain any extra subs/methods beyond those # that it exists to define. The existence of import() below is a historical @@ -186,10 +186,8 @@ None. Previous versions of this documentation suggested using C as a function to determine the type of a reference: - use UNIVERSAL 'isa'; - - $yes = isa $h, "HASH"; - $yes = isa "Foo", "Bar"; + $yes = UNIVERSAL::isa($h, "HASH"); + $yes = UNIVERSAL::isa("Foo", "Bar"); The problem is that this code would I call an overridden C method in any class. Instead, use C from L for the first case: diff --git a/lib/Unicode/UCD.t b/lib/Unicode/UCD.t index 8eadfee..a799dd0 100644 --- a/lib/Unicode/UCD.t +++ b/lib/Unicode/UCD.t @@ -551,7 +551,7 @@ $ranges = charscript('Cherokee'); ok(!charinrange($ranges, "139f"), 'Cherokee charscript'); ok( charinrange($ranges, "13a0")); ok( charinrange($ranges, "13f4")); -ok(!charinrange($ranges, "13f5")); +ok(!charinrange($ranges, "13ff")); use Unicode::UCD qw(general_categories); @@ -571,7 +571,7 @@ is($bt->{AL}, 'Right-to-Left Arabic', 'AL is Right-to-Left Arabic'); # If this fails, then maybe one should look at the Unicode changes to see # what else might need to be updated. -is(Unicode::UCD::UnicodeVersion, '7.0.0', 'UnicodeVersion'); +is(Unicode::UCD::UnicodeVersion, '8.0.0', 'UnicodeVersion'); use Unicode::UCD qw(compexcl); @@ -703,7 +703,7 @@ is(Unicode::UCD::_getcode('U+123x'), undef, "_getcode(x123)"); my $r1 = charscript('Latin'); if (ok(defined $r1, "Found Latin script")) { my $n1 = @$r1; - is($n1, 33, "number of ranges in Latin script (Unicode 7.0.0)") if $::IS_ASCII; + is($n1, 31, "number of ranges in Latin script (Unicode 7.0.0)") if $::IS_ASCII; shift @$r1 while @$r1; my $r2 = charscript('Latin'); is(@$r2, $n1, "modifying results should not mess up internal caches"); diff --git a/lib/feature.pm b/lib/feature.pm index 70d8ada..4cf11a7 100644 --- a/lib/feature.pm +++ b/lib/feature.pm @@ -5,7 +5,7 @@ package feature; -our $VERSION = '1.40'; +our $VERSION = '1.41'; our %feature = ( fc => 'feature_fc', @@ -43,6 +43,8 @@ $feature_bundle{"5.19"} = $feature_bundle{"5.15"}; $feature_bundle{"5.20"} = $feature_bundle{"5.15"}; $feature_bundle{"5.21"} = $feature_bundle{"5.15"}; $feature_bundle{"5.22"} = $feature_bundle{"5.15"}; +$feature_bundle{"5.23"} = $feature_bundle{"5.15"}; +$feature_bundle{"5.24"} = $feature_bundle{"5.15"}; $feature_bundle{"5.9.5"} = $feature_bundle{"5.10"}; our $hint_shift = 26; @@ -370,6 +372,9 @@ The following feature bundles are available: :5.22 say state switch unicode_strings unicode_eval evalbytes current_sub fc + :5.24 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 or C declaration. @@ -424,7 +429,7 @@ bundle is automatically loaded instead. =cut sub import { - my $class = shift; + shift; if (!@_) { croak("No features specified"); @@ -434,7 +439,7 @@ sub import { } sub unimport { - my $class = shift; + shift; # A bare C should reset to the default bundle if (!@_) { diff --git a/lib/perl5db.pl b/lib/perl5db.pl index b2d2b96..0d240ae 100644 --- a/lib/perl5db.pl +++ b/lib/perl5db.pl @@ -528,7 +528,7 @@ BEGIN { # Debugger for Perl 5.00x; perl5db.pl patch level: use vars qw($VERSION $header); -$VERSION = '1.49_001'; +$VERSION = '1.49_01'; $header = "perl5db.pl version $VERSION"; @@ -1938,10 +1938,7 @@ sub _DB__handle_y_command { = $obj->cmd_args =~ /\A(?:(\d*)\s*(.*))?\z/) { # See if we've got the necessary support. - if (!eval { - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - require PadWalker; PadWalker->VERSION(0.08) }) { + if (!eval { require PadWalker; PadWalker->VERSION(0.08) }) { my $Err = $@; _db_warn( $Err =~ /locate/ @@ -3322,6 +3319,9 @@ B, B or B to get additional info. EOP # Set the DB::eval context appropriately. + # At program termination disable any user actions. + $DB::action = undef; + $DB::package = 'main'; $DB::usercontext = DB::_calc_usercontext($DB::package); } ## end elsif ($package eq 'DB::fake') @@ -9423,10 +9423,7 @@ if PadWalker could be loaded. =cut - if (not $text =~ /::/ and eval { - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - require PadWalker } ) { + if (not $text =~ /::/ and eval { require PadWalker } ) { my $level = 1; while (1) { my @info = caller($level); diff --git a/lib/perl5db.t b/lib/perl5db.t index e93aee0..98a3686 100644 --- a/lib/perl5db.t +++ b/lib/perl5db.t @@ -29,7 +29,7 @@ BEGIN { $ENV{PERL_RL} = 'Perl'; # Suppress system Term::ReadLine::Gnu } -plan(120); +plan(121); my $rc_filename = '.perldb'; @@ -2774,6 +2774,31 @@ SKIP: ); } +# [perl #71678] debugger bug in evaluation of user actions ('a' command) +# Still evaluated after the script finishes. +{ + my $wrapper = DebugWrap->new( + { + cmds => + [ + q#a 9 print " \$arg = $arg\n"#, + 'c 9', + 's', + 'q', + ], + prog => '../lib/perl5db/t/test-a-statement-2', + switches => [ '-dw', ], + stderr => 1, + } + ); + + $wrapper->contents_unlike(qr/ + Use\ of\ uninitialized\ value\ \$arg\ in\ concatenation\ [\S ]+\ or\ string\ at + /msx, + 'Test that the a command does not emit warnings on program exit.', + ); +} + END { 1 while unlink ($rc_filename, $out_fn); } diff --git a/lib/perl5db/t/test-a-statement-2 b/lib/perl5db/t/test-a-statement-2 new file mode 100644 index 0000000..0a3d304 --- /dev/null +++ b/lib/perl5db/t/test-a-statement-2 @@ -0,0 +1,10 @@ +use strict; use warnings; + +greet('Hello'); + +sub greet +{ + my $arg = shift; + print "$arg\n"; + return; +} diff --git a/lib/unicore/ArabicShaping.txt b/lib/unicore/ArabicShaping.txt index 9c67231..b0e5b5b 100644 --- a/lib/unicore/ArabicShaping.txt +++ b/lib/unicore/ArabicShaping.txt @@ -1,5 +1,5 @@ -# ArabicShaping-7.0.0.txt -# Date: 2014-02-14, 21:00:00 GMT [RP, KW, LI] +# ArabicShaping-8.0.0.txt +# Date: 2015-02-17, 23:33:00 GMT [RP] # # This file is a normative contributory data file in the # Unicode Character Database. @@ -7,16 +7,17 @@ # Copyright (c) 1991-2014 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # -# This file defines the Joining_Type and Joining_Group property values for -# Arabic, Syriac, N'Ko, Mandaic, Manichaean, and Psalter Pahlavi positional -# shaping, repeating in machine readable form the information exemplified in -# Tables 9-3, 9-8, 9-9, 9-10, 9-14, 9-15, 9-16, 9-19, 9-20, 10-XX, 19-5 of The -# Unicode Standard, Version 7.0. This file also defines Joining_Type values -# for Mongolian and Phags-pa positional shaping, which are not listed in -# tables in the standard. +# This file defines the Joining_Type and Joining_Group property +# values for Arabic, Syriac, N'Ko, Mandaic, and Manichaean positional +# shaping, repeating in machine readable form the information +# exemplified in Tables 9-3, 9-8, 9-9, 9-10, 9-14, 9-15, 9-16, 9-19, +# 9-20, 10-4, 10-5, 10-6, 10-7, and 19-5 of The Unicode Standard core +# specification. This file also defines Joining_Type values for +# Mongolian, Phags-pa, and Psalter Pahlavi positional shaping, which +# are not listed in tables in the standard. # # See Sections 9.2, 9.3, 9.5, 10.5, 10.6, 13.4, 14.3, 19.4 of -# The Unicode Standard, Version 7.0 for more information. +# The Unicode Standard core specification for more information. # # Each line contains four fields, separated by a semicolon. # @@ -72,14 +73,15 @@ # no longer applies to its namesake character, U+06C2. # See PropertyValueAliases.txt. # -# When other cursive scripts are added to the Unicode Standard in -# the future, the joining group value of all its letters will default -# to jg=No_Joining_Group in this data file. Other, more specific +# When other cursive scripts are added to the Unicode Standard in the +# future, the joining group value of all its letters will default to +# jg=No_Joining_Group in this data file. Other, more specific # joining group values will be defined only if an explicit proposal # to define those values exactly has been approved by the UTC. This # is the convention exemplified by the N'Ko, Mandaic, Mongolian, -# and Phags-pa scripts. Only the Arabic and Syriac scripts -# currently have explicit joining group values defined. +# Phags-pa, and Psalter Pahlavi scripts. Only the Arabic, +# Manichaean, and Syriac scripts currently have explicit joining +# group values defined. # # Note: Code points that are not explicitly listed in this file are # either of joining type T or U: @@ -432,6 +434,8 @@ 08B0; KEHEH WITH STROKE BELOW; D; GAF 08B1; STRAIGHT WAW; R; STRAIGHT WAW 08B2; REH WITH DOT AND INVERTED V ABOVE; R; REH +08B3; AIN WITH 3 DOTS BELOW; D; AIN +08B4; KAF WITH DOT BELOW; D; KAF # Mongolian Characters diff --git a/lib/unicore/BidiBrackets.txt b/lib/unicore/BidiBrackets.txt index 2a0cc0c..bfd83cd 100644 --- a/lib/unicore/BidiBrackets.txt +++ b/lib/unicore/BidiBrackets.txt @@ -1,12 +1,12 @@ -# BidiBrackets-7.0.0.txt -# Date: 2014-01-21, 02:30:00 GMT [AG, LI, KW] +# BidiBrackets-8.0.0.txt +# Date: 2015-01-20, 19:00:00 GMT [AG, LI, KW] # # Bidi_Paired_Bracket and Bidi_Paired_Bracket_Type Properties # # This file is a normative contributory data file in the Unicode # Character Database. # -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # # Bidi_Paired_Bracket is a normative property of type Miscellaneous, diff --git a/lib/unicore/BidiMirroring.txt b/lib/unicore/BidiMirroring.txt index b1f7386..fbc60f1 100644 --- a/lib/unicore/BidiMirroring.txt +++ b/lib/unicore/BidiMirroring.txt @@ -1,19 +1,19 @@ -# BidiMirroring-7.0.0.txt -# Date: 2013-12-17, 00:00:00 GMT [KW, LI] +# BidiMirroring-8.0.0.txt +# Date: 2015-01-20, 18:30:00 GMT [KW, LI] # # Bidi_Mirroring_Glyph Property # # This file is an informative contributory data file in the # Unicode Character Database. # -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # # This data file lists characters that have the Bidi_Mirrored=Yes property # value, for which there is another Unicode character that typically has a glyph # that is the mirror image of the original character's glyph. # -# The repertoire covered by the file is Unicode 7.0.0. +# The repertoire covered by the file is Unicode 8.0.0. # # The file contains a list of lines with mappings from one code point # to another one for character-based mirroring. @@ -42,7 +42,7 @@ # # This file was originally created by Markus Scherer. # Extended for Unicode 3.2, 4.0, 4.1, 5.0, 5.1, 5.2, and 6.0 by Ken Whistler, -# and for Unicode 6.1, 6.2, 6.3, and 7.0 by Ken Whistler and Laurentiu Iancu. +# and for subsequent versions by Ken Whistler and Laurentiu Iancu. # # ############################################################ # diff --git a/lib/unicore/Blocks.txt b/lib/unicore/Blocks.txt index 3653af7..0a4a580 100644 --- a/lib/unicore/Blocks.txt +++ b/lib/unicore/Blocks.txt @@ -1,14 +1,11 @@ -# Blocks-7.0.0.txt -# Date: 2014-04-03, 23:23:00 GMT [RP, KW] +# Blocks-8.0.0.txt +# Date: 2014-11-10, 23:04:00 GMT [KW] # # Unicode Character Database # Copyright (c) 1991-2014 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ # -# Note: The casing of block names is not normative. -# For example, "Basic Latin" and "BASIC LATIN" are equivalent. -# # Format: # Start Code..End Code; Block Name @@ -20,6 +17,14 @@ # For more information on the comparison of property values, # see UAX #44: http://www.unicode.org/reports/tr44/ # +# All block ranges start with a value where (cp MOD 16) = 0, +# and end with a value where (cp MOD 16) = 15. In other words, +# the last hexadecimal digit of the start of range is ...0 +# and the last hexadecimal digit of the end of range is ...F. +# This constraint on block ranges guarantees that allocations +# are done in terms of whole columns, and that code chart display +# never involves splitting columns in the charts. +# # All code points not explicitly listed for Block # have the value No_Block. @@ -168,6 +173,7 @@ AA80..AADF; Tai Viet AAE0..AAFF; Meetei Mayek Extensions AB00..AB2F; Ethiopic Extended-A AB30..AB6F; Latin Extended-E +AB70..ABBF; Cherokee Supplement ABC0..ABFF; Meetei Mayek AC00..D7AF; Hangul Syllables D7B0..D7FF; Hangul Jamo Extended-B @@ -210,6 +216,7 @@ FFF0..FFFF; Specials 10840..1085F; Imperial Aramaic 10860..1087F; Palmyrene 10880..108AF; Nabataean +108E0..108FF; Hatran 10900..1091F; Phoenician 10920..1093F; Lydian 10980..1099F; Meroitic Hieroglyphs @@ -223,6 +230,7 @@ FFF0..FFFF; Specials 10B60..10B7F; Inscriptional Pahlavi 10B80..10BAF; Psalter Pahlavi 10C00..10C4F; Old Turkic +10C80..10CFF; Old Hungarian 10E60..10E7F; Rumi Numeral Symbols 11000..1107F; Brahmi 11080..110CF; Kaithi @@ -232,17 +240,21 @@ FFF0..FFFF; Specials 11180..111DF; Sharada 111E0..111FF; Sinhala Archaic Numbers 11200..1124F; Khojki +11280..112AF; Multani 112B0..112FF; Khudawadi 11300..1137F; Grantha 11480..114DF; Tirhuta 11580..115FF; Siddham 11600..1165F; Modi 11680..116CF; Takri +11700..1173F; Ahom 118A0..118FF; Warang Citi 11AC0..11AFF; Pau Cin Hau 12000..123FF; Cuneiform 12400..1247F; Cuneiform Numbers and Punctuation +12480..1254F; Early Dynastic Cuneiform 13000..1342F; Egyptian Hieroglyphs +14400..1467F; Anatolian Hieroglyphs 16800..16A3F; Bamum Supplement 16A40..16A6F; Mro 16AD0..16AFF; Bassa Vah @@ -257,6 +269,7 @@ FFF0..FFFF; Specials 1D300..1D35F; Tai Xuan Jing Symbols 1D360..1D37F; Counting Rod Numerals 1D400..1D7FF; Mathematical Alphanumeric Symbols +1D800..1DAAF; Sutton SignWriting 1E800..1E8DF; Mende Kikakui 1EE00..1EEFF; Arabic Mathematical Alphabetic Symbols 1F000..1F02F; Mahjong Tiles @@ -271,9 +284,11 @@ FFF0..FFFF; Specials 1F700..1F77F; Alchemical Symbols 1F780..1F7FF; Geometric Shapes Extended 1F800..1F8FF; Supplemental Arrows-C +1F900..1F9FF; Supplemental Symbols and Pictographs 20000..2A6DF; CJK Unified Ideographs Extension B 2A700..2B73F; CJK Unified Ideographs Extension C 2B740..2B81F; CJK Unified Ideographs Extension D +2B820..2CEAF; CJK Unified Ideographs Extension E 2F800..2FA1F; CJK Compatibility Ideographs Supplement E0000..E007F; Tags E0100..E01EF; Variation Selectors Supplement diff --git a/lib/unicore/CJKRadicals.txt b/lib/unicore/CJKRadicals.txt index 8bc8023..e832657 100644 --- a/lib/unicore/CJKRadicals.txt +++ b/lib/unicore/CJKRadicals.txt @@ -1,8 +1,8 @@ -# CJKRadicals-7.0.0.txt -# Date: 2013-12-17, 00:00:00 GMT [RC, KW, LI] +# CJKRadicals-8.0.0.txt +# Date: 2015-02-19, 00:30:00 GMT [RC, KW, LI] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see UAX #38: Unicode Han Database (Unihan), # at http://www.unicode.org/reports/tr38/ @@ -10,23 +10,23 @@ # Mapping from radical numbers to characters. # # This data file provides a mapping from the radical numbers used -# in the kRSUnicode property to the corresponding character -# in the Kangxi Radicals block or the CJK Radicals Supplement block, as -# well as to a CJK unified ideograph which is formed from that radical -# only. +# in the kRSUnicode property to the corresponding character in +# the Kangxi Radicals block or the CJK Radicals Supplement block, +# as well as to a CJK unified ideograph which is formed from that +# radical only. # # There is one line per radical number. Each line contains three # fields, separated by a semicolon (';'). The first field is the -# radical number. The second field is the CJK radical character. The third -# field is the CJK unified ideograph. +# radical number. The second field is the CJK radical character. +# The third field is the CJK unified ideograph. # # Radical numbers match the regular expression [1-9][0-9]{0,2}\'? # and in particular they can end with a U+0027 ' APOSTROPHE. # # This file was created for Unicode 5.2 by Richard Cook. # Updated for Unicode 6.0 by Richard Cook. -# Updated for Unicode 6.1 and 6.2 by Ken Whistler. -# Updated for Unicode 6.3 and 7.0 by Ken Whistler and Laurentiu Iancu. +# Updated for Unicode 6.1 and 6.2 by Ken Whistler, +# and for subsequent versions by Ken Whistler and Laurentiu Iancu. # # #################################################### diff --git a/lib/unicore/CaseFolding.txt b/lib/unicore/CaseFolding.txt index 13c10a6..0197a6c 100644 --- a/lib/unicore/CaseFolding.txt +++ b/lib/unicore/CaseFolding.txt @@ -1,8 +1,8 @@ -# CaseFolding-7.0.0.txt -# Date: 2014-04-09, 20:00:56 GMT [MD] +# CaseFolding-8.0.0.txt +# Date: 2015-01-13, 18:16:36 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ # @@ -587,6 +587,12 @@ 10C5; C; 2D25; # GEORGIAN CAPITAL LETTER HOE 10C7; C; 2D27; # GEORGIAN CAPITAL LETTER YN 10CD; C; 2D2D; # GEORGIAN CAPITAL LETTER AEN +13F8; C; 13F0; # CHEROKEE SMALL LETTER YE +13F9; C; 13F1; # CHEROKEE SMALL LETTER YI +13FA; C; 13F2; # CHEROKEE SMALL LETTER YO +13FB; C; 13F3; # CHEROKEE SMALL LETTER YU +13FC; C; 13F4; # CHEROKEE SMALL LETTER YV +13FD; C; 13F5; # CHEROKEE SMALL LETTER MV 1E00; C; 1E01; # LATIN CAPITAL LETTER A WITH RING BELOW 1E02; C; 1E03; # LATIN CAPITAL LETTER B WITH DOT ABOVE 1E04; C; 1E05; # LATIN CAPITAL LETTER B WITH DOT BELOW @@ -1159,6 +1165,90 @@ A7AC; C; 0261; # LATIN CAPITAL LETTER SCRIPT G A7AD; C; 026C; # LATIN CAPITAL LETTER L WITH BELT A7B0; C; 029E; # LATIN CAPITAL LETTER TURNED K A7B1; C; 0287; # LATIN CAPITAL LETTER TURNED T +A7B2; C; 029D; # LATIN CAPITAL LETTER J WITH CROSSED-TAIL +A7B3; C; AB53; # LATIN CAPITAL LETTER CHI +A7B4; C; A7B5; # LATIN CAPITAL LETTER BETA +A7B6; C; A7B7; # LATIN CAPITAL LETTER OMEGA +AB70; C; 13A0; # CHEROKEE SMALL LETTER A +AB71; C; 13A1; # CHEROKEE SMALL LETTER E +AB72; C; 13A2; # CHEROKEE SMALL LETTER I +AB73; C; 13A3; # CHEROKEE SMALL LETTER O +AB74; C; 13A4; # CHEROKEE SMALL LETTER U +AB75; C; 13A5; # CHEROKEE SMALL LETTER V +AB76; C; 13A6; # CHEROKEE SMALL LETTER GA +AB77; C; 13A7; # CHEROKEE SMALL LETTER KA +AB78; C; 13A8; # CHEROKEE SMALL LETTER GE +AB79; C; 13A9; # CHEROKEE SMALL LETTER GI +AB7A; C; 13AA; # CHEROKEE SMALL LETTER GO +AB7B; C; 13AB; # CHEROKEE SMALL LETTER GU +AB7C; C; 13AC; # CHEROKEE SMALL LETTER GV +AB7D; C; 13AD; # CHEROKEE SMALL LETTER HA +AB7E; C; 13AE; # CHEROKEE SMALL LETTER HE +AB7F; C; 13AF; # CHEROKEE SMALL LETTER HI +AB80; C; 13B0; # CHEROKEE SMALL LETTER HO +AB81; C; 13B1; # CHEROKEE SMALL LETTER HU +AB82; C; 13B2; # CHEROKEE SMALL LETTER HV +AB83; C; 13B3; # CHEROKEE SMALL LETTER LA +AB84; C; 13B4; # CHEROKEE SMALL LETTER LE +AB85; C; 13B5; # CHEROKEE SMALL LETTER LI +AB86; C; 13B6; # CHEROKEE SMALL LETTER LO +AB87; C; 13B7; # CHEROKEE SMALL LETTER LU +AB88; C; 13B8; # CHEROKEE SMALL LETTER LV +AB89; C; 13B9; # CHEROKEE SMALL LETTER MA +AB8A; C; 13BA; # CHEROKEE SMALL LETTER ME +AB8B; C; 13BB; # CHEROKEE SMALL LETTER MI +AB8C; C; 13BC; # CHEROKEE SMALL LETTER MO +AB8D; C; 13BD; # CHEROKEE SMALL LETTER MU +AB8E; C; 13BE; # CHEROKEE SMALL LETTER NA +AB8F; C; 13BF; # CHEROKEE SMALL LETTER HNA +AB90; C; 13C0; # CHEROKEE SMALL LETTER NAH +AB91; C; 13C1; # CHEROKEE SMALL LETTER NE +AB92; C; 13C2; # CHEROKEE SMALL LETTER NI +AB93; C; 13C3; # CHEROKEE SMALL LETTER NO +AB94; C; 13C4; # CHEROKEE SMALL LETTER NU +AB95; C; 13C5; # CHEROKEE SMALL LETTER NV +AB96; C; 13C6; # CHEROKEE SMALL LETTER QUA +AB97; C; 13C7; # CHEROKEE SMALL LETTER QUE +AB98; C; 13C8; # CHEROKEE SMALL LETTER QUI +AB99; C; 13C9; # CHEROKEE SMALL LETTER QUO +AB9A; C; 13CA; # CHEROKEE SMALL LETTER QUU +AB9B; C; 13CB; # CHEROKEE SMALL LETTER QUV +AB9C; C; 13CC; # CHEROKEE SMALL LETTER SA +AB9D; C; 13CD; # CHEROKEE SMALL LETTER S +AB9E; C; 13CE; # CHEROKEE SMALL LETTER SE +AB9F; C; 13CF; # CHEROKEE SMALL LETTER SI +ABA0; C; 13D0; # CHEROKEE SMALL LETTER SO +ABA1; C; 13D1; # CHEROKEE SMALL LETTER SU +ABA2; C; 13D2; # CHEROKEE SMALL LETTER SV +ABA3; C; 13D3; # CHEROKEE SMALL LETTER DA +ABA4; C; 13D4; # CHEROKEE SMALL LETTER TA +ABA5; C; 13D5; # CHEROKEE SMALL LETTER DE +ABA6; C; 13D6; # CHEROKEE SMALL LETTER TE +ABA7; C; 13D7; # CHEROKEE SMALL LETTER DI +ABA8; C; 13D8; # CHEROKEE SMALL LETTER TI +ABA9; C; 13D9; # CHEROKEE SMALL LETTER DO +ABAA; C; 13DA; # CHEROKEE SMALL LETTER DU +ABAB; C; 13DB; # CHEROKEE SMALL LETTER DV +ABAC; C; 13DC; # CHEROKEE SMALL LETTER DLA +ABAD; C; 13DD; # CHEROKEE SMALL LETTER TLA +ABAE; C; 13DE; # CHEROKEE SMALL LETTER TLE +ABAF; C; 13DF; # CHEROKEE SMALL LETTER TLI +ABB0; C; 13E0; # CHEROKEE SMALL LETTER TLO +ABB1; C; 13E1; # CHEROKEE SMALL LETTER TLU +ABB2; C; 13E2; # CHEROKEE SMALL LETTER TLV +ABB3; C; 13E3; # CHEROKEE SMALL LETTER TSA +ABB4; C; 13E4; # CHEROKEE SMALL LETTER TSE +ABB5; C; 13E5; # CHEROKEE SMALL LETTER TSI +ABB6; C; 13E6; # CHEROKEE SMALL LETTER TSO +ABB7; C; 13E7; # CHEROKEE SMALL LETTER TSU +ABB8; C; 13E8; # CHEROKEE SMALL LETTER TSV +ABB9; C; 13E9; # CHEROKEE SMALL LETTER WA +ABBA; C; 13EA; # CHEROKEE SMALL LETTER WE +ABBB; C; 13EB; # CHEROKEE SMALL LETTER WI +ABBC; C; 13EC; # CHEROKEE SMALL LETTER WO +ABBD; C; 13ED; # CHEROKEE SMALL LETTER WU +ABBE; C; 13EE; # CHEROKEE SMALL LETTER WV +ABBF; C; 13EF; # CHEROKEE SMALL LETTER YA FB00; F; 0066 0066; # LATIN SMALL LIGATURE FF FB01; F; 0066 0069; # LATIN SMALL LIGATURE FI FB02; F; 0066 006C; # LATIN SMALL LIGATURE FL @@ -1237,6 +1327,57 @@ FF3A; C; FF5A; # FULLWIDTH LATIN CAPITAL LETTER Z 10425; C; 1044D; # DESERET CAPITAL LETTER ENG 10426; C; 1044E; # DESERET CAPITAL LETTER OI 10427; C; 1044F; # DESERET CAPITAL LETTER EW +10C80; C; 10CC0; # OLD HUNGARIAN CAPITAL LETTER A +10C81; C; 10CC1; # OLD HUNGARIAN CAPITAL LETTER AA +10C82; C; 10CC2; # OLD HUNGARIAN CAPITAL LETTER EB +10C83; C; 10CC3; # OLD HUNGARIAN CAPITAL LETTER AMB +10C84; C; 10CC4; # OLD HUNGARIAN CAPITAL LETTER EC +10C85; C; 10CC5; # OLD HUNGARIAN CAPITAL LETTER ENC +10C86; C; 10CC6; # OLD HUNGARIAN CAPITAL LETTER ECS +10C87; C; 10CC7; # OLD HUNGARIAN CAPITAL LETTER ED +10C88; C; 10CC8; # OLD HUNGARIAN CAPITAL LETTER AND +10C89; C; 10CC9; # OLD HUNGARIAN CAPITAL LETTER E +10C8A; C; 10CCA; # OLD HUNGARIAN CAPITAL LETTER CLOSE E +10C8B; C; 10CCB; # OLD HUNGARIAN CAPITAL LETTER EE +10C8C; C; 10CCC; # OLD HUNGARIAN CAPITAL LETTER EF +10C8D; C; 10CCD; # OLD HUNGARIAN CAPITAL LETTER EG +10C8E; C; 10CCE; # OLD HUNGARIAN CAPITAL LETTER EGY +10C8F; C; 10CCF; # OLD HUNGARIAN CAPITAL LETTER EH +10C90; C; 10CD0; # OLD HUNGARIAN CAPITAL LETTER I +10C91; C; 10CD1; # OLD HUNGARIAN CAPITAL LETTER II +10C92; C; 10CD2; # OLD HUNGARIAN CAPITAL LETTER EJ +10C93; C; 10CD3; # OLD HUNGARIAN CAPITAL LETTER EK +10C94; C; 10CD4; # OLD HUNGARIAN CAPITAL LETTER AK +10C95; C; 10CD5; # OLD HUNGARIAN CAPITAL LETTER UNK +10C96; C; 10CD6; # OLD HUNGARIAN CAPITAL LETTER EL +10C97; C; 10CD7; # OLD HUNGARIAN CAPITAL LETTER ELY +10C98; C; 10CD8; # OLD HUNGARIAN CAPITAL LETTER EM +10C99; C; 10CD9; # OLD HUNGARIAN CAPITAL LETTER EN +10C9A; C; 10CDA; # OLD HUNGARIAN CAPITAL LETTER ENY +10C9B; C; 10CDB; # OLD HUNGARIAN CAPITAL LETTER O +10C9C; C; 10CDC; # OLD HUNGARIAN CAPITAL LETTER OO +10C9D; C; 10CDD; # OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG OE +10C9E; C; 10CDE; # OLD HUNGARIAN CAPITAL LETTER RUDIMENTA OE +10C9F; C; 10CDF; # OLD HUNGARIAN CAPITAL LETTER OEE +10CA0; C; 10CE0; # OLD HUNGARIAN CAPITAL LETTER EP +10CA1; C; 10CE1; # OLD HUNGARIAN CAPITAL LETTER EMP +10CA2; C; 10CE2; # OLD HUNGARIAN CAPITAL LETTER ER +10CA3; C; 10CE3; # OLD HUNGARIAN CAPITAL LETTER SHORT ER +10CA4; C; 10CE4; # OLD HUNGARIAN CAPITAL LETTER ES +10CA5; C; 10CE5; # OLD HUNGARIAN CAPITAL LETTER ESZ +10CA6; C; 10CE6; # OLD HUNGARIAN CAPITAL LETTER ET +10CA7; C; 10CE7; # OLD HUNGARIAN CAPITAL LETTER ENT +10CA8; C; 10CE8; # OLD HUNGARIAN CAPITAL LETTER ETY +10CA9; C; 10CE9; # OLD HUNGARIAN CAPITAL LETTER ECH +10CAA; C; 10CEA; # OLD HUNGARIAN CAPITAL LETTER U +10CAB; C; 10CEB; # OLD HUNGARIAN CAPITAL LETTER UU +10CAC; C; 10CEC; # OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG UE +10CAD; C; 10CED; # OLD HUNGARIAN CAPITAL LETTER RUDIMENTA UE +10CAE; C; 10CEE; # OLD HUNGARIAN CAPITAL LETTER EV +10CAF; C; 10CEF; # OLD HUNGARIAN CAPITAL LETTER EZ +10CB0; C; 10CF0; # OLD HUNGARIAN CAPITAL LETTER EZS +10CB1; C; 10CF1; # OLD HUNGARIAN CAPITAL LETTER ENT-SHAPED SIGN +10CB2; C; 10CF2; # OLD HUNGARIAN CAPITAL LETTER US 118A0; C; 118C0; # WARANG CITI CAPITAL LETTER NGAA 118A1; C; 118C1; # WARANG CITI CAPITAL LETTER A 118A2; C; 118C2; # WARANG CITI CAPITAL LETTER WI diff --git a/lib/unicore/CompositionExclusions.txt b/lib/unicore/CompositionExclusions.txt index d618e44..a4324b8 100644 --- a/lib/unicore/CompositionExclusions.txt +++ b/lib/unicore/CompositionExclusions.txt @@ -1,5 +1,5 @@ -# CompositionExclusions-7.0.0.txt -# Date: 2014-01-24, 15:00:00 GMT [KW, LI] +# CompositionExclusions-8.0.0.txt +# Date: 2015-02-19, 00:30:00 GMT [KW, LI] # # This file lists the characters for the Composition Exclusion Table # defined in UAX #15, Unicode Normalization Forms. @@ -7,7 +7,7 @@ # This file is a normative contributory data file in the # Unicode Character Database. # -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # # For more information, see diff --git a/lib/unicore/DAge.txt b/lib/unicore/DAge.txt index 134dbbb..f1b0add 100644 --- a/lib/unicore/DAge.txt +++ b/lib/unicore/DAge.txt @@ -1,8 +1,8 @@ -# DerivedAge-7.0.0.txt -# Date: 2014-05-28, 18:42:04 GMT [MD] +# DerivedAge-8.0.0.txt +# Date: 2015-02-13, 13:30:18 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ # @@ -1467,4 +1467,72 @@ FE27..FE2D ; 7.0 # [7] COMBINING LIGATURE LEFT HALF BELOW..COMBINING CONJOI # Total code points: 2834 +# ================================================ + +# Age=V8_0 + +# Newly assigned in Unicode 8.0.0 (June, 2015) + +08B3..08B4 ; 8.0 # [2] ARABIC LETTER AIN WITH THREE DOTS BELOW..ARABIC LETTER KAF WITH DOT BELOW +08E3 ; 8.0 # ARABIC TURNED DAMMA BELOW +0AF9 ; 8.0 # GUJARATI LETTER ZHA +0C5A ; 8.0 # TELUGU LETTER RRRA +0D5F ; 8.0 # MALAYALAM LETTER ARCHAIC II +13F5 ; 8.0 # CHEROKEE LETTER MV +13F8..13FD ; 8.0 # [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV +20BE ; 8.0 # LARI SIGN +218A..218B ; 8.0 # [2] TURNED DIGIT TWO..TURNED DIGIT THREE +2BEC..2BEF ; 8.0 # [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS +9FCD..9FD5 ; 8.0 # [9] CJK UNIFIED IDEOGRAPH-9FCD..CJK UNIFIED IDEOGRAPH-9FD5 +A69E ; 8.0 # COMBINING CYRILLIC LETTER EF +A78F ; 8.0 # LATIN LETTER SINOLOGICAL DOT +A7B2..A7B7 ; 8.0 # [6] LATIN CAPITAL LETTER J WITH CROSSED-TAIL..LATIN SMALL LETTER OMEGA +A8FC..A8FD ; 8.0 # [2] DEVANAGARI SIGN SIDDHAM..DEVANAGARI JAIN OM +AB60..AB63 ; 8.0 # [4] LATIN SMALL LETTER SAKHA YAT..LATIN SMALL LETTER UO +AB70..ABBF ; 8.0 # [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA +FE2E..FE2F ; 8.0 # [2] COMBINING CYRILLIC TITLO LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF +108E0..108F2 ; 8.0 # [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F4..108F5 ; 8.0 # [2] HATRAN LETTER SHIN..HATRAN LETTER TAW +108FB..108FF ; 8.0 # [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED +109BC..109BD ; 8.0 # [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF +109C0..109CF ; 8.0 # [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY +109D2..109FF ; 8.0 # [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS +10C80..10CB2 ; 8.0 # [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CC0..10CF2 ; 8.0 # [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US +10CFA..10CFF ; 8.0 # [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND +111C9..111CC ; 8.0 # [4] SHARADA SANDHI MARK..SHARADA EXTRA SHORT VOWEL MARK +111DB..111DF ; 8.0 # [5] SHARADA SIGN SIDDHAM..SHARADA SECTION MARK-2 +11280..11286 ; 8.0 # [7] MULTANI LETTER A..MULTANI LETTER GA +11288 ; 8.0 # MULTANI LETTER GHA +1128A..1128D ; 8.0 # [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D ; 8.0 # [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A9 ; 8.0 # [11] MULTANI LETTER BHA..MULTANI SECTION MARK +11300 ; 8.0 # GRANTHA SIGN COMBINING ANUSVARA ABOVE +11350 ; 8.0 # GRANTHA OM +115CA..115DD ; 8.0 # [20] SIDDHAM SECTION MARK WITH TRIDENT AND U-SHAPED ORNAMENTS..SIDDHAM VOWEL SIGN ALTERNATE UU +11700..11719 ; 8.0 # [26] AHOM LETTER KA..AHOM LETTER JHA +1171D..1172B ; 8.0 # [15] AHOM CONSONANT SIGN MEDIAL LA..AHOM SIGN KILLER +11730..1173F ; 8.0 # [16] AHOM DIGIT ZERO..AHOM SYMBOL VI +12399 ; 8.0 # CUNEIFORM SIGN U U +12480..12543 ; 8.0 # [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU +14400..14646 ; 8.0 # [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 +1D1DE..1D1E8 ; 8.0 # [11] MUSICAL SYMBOL KIEVAN C CLEF..MUSICAL SYMBOL KIEVAN FLAT SIGN +1D800..1DA8B ; 8.0 # [652] SIGNWRITING HAND-FIST INDEX..SIGNWRITING PARENTHESIS +1DA9B..1DA9F ; 8.0 # [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF ; 8.0 # [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 +1F32D..1F32F ; 8.0 # [3] HOT DOG..BURRITO +1F37E..1F37F ; 8.0 # [2] BOTTLE WITH POPPING CORK..POPCORN +1F3CF..1F3D3 ; 8.0 # [5] CRICKET BAT AND BALL..TABLE TENNIS PADDLE AND BALL +1F3F8..1F3FF ; 8.0 # [8] BADMINTON RACQUET AND SHUTTLECOCK..EMOJI MODIFIER FITZPATRICK TYPE-6 +1F4FF ; 8.0 # PRAYER BEADS +1F54B..1F54F ; 8.0 # [5] KAABA..BOWL OF HYGIEIA +1F643..1F644 ; 8.0 # [2] UPSIDE-DOWN FACE..FACE WITH ROLLING EYES +1F6D0 ; 8.0 # PLACE OF WORSHIP +1F910..1F918 ; 8.0 # [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS +1F980..1F984 ; 8.0 # [5] CRAB..UNICORN FACE +1F9C0 ; 8.0 # CHEESE WEDGE +2B820..2CEA1 ; 8.0 # [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 + +# Total code points: 7716 + # EOF diff --git a/lib/unicore/DCoreProperties.txt b/lib/unicore/DCoreProperties.txt index 225d3d1..35d51e5 100644 --- a/lib/unicore/DCoreProperties.txt +++ b/lib/unicore/DCoreProperties.txt @@ -1,8 +1,8 @@ -# DerivedCoreProperties-7.0.0.txt -# Date: 2014-02-19, 15:51:15 GMT [MD] +# DerivedCoreProperties-8.0.0.txt +# Date: 2015-03-11, 22:29:21 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ @@ -339,8 +339,8 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A 0828 ; Alphabetic # Lm SAMARITAN MODIFIER LETTER I 0829..082C ; Alphabetic # Mn [4] SAMARITAN VOWEL SIGN LONG I..SAMARITAN VOWEL SIGN SUKUN 0840..0858 ; Alphabetic # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN -08A0..08B2 ; Alphabetic # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE -08E4..08E9 ; Alphabetic # Mn [6] ARABIC CURLY FATHA..ARABIC CURLY KASRATAN +08A0..08B4 ; Alphabetic # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW +08E3..08E9 ; Alphabetic # Mn [7] ARABIC TURNED DAMMA BELOW..ARABIC CURLY KASRATAN 08F0..0902 ; Alphabetic # Mn [19] ARABIC OPEN FATHATAN..DEVANAGARI SIGN ANUSVARA 0903 ; Alphabetic # Mc DEVANAGARI SIGN VISARGA 0904..0939 ; Alphabetic # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA @@ -412,6 +412,7 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A 0AD0 ; Alphabetic # Lo GUJARATI OM 0AE0..0AE1 ; Alphabetic # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL 0AE2..0AE3 ; Alphabetic # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL +0AF9 ; Alphabetic # Lo GUJARATI LETTER ZHA 0B01 ; Alphabetic # Mn ORIYA SIGN CANDRABINDU 0B02..0B03 ; Alphabetic # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA 0B05..0B0C ; Alphabetic # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L @@ -463,7 +464,7 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A 0C46..0C48 ; Alphabetic # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI 0C4A..0C4C ; Alphabetic # Mn [3] TELUGU VOWEL SIGN O..TELUGU VOWEL SIGN AU 0C55..0C56 ; Alphabetic # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK -0C58..0C59 ; Alphabetic # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA +0C58..0C5A ; Alphabetic # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA 0C60..0C61 ; Alphabetic # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL 0C62..0C63 ; Alphabetic # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL 0C81 ; Alphabetic # Mn KANNADA SIGN CANDRABINDU @@ -498,7 +499,7 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A 0D4A..0D4C ; Alphabetic # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU 0D4E ; Alphabetic # Lo MALAYALAM LETTER DOT REPH 0D57 ; Alphabetic # Mc MALAYALAM AU LENGTH MARK -0D60..0D61 ; Alphabetic # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL +0D5F..0D61 ; Alphabetic # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL 0D62..0D63 ; Alphabetic # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL 0D7A..0D7F ; Alphabetic # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K 0D82..0D83 ; Alphabetic # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA @@ -599,7 +600,8 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A 1318..135A ; Alphabetic # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA 135F ; Alphabetic # Mn ETHIOPIC COMBINING GEMINATION MARK 1380..138F ; Alphabetic # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE -13A0..13F4 ; Alphabetic # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV +13A0..13F5 ; Alphabetic # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV +13F8..13FD ; Alphabetic # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1401..166C ; Alphabetic # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA 166F..167F ; Alphabetic # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W 1681..169A ; Alphabetic # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH @@ -642,9 +644,7 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A 1950..196D ; Alphabetic # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI 1970..1974 ; Alphabetic # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 1980..19AB ; Alphabetic # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA -19B0..19C0 ; Alphabetic # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY -19C1..19C7 ; Alphabetic # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B -19C8..19C9 ; Alphabetic # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 +19B0..19C9 ; Alphabetic # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 1A00..1A16 ; Alphabetic # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA 1A17..1A18 ; Alphabetic # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U 1A19..1A1A ; Alphabetic # Mc [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O @@ -789,7 +789,7 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A 31A0..31BA ; Alphabetic # Lo [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY 31F0..31FF ; Alphabetic # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO 3400..4DB5 ; Alphabetic # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 -4E00..9FCC ; Alphabetic # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC +4E00..9FD5 ; Alphabetic # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 A000..A014 ; Alphabetic # Lo [21] YI SYLLABLE IT..YI SYLLABLE E A015 ; Alphabetic # Lm YI SYLLABLE WU A016..A48C ; Alphabetic # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR @@ -805,7 +805,7 @@ A674..A67B ; Alphabetic # Mn [8] COMBINING CYRILLIC LETTER UKRAINIAN IE..CO A67F ; Alphabetic # Lm CYRILLIC PAYEROK A680..A69B ; Alphabetic # L& [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O A69C..A69D ; Alphabetic # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN -A69F ; Alphabetic # Mn COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F ; Alphabetic # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E A6A0..A6E5 ; Alphabetic # Lo [70] BAMUM LETTER A..BAMUM LETTER KI A6E6..A6EF ; Alphabetic # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM A717..A71F ; Alphabetic # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK @@ -814,8 +814,9 @@ A770 ; Alphabetic # Lm MODIFIER LETTER US A771..A787 ; Alphabetic # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T A788 ; Alphabetic # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT A78B..A78E ; Alphabetic # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT +A78F ; Alphabetic # Lo LATIN LETTER SINOLOGICAL DOT A790..A7AD ; Alphabetic # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; Alphabetic # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B7 ; Alphabetic # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA A7F7 ; Alphabetic # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I A7F8..A7F9 ; Alphabetic # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE A7FA ; Alphabetic # L& LATIN LETTER SMALL CAPITAL TURNED M @@ -832,6 +833,7 @@ A882..A8B3 ; Alphabetic # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA A8B4..A8C3 ; Alphabetic # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU A8F2..A8F7 ; Alphabetic # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA A8FB ; Alphabetic # Lo DEVANAGARI HEADSTROKE +A8FD ; Alphabetic # Lo DEVANAGARI JAIN OM A90A..A925 ; Alphabetic # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO A926..A92A ; Alphabetic # Mn [5] KAYAH LI VOWEL UE..KAYAH LI VOWEL O A930..A946 ; Alphabetic # Lo [23] REJANG LETTER KA..REJANG LETTER A @@ -892,7 +894,8 @@ AB20..AB26 ; Alphabetic # Lo [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE AB28..AB2E ; Alphabetic # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO AB30..AB5A ; Alphabetic # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG AB5C..AB5F ; Alphabetic # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB64..AB65 ; Alphabetic # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA +AB60..AB65 ; Alphabetic # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA +AB70..ABBF ; Alphabetic # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA ABC0..ABE2 ; Alphabetic # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM ABE3..ABE4 ; Alphabetic # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP ABE5 ; Alphabetic # Mn MEETEI MAYEK VOWEL SIGN ANAP @@ -968,6 +971,8 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG 1083F..10855 ; Alphabetic # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW 10860..10876 ; Alphabetic # Lo [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW 10880..1089E ; Alphabetic # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW +108E0..108F2 ; Alphabetic # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F4..108F5 ; Alphabetic # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW 10900..10915 ; Alphabetic # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU 10920..10939 ; Alphabetic # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C 10980..109B7 ; Alphabetic # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA @@ -988,6 +993,8 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG 10B60..10B72 ; Alphabetic # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW 10B80..10B91 ; Alphabetic # Lo [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW 10C00..10C48 ; Alphabetic # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH +10C80..10CB2 ; Alphabetic # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CC0..10CF2 ; Alphabetic # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US 11000 ; Alphabetic # Mc BRAHMI SIGN CANDRABINDU 11001 ; Alphabetic # Mn BRAHMI SIGN ANUSVARA 11002 ; Alphabetic # Mc BRAHMI SIGN VISARGA @@ -1014,6 +1021,7 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG 111BF ; Alphabetic # Mc SHARADA VOWEL SIGN AU 111C1..111C4 ; Alphabetic # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM 111DA ; Alphabetic # Lo SHARADA EKAM +111DC ; Alphabetic # Lo SHARADA HEADSTROKE 11200..11211 ; Alphabetic # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA 11213..1122B ; Alphabetic # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA 1122C..1122E ; Alphabetic # Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II @@ -1021,11 +1029,16 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG 11232..11233 ; Alphabetic # Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU 11234 ; Alphabetic # Mn KHOJKI SIGN ANUSVARA 11237 ; Alphabetic # Mn KHOJKI SIGN SHADDA +11280..11286 ; Alphabetic # Lo [7] MULTANI LETTER A..MULTANI LETTER GA +11288 ; Alphabetic # Lo MULTANI LETTER GHA +1128A..1128D ; Alphabetic # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D ; Alphabetic # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8 ; Alphabetic # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA 112B0..112DE ; Alphabetic # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA 112DF ; Alphabetic # Mn KHUDAWADI SIGN ANUSVARA 112E0..112E2 ; Alphabetic # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II 112E3..112E8 ; Alphabetic # Mn [6] KHUDAWADI VOWEL SIGN U..KHUDAWADI VOWEL SIGN AU -11301 ; Alphabetic # Mn GRANTHA SIGN CANDRABINDU +11300..11301 ; Alphabetic # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 11302..11303 ; Alphabetic # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA 11305..1130C ; Alphabetic # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L 1130F..11310 ; Alphabetic # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI @@ -1039,6 +1052,7 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG 11341..11344 ; Alphabetic # Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR 11347..11348 ; Alphabetic # Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI 1134B..1134C ; Alphabetic # Mc [2] GRANTHA VOWEL SIGN OO..GRANTHA VOWEL SIGN AU +11350 ; Alphabetic # Lo GRANTHA OM 11357 ; Alphabetic # Mc GRANTHA AU LENGTH MARK 1135D..11361 ; Alphabetic # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL 11362..11363 ; Alphabetic # Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL @@ -1058,6 +1072,8 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG 115B8..115BB ; Alphabetic # Mc [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU 115BC..115BD ; Alphabetic # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 115BE ; Alphabetic # Mc SIDDHAM SIGN VISARGA +115D8..115DB ; Alphabetic # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U +115DC..115DD ; Alphabetic # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11600..1162F ; Alphabetic # Lo [48] MODI LETTER A..MODI LETTER LLA 11630..11632 ; Alphabetic # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II 11633..1163A ; Alphabetic # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI @@ -1072,12 +1088,20 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG 116AD ; Alphabetic # Mn TAKRI VOWEL SIGN AA 116AE..116AF ; Alphabetic # Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II 116B0..116B5 ; Alphabetic # Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU +11700..11719 ; Alphabetic # Lo [26] AHOM LETTER KA..AHOM LETTER JHA +1171D..1171F ; Alphabetic # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11720..11721 ; Alphabetic # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11722..11725 ; Alphabetic # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11726 ; Alphabetic # Mc AHOM VOWEL SIGN E +11727..1172A ; Alphabetic # Mn [4] AHOM VOWEL SIGN AW..AHOM VOWEL SIGN AM 118A0..118DF ; Alphabetic # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO 118FF ; Alphabetic # Lo WARANG CITI OM 11AC0..11AF8 ; Alphabetic # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -12000..12398 ; Alphabetic # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME +12000..12399 ; Alphabetic # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U 12400..1246E ; Alphabetic # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM +12480..12543 ; Alphabetic # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU 13000..1342E ; Alphabetic # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 +14400..14646 ; Alphabetic # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 16800..16A38 ; Alphabetic # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ 16A40..16A5E ; Alphabetic # Lo [31] MRO LETTER TA..MRO LETTER TEK 16AD0..16AED ; Alphabetic # Lo [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I @@ -1166,9 +1190,10 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG 20000..2A6D6 ; Alphabetic # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 2A700..2B734 ; Alphabetic # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 2B740..2B81D ; Alphabetic # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D +2B820..2CEA1 ; Alphabetic # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 2F800..2FA1D ; Alphabetic # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D -# Total code points: 104077 +# Total code points: 110943 # ================================================ @@ -1452,6 +1477,7 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG 052D ; Lowercase # L& CYRILLIC SMALL LETTER DCHE 052F ; Lowercase # L& CYRILLIC SMALL LETTER EL WITH DESCENDER 0561..0587 ; Lowercase # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN +13F8..13FD ; Lowercase # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1D00..1D2B ; Lowercase # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL 1D2C..1D6A ; Lowercase # Lm [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI 1D6B..1D77 ; Lowercase # L& [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G @@ -1782,15 +1808,19 @@ A7A3 ; Lowercase # L& LATIN SMALL LETTER K WITH OBLIQUE STROKE A7A5 ; Lowercase # L& LATIN SMALL LETTER N WITH OBLIQUE STROKE A7A7 ; Lowercase # L& LATIN SMALL LETTER R WITH OBLIQUE STROKE A7A9 ; Lowercase # L& LATIN SMALL LETTER S WITH OBLIQUE STROKE +A7B5 ; Lowercase # L& LATIN SMALL LETTER BETA +A7B7 ; Lowercase # L& LATIN SMALL LETTER OMEGA A7F8..A7F9 ; Lowercase # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE A7FA ; Lowercase # L& LATIN LETTER SMALL CAPITAL TURNED M AB30..AB5A ; Lowercase # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG AB5C..AB5F ; Lowercase # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB64..AB65 ; Lowercase # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA +AB60..AB65 ; Lowercase # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA +AB70..ABBF ; Lowercase # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA FB00..FB06 ; Lowercase # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST FB13..FB17 ; Lowercase # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH FF41..FF5A ; Lowercase # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z 10428..1044F ; Lowercase # L& [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW +10CC0..10CF2 ; Lowercase # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US 118C0..118DF ; Lowercase # L& [32] WARANG CITI SMALL LETTER NGAA..WARANG CITI SMALL LETTER VIYO 1D41A..1D433 ; Lowercase # L& [26] MATHEMATICAL BOLD SMALL A..MATHEMATICAL BOLD SMALL Z 1D44E..1D454 ; Lowercase # L& [7] MATHEMATICAL ITALIC SMALL A..MATHEMATICAL ITALIC SMALL G @@ -1821,7 +1851,7 @@ FF41..FF5A ; Lowercase # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH L 1D7C4..1D7C9 ; Lowercase # L& [6] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL 1D7CB ; Lowercase # L& MATHEMATICAL BOLD SMALL DIGAMMA -# Total code points: 2030 +# Total code points: 2173 # ================================================ @@ -2103,6 +2133,7 @@ FF41..FF5A ; Lowercase # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH L 10A0..10C5 ; Uppercase # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE 10C7 ; Uppercase # L& GEORGIAN CAPITAL LETTER YN 10CD ; Uppercase # L& GEORGIAN CAPITAL LETTER AEN +13A0..13F5 ; Uppercase # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV 1E00 ; Uppercase # L& LATIN CAPITAL LETTER A WITH RING BELOW 1E02 ; Uppercase # L& LATIN CAPITAL LETTER B WITH DOT ABOVE 1E04 ; Uppercase # L& LATIN CAPITAL LETTER B WITH DOT BELOW @@ -2417,9 +2448,11 @@ A7A4 ; Uppercase # L& LATIN CAPITAL LETTER N WITH OBLIQUE STROKE A7A6 ; Uppercase # L& LATIN CAPITAL LETTER R WITH OBLIQUE STROKE A7A8 ; Uppercase # L& LATIN CAPITAL LETTER S WITH OBLIQUE STROKE A7AA..A7AD ; Uppercase # L& [4] LATIN CAPITAL LETTER H WITH HOOK..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; Uppercase # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B4 ; Uppercase # L& [5] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER BETA +A7B6 ; Uppercase # L& LATIN CAPITAL LETTER OMEGA FF21..FF3A ; Uppercase # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z 10400..10427 ; Uppercase # L& [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW +10C80..10CB2 ; Uppercase # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US 118A0..118BF ; Uppercase # L& [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO 1D400..1D419 ; Uppercase # L& [26] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL BOLD CAPITAL Z 1D434..1D44D ; Uppercase # L& [26] MATHEMATICAL ITALIC CAPITAL A..MATHEMATICAL ITALIC CAPITAL Z @@ -2456,7 +2489,7 @@ FF21..FF3A ; Uppercase # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH 1F150..1F169 ; Uppercase # So [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z 1F170..1F189 ; Uppercase # So [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z -# Total code points: 1610 +# Total code points: 1751 # ================================================ @@ -2496,6 +2529,8 @@ FF21..FF3A ; Uppercase # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH 10A0..10C5 ; Cased # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE 10C7 ; Cased # L& GEORGIAN CAPITAL LETTER YN 10CD ; Cased # L& GEORGIAN CAPITAL LETTER AEN +13A0..13F5 ; Cased # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV +13F8..13FD ; Cased # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1D00..1D2B ; Cased # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL 1D2C..1D6A ; Cased # Lm [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI 1D6B..1D77 ; Cased # L& [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G @@ -2559,17 +2594,20 @@ A770 ; Cased # Lm MODIFIER LETTER US A771..A787 ; Cased # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T A78B..A78E ; Cased # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT A790..A7AD ; Cased # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; Cased # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B7 ; Cased # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA A7F8..A7F9 ; Cased # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE A7FA ; Cased # L& LATIN LETTER SMALL CAPITAL TURNED M AB30..AB5A ; Cased # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG AB5C..AB5F ; Cased # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB64..AB65 ; Cased # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA +AB60..AB65 ; Cased # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA +AB70..ABBF ; Cased # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA FB00..FB06 ; Cased # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST FB13..FB17 ; Cased # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH FF21..FF3A ; Cased # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z FF41..FF5A ; Cased # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z 10400..1044F ; Cased # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW +10C80..10CB2 ; Cased # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CC0..10CF2 ; Cased # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US 118A0..118DF ; Cased # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO 1D400..1D454 ; Cased # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G 1D456..1D49C ; Cased # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A @@ -2605,7 +2643,7 @@ FF41..FF5A ; Cased # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN 1F150..1F169 ; Cased # So [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z 1F170..1F189 ; Cased # So [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z -# Total code points: 3671 +# Total code points: 3955 # ================================================ @@ -2678,7 +2716,7 @@ FF41..FF5A ; Cased # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN 0828 ; Case_Ignorable # Lm SAMARITAN MODIFIER LETTER I 0829..082D ; Case_Ignorable # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA 0859..085B ; Case_Ignorable # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK -08E4..0902 ; Case_Ignorable # Mn [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA +08E3..0902 ; Case_Ignorable # Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA 093A ; Case_Ignorable # Mn DEVANAGARI VOWEL SIGN OE 093C ; Case_Ignorable # Mn DEVANAGARI SIGN NUKTA 0941..0948 ; Case_Ignorable # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI @@ -2868,7 +2906,7 @@ A670..A672 ; Case_Ignorable # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN.. A674..A67D ; Case_Ignorable # Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK A67F ; Case_Ignorable # Lm CYRILLIC PAYEROK A69C..A69D ; Case_Ignorable # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN -A69F ; Case_Ignorable # Mn COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F ; Case_Ignorable # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E A6F0..A6F1 ; Case_Ignorable # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS A700..A716 ; Case_Ignorable # Sk [23] MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR A717..A71F ; Case_Ignorable # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK @@ -2917,7 +2955,7 @@ FB1E ; Case_Ignorable # Mn HEBREW POINT JUDEO-SPANISH VARIKA FBB2..FBC1 ; Case_Ignorable # Sk [16] ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL SMALL TAH BELOW FE00..FE0F ; Case_Ignorable # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 FE13 ; Case_Ignorable # Po PRESENTATION FORM FOR VERTICAL COLON -FE20..FE2D ; Case_Ignorable # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW +FE20..FE2F ; Case_Ignorable # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF FE52 ; Case_Ignorable # Po SMALL FULL STOP FE55 ; Case_Ignorable # Po SMALL COLON FEFF ; Case_Ignorable # Cf ZERO WIDTH NO-BREAK SPACE @@ -2951,12 +2989,13 @@ FFF9..FFFB ; Case_Ignorable # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI 11173 ; Case_Ignorable # Mn MAHAJANI SIGN NUKTA 11180..11181 ; Case_Ignorable # Mn [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA 111B6..111BE ; Case_Ignorable # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O +111CA..111CC ; Case_Ignorable # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK 1122F..11231 ; Case_Ignorable # Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI 11234 ; Case_Ignorable # Mn KHOJKI SIGN ANUSVARA 11236..11237 ; Case_Ignorable # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA 112DF ; Case_Ignorable # Mn KHUDAWADI SIGN ANUSVARA 112E3..112EA ; Case_Ignorable # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA -11301 ; Case_Ignorable # Mn GRANTHA SIGN CANDRABINDU +11300..11301 ; Case_Ignorable # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 1133C ; Case_Ignorable # Mn GRANTHA SIGN NUKTA 11340 ; Case_Ignorable # Mn GRANTHA VOWEL SIGN II 11366..1136C ; Case_Ignorable # Mn [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX @@ -2968,6 +3007,7 @@ FFF9..FFFB ; Case_Ignorable # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI 115B2..115B5 ; Case_Ignorable # Mn [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR 115BC..115BD ; Case_Ignorable # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 115BF..115C0 ; Case_Ignorable # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA +115DC..115DD ; Case_Ignorable # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11633..1163A ; Case_Ignorable # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI 1163D ; Case_Ignorable # Mn MODI SIGN ANUSVARA 1163F..11640 ; Case_Ignorable # Mn [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA @@ -2975,6 +3015,9 @@ FFF9..FFFB ; Case_Ignorable # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI 116AD ; Case_Ignorable # Mn TAKRI VOWEL SIGN AA 116B0..116B5 ; Case_Ignorable # Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU 116B7 ; Case_Ignorable # Mn TAKRI SIGN NUKTA +1171D..1171F ; Case_Ignorable # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11722..11725 ; Case_Ignorable # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11727..1172B ; Case_Ignorable # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER 16AF0..16AF4 ; Case_Ignorable # Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE 16B30..16B36 ; Case_Ignorable # Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM 16B40..16B43 ; Case_Ignorable # Lm [4] PAHAWH HMONG SIGN VOS SEEV..PAHAWH HMONG SIGN IB YAM @@ -2988,12 +3031,19 @@ FFF9..FFFB ; Case_Ignorable # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI 1D185..1D18B ; Case_Ignorable # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE 1D1AA..1D1AD ; Case_Ignorable # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO 1D242..1D244 ; Case_Ignorable # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME +1DA00..1DA36 ; Case_Ignorable # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN +1DA3B..1DA6C ; Case_Ignorable # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT +1DA75 ; Case_Ignorable # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA84 ; Case_Ignorable # Mn SIGNWRITING LOCATION HEAD NECK +1DA9B..1DA9F ; Case_Ignorable # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF ; Case_Ignorable # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 1E8D0..1E8D6 ; Case_Ignorable # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS +1F3FB..1F3FF ; Case_Ignorable # Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6 E0001 ; Case_Ignorable # Cf LANGUAGE TAG E0020..E007F ; Case_Ignorable # Cf [96] TAG SPACE..CANCEL TAG E0100..E01EF ; Case_Ignorable # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 -# Total code points: 1961 +# Total code points: 2115 # ================================================ @@ -3276,6 +3326,7 @@ E0100..E01EF ; Case_Ignorable # Mn [240] VARIATION SELECTOR-17..VARIATION SELEC 10A0..10C5 ; Changes_When_Lowercased # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE 10C7 ; Changes_When_Lowercased # L& GEORGIAN CAPITAL LETTER YN 10CD ; Changes_When_Lowercased # L& GEORGIAN CAPITAL LETTER AEN +13A0..13F5 ; Changes_When_Lowercased # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV 1E00 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH RING BELOW 1E02 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER B WITH DOT ABOVE 1E04 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER B WITH DOT BELOW @@ -3583,12 +3634,14 @@ A7A4 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER N WITH O A7A6 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER R WITH OBLIQUE STROKE A7A8 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER S WITH OBLIQUE STROKE A7AA..A7AD ; Changes_When_Lowercased # L& [4] LATIN CAPITAL LETTER H WITH HOOK..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B4 ; Changes_When_Lowercased # L& [5] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER BETA +A7B6 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER OMEGA FF21..FF3A ; Changes_When_Lowercased # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z 10400..10427 ; Changes_When_Lowercased # L& [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW +10C80..10CB2 ; Changes_When_Lowercased # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US 118A0..118BF ; Changes_When_Lowercased # L& [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO -# Total code points: 1092 +# Total code points: 1233 # ================================================ @@ -3757,7 +3810,7 @@ FF21..FF3A ; Changes_When_Lowercased # L& [26] FULLWIDTH LATIN CAPITAL LETTE 0283 ; Changes_When_Uppercased # L& LATIN SMALL LETTER ESH 0287..028C ; Changes_When_Uppercased # L& [6] LATIN SMALL LETTER TURNED T..LATIN SMALL LETTER TURNED V 0292 ; Changes_When_Uppercased # L& LATIN SMALL LETTER EZH -029E ; Changes_When_Uppercased # L& LATIN SMALL LETTER TURNED K +029D..029E ; Changes_When_Uppercased # L& [2] LATIN SMALL LETTER J WITH CROSSED-TAIL..LATIN SMALL LETTER TURNED K 0345 ; Changes_When_Uppercased # Mn COMBINING GREEK YPOGEGRAMMENI 0371 ; Changes_When_Uppercased # L& GREEK SMALL LETTER HETA 0373 ; Changes_When_Uppercased # L& GREEK SMALL LETTER ARCHAIC SAMPI @@ -3883,6 +3936,7 @@ FF21..FF3A ; Changes_When_Lowercased # L& [26] FULLWIDTH LATIN CAPITAL LETTE 052D ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER DCHE 052F ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER EL WITH DESCENDER 0561..0587 ; Changes_When_Uppercased # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN +13F8..13FD ; Changes_When_Uppercased # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1D79 ; Changes_When_Uppercased # L& LATIN SMALL LETTER INSULAR G 1D7D ; Changes_When_Uppercased # L& LATIN SMALL LETTER P WITH STROKE 1E01 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH RING BELOW @@ -4191,13 +4245,18 @@ A7A3 ; Changes_When_Uppercased # L& LATIN SMALL LETTER K WITH OBL A7A5 ; Changes_When_Uppercased # L& LATIN SMALL LETTER N WITH OBLIQUE STROKE A7A7 ; Changes_When_Uppercased # L& LATIN SMALL LETTER R WITH OBLIQUE STROKE A7A9 ; Changes_When_Uppercased # L& LATIN SMALL LETTER S WITH OBLIQUE STROKE +A7B5 ; Changes_When_Uppercased # L& LATIN SMALL LETTER BETA +A7B7 ; Changes_When_Uppercased # L& LATIN SMALL LETTER OMEGA +AB53 ; Changes_When_Uppercased # L& LATIN SMALL LETTER CHI +AB70..ABBF ; Changes_When_Uppercased # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA FB00..FB06 ; Changes_When_Uppercased # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST FB13..FB17 ; Changes_When_Uppercased # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH FF41..FF5A ; Changes_When_Uppercased # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z 10428..1044F ; Changes_When_Uppercased # L& [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW +10CC0..10CF2 ; Changes_When_Uppercased # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US 118C0..118DF ; Changes_When_Uppercased # L& [32] WARANG CITI SMALL LETTER NGAA..WARANG CITI SMALL LETTER VIYO -# Total code points: 1175 +# Total code points: 1316 # ================================================ @@ -4367,7 +4426,7 @@ FF41..FF5A ; Changes_When_Uppercased # L& [26] FULLWIDTH LATIN SMALL LETTER 0283 ; Changes_When_Titlecased # L& LATIN SMALL LETTER ESH 0287..028C ; Changes_When_Titlecased # L& [6] LATIN SMALL LETTER TURNED T..LATIN SMALL LETTER TURNED V 0292 ; Changes_When_Titlecased # L& LATIN SMALL LETTER EZH -029E ; Changes_When_Titlecased # L& LATIN SMALL LETTER TURNED K +029D..029E ; Changes_When_Titlecased # L& [2] LATIN SMALL LETTER J WITH CROSSED-TAIL..LATIN SMALL LETTER TURNED K 0345 ; Changes_When_Titlecased # Mn COMBINING GREEK YPOGEGRAMMENI 0371 ; Changes_When_Titlecased # L& GREEK SMALL LETTER HETA 0373 ; Changes_When_Titlecased # L& GREEK SMALL LETTER ARCHAIC SAMPI @@ -4493,6 +4552,7 @@ FF41..FF5A ; Changes_When_Uppercased # L& [26] FULLWIDTH LATIN SMALL LETTER 052D ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER DCHE 052F ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER EL WITH DESCENDER 0561..0587 ; Changes_When_Titlecased # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN +13F8..13FD ; Changes_When_Titlecased # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1D79 ; Changes_When_Titlecased # L& LATIN SMALL LETTER INSULAR G 1D7D ; Changes_When_Titlecased # L& LATIN SMALL LETTER P WITH STROKE 1E01 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH RING BELOW @@ -4801,13 +4861,18 @@ A7A3 ; Changes_When_Titlecased # L& LATIN SMALL LETTER K WITH OBL A7A5 ; Changes_When_Titlecased # L& LATIN SMALL LETTER N WITH OBLIQUE STROKE A7A7 ; Changes_When_Titlecased # L& LATIN SMALL LETTER R WITH OBLIQUE STROKE A7A9 ; Changes_When_Titlecased # L& LATIN SMALL LETTER S WITH OBLIQUE STROKE +A7B5 ; Changes_When_Titlecased # L& LATIN SMALL LETTER BETA +A7B7 ; Changes_When_Titlecased # L& LATIN SMALL LETTER OMEGA +AB53 ; Changes_When_Titlecased # L& LATIN SMALL LETTER CHI +AB70..ABBF ; Changes_When_Titlecased # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA FB00..FB06 ; Changes_When_Titlecased # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST FB13..FB17 ; Changes_When_Titlecased # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH FF41..FF5A ; Changes_When_Titlecased # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z 10428..1044F ; Changes_When_Titlecased # L& [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW +10CC0..10CF2 ; Changes_When_Titlecased # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US 118C0..118DF ; Changes_When_Titlecased # L& [32] WARANG CITI SMALL LETTER NGAA..WARANG CITI SMALL LETTER VIYO -# Total code points: 1148 +# Total code points: 1289 # ================================================ @@ -5097,6 +5162,7 @@ FF41..FF5A ; Changes_When_Titlecased # L& [26] FULLWIDTH LATIN SMALL LETTER 10A0..10C5 ; Changes_When_Casefolded # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE 10C7 ; Changes_When_Casefolded # L& GEORGIAN CAPITAL LETTER YN 10CD ; Changes_When_Casefolded # L& GEORGIAN CAPITAL LETTER AEN +13F8..13FD ; Changes_When_Casefolded # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1E00 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH RING BELOW 1E02 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER B WITH DOT ABOVE 1E04 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER B WITH DOT BELOW @@ -5406,14 +5472,17 @@ A7A4 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER N WITH O A7A6 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER R WITH OBLIQUE STROKE A7A8 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER S WITH OBLIQUE STROKE A7AA..A7AD ; Changes_When_Casefolded # L& [4] LATIN CAPITAL LETTER H WITH HOOK..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B4 ; Changes_When_Casefolded # L& [5] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER BETA +A7B6 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER OMEGA +AB70..ABBF ; Changes_When_Casefolded # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA FB00..FB06 ; Changes_When_Casefolded # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST FB13..FB17 ; Changes_When_Casefolded # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH FF21..FF3A ; Changes_When_Casefolded # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z 10400..10427 ; Changes_When_Casefolded # L& [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW +10C80..10CB2 ; Changes_When_Casefolded # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US 118A0..118BF ; Changes_When_Casefolded # L& [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO -# Total code points: 1156 +# Total code points: 1297 # ================================================ @@ -5453,7 +5522,7 @@ FF21..FF3A ; Changes_When_Casefolded # L& [26] FULLWIDTH LATIN CAPITAL LETTE 0283 ; Changes_When_Casemapped # L& LATIN SMALL LETTER ESH 0287..028C ; Changes_When_Casemapped # L& [6] LATIN SMALL LETTER TURNED T..LATIN SMALL LETTER TURNED V 0292 ; Changes_When_Casemapped # L& LATIN SMALL LETTER EZH -029E ; Changes_When_Casemapped # L& LATIN SMALL LETTER TURNED K +029D..029E ; Changes_When_Casemapped # L& [2] LATIN SMALL LETTER J WITH CROSSED-TAIL..LATIN SMALL LETTER TURNED K 0345 ; Changes_When_Casemapped # Mn COMBINING GREEK YPOGEGRAMMENI 0370..0373 ; Changes_When_Casemapped # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI 0376..0377 ; Changes_When_Casemapped # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA @@ -5473,6 +5542,8 @@ FF21..FF3A ; Changes_When_Casefolded # L& [26] FULLWIDTH LATIN CAPITAL LETTE 10A0..10C5 ; Changes_When_Casemapped # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE 10C7 ; Changes_When_Casemapped # L& GEORGIAN CAPITAL LETTER YN 10CD ; Changes_When_Casemapped # L& GEORGIAN CAPITAL LETTER AEN +13A0..13F5 ; Changes_When_Casemapped # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV +13F8..13FD ; Changes_When_Casemapped # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1D79 ; Changes_When_Casemapped # L& LATIN SMALL LETTER INSULAR G 1D7D ; Changes_When_Casemapped # L& LATIN SMALL LETTER P WITH STROKE 1E00..1E9B ; Changes_When_Casemapped # L& [156] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER LONG S WITH DOT ABOVE @@ -5522,15 +5593,19 @@ A779..A787 ; Changes_When_Casemapped # L& [15] LATIN CAPITAL LETTER INSULAR A78B..A78D ; Changes_When_Casemapped # L& [3] LATIN CAPITAL LETTER SALTILLO..LATIN CAPITAL LETTER TURNED H A790..A793 ; Changes_When_Casemapped # L& [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR A796..A7AD ; Changes_When_Casemapped # L& [24] LATIN CAPITAL LETTER B WITH FLOURISH..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; Changes_When_Casemapped # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B7 ; Changes_When_Casemapped # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA +AB53 ; Changes_When_Casemapped # L& LATIN SMALL LETTER CHI +AB70..ABBF ; Changes_When_Casemapped # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA FB00..FB06 ; Changes_When_Casemapped # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST FB13..FB17 ; Changes_When_Casemapped # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH FF21..FF3A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z 10400..1044F ; Changes_When_Casemapped # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW +10C80..10CB2 ; Changes_When_Casemapped # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CC0..10CF2 ; Changes_When_Casemapped # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US 118A0..118DF ; Changes_When_Casemapped # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO -# Total code points: 2236 +# Total code points: 2518 # ================================================ @@ -5602,7 +5677,7 @@ FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER 0824 ; ID_Start # Lm SAMARITAN MODIFIER LETTER SHORT A 0828 ; ID_Start # Lm SAMARITAN MODIFIER LETTER I 0840..0858 ; ID_Start # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN -08A0..08B2 ; ID_Start # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE +08A0..08B4 ; ID_Start # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW 0904..0939 ; ID_Start # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA 093D ; ID_Start # Lo DEVANAGARI SIGN AVAGRAHA 0950 ; ID_Start # Lo DEVANAGARI OM @@ -5639,6 +5714,7 @@ FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER 0ABD ; ID_Start # Lo GUJARATI SIGN AVAGRAHA 0AD0 ; ID_Start # Lo GUJARATI OM 0AE0..0AE1 ; ID_Start # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL +0AF9 ; ID_Start # Lo GUJARATI LETTER ZHA 0B05..0B0C ; ID_Start # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L 0B0F..0B10 ; ID_Start # Lo [2] ORIYA LETTER E..ORIYA LETTER AI 0B13..0B28 ; ID_Start # Lo [22] ORIYA LETTER O..ORIYA LETTER NA @@ -5665,7 +5741,7 @@ FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER 0C12..0C28 ; ID_Start # Lo [23] TELUGU LETTER O..TELUGU LETTER NA 0C2A..0C39 ; ID_Start # Lo [16] TELUGU LETTER PA..TELUGU LETTER HA 0C3D ; ID_Start # Lo TELUGU SIGN AVAGRAHA -0C58..0C59 ; ID_Start # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA +0C58..0C5A ; ID_Start # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA 0C60..0C61 ; ID_Start # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL 0C85..0C8C ; ID_Start # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L 0C8E..0C90 ; ID_Start # Lo [3] KANNADA LETTER E..KANNADA LETTER AI @@ -5681,7 +5757,7 @@ FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER 0D12..0D3A ; ID_Start # Lo [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA 0D3D ; ID_Start # Lo MALAYALAM SIGN AVAGRAHA 0D4E ; ID_Start # Lo MALAYALAM LETTER DOT REPH -0D60..0D61 ; ID_Start # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL +0D5F..0D61 ; ID_Start # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL 0D7A..0D7F ; ID_Start # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K 0D85..0D96 ; ID_Start # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA 0D9A..0DB1 ; ID_Start # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA @@ -5744,7 +5820,8 @@ FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER 1312..1315 ; ID_Start # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE 1318..135A ; ID_Start # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA 1380..138F ; ID_Start # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE -13A0..13F4 ; ID_Start # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV +13A0..13F5 ; ID_Start # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV +13F8..13FD ; ID_Start # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1401..166C ; ID_Start # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA 166F..167F ; ID_Start # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W 1681..169A ; ID_Start # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH @@ -5770,7 +5847,7 @@ FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER 1950..196D ; ID_Start # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI 1970..1974 ; ID_Start # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 1980..19AB ; ID_Start # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA -19C1..19C7 ; ID_Start # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B +19B0..19C9 ; ID_Start # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 1A00..1A16 ; ID_Start # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA 1A20..1A54 ; ID_Start # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA 1AA7 ; ID_Start # Lm TAI THAM SIGN MAI YAMOK @@ -5875,7 +5952,7 @@ FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER 31A0..31BA ; ID_Start # Lo [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY 31F0..31FF ; ID_Start # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO 3400..4DB5 ; ID_Start # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 -4E00..9FCC ; ID_Start # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC +4E00..9FD5 ; ID_Start # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 A000..A014 ; ID_Start # Lo [21] YI SYLLABLE IT..YI SYLLABLE E A015 ; ID_Start # Lm YI SYLLABLE WU A016..A48C ; ID_Start # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR @@ -5898,8 +5975,9 @@ A770 ; ID_Start # Lm MODIFIER LETTER US A771..A787 ; ID_Start # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T A788 ; ID_Start # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT A78B..A78E ; ID_Start # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT +A78F ; ID_Start # Lo LATIN LETTER SINOLOGICAL DOT A790..A7AD ; ID_Start # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; ID_Start # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B7 ; ID_Start # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA A7F7 ; ID_Start # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I A7F8..A7F9 ; ID_Start # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE A7FA ; ID_Start # L& LATIN LETTER SMALL CAPITAL TURNED M @@ -5911,6 +5989,7 @@ A840..A873 ; ID_Start # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABI A882..A8B3 ; ID_Start # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA A8F2..A8F7 ; ID_Start # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA A8FB ; ID_Start # Lo DEVANAGARI HEADSTROKE +A8FD ; ID_Start # Lo DEVANAGARI JAIN OM A90A..A925 ; ID_Start # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO A930..A946 ; ID_Start # Lo [23] REJANG LETTER KA..REJANG LETTER A A960..A97C ; ID_Start # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH @@ -5945,7 +6024,8 @@ AB20..AB26 ; ID_Start # Lo [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE C AB28..AB2E ; ID_Start # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO AB30..AB5A ; ID_Start # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG AB5C..AB5F ; ID_Start # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB64..AB65 ; ID_Start # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA +AB60..AB65 ; ID_Start # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA +AB70..ABBF ; ID_Start # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA ABC0..ABE2 ; ID_Start # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM AC00..D7A3 ; ID_Start # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH D7B0..D7C6 ; ID_Start # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E @@ -6014,6 +6094,8 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 1083F..10855 ; ID_Start # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW 10860..10876 ; ID_Start # Lo [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW 10880..1089E ; ID_Start # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW +108E0..108F2 ; ID_Start # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F4..108F5 ; ID_Start # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW 10900..10915 ; ID_Start # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU 10920..10939 ; ID_Start # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C 10980..109B7 ; ID_Start # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA @@ -6031,6 +6113,8 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 10B60..10B72 ; ID_Start # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW 10B80..10B91 ; ID_Start # Lo [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW 10C00..10C48 ; ID_Start # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH +10C80..10CB2 ; ID_Start # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CC0..10CF2 ; ID_Start # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US 11003..11037 ; ID_Start # Lo [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA 11083..110AF ; ID_Start # Lo [45] KAITHI LETTER A..KAITHI LETTER HA 110D0..110E8 ; ID_Start # Lo [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE @@ -6040,8 +6124,14 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 11183..111B2 ; ID_Start # Lo [48] SHARADA LETTER A..SHARADA LETTER HA 111C1..111C4 ; ID_Start # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM 111DA ; ID_Start # Lo SHARADA EKAM +111DC ; ID_Start # Lo SHARADA HEADSTROKE 11200..11211 ; ID_Start # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA 11213..1122B ; ID_Start # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA +11280..11286 ; ID_Start # Lo [7] MULTANI LETTER A..MULTANI LETTER GA +11288 ; ID_Start # Lo MULTANI LETTER GHA +1128A..1128D ; ID_Start # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D ; ID_Start # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8 ; ID_Start # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA 112B0..112DE ; ID_Start # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA 11305..1130C ; ID_Start # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L 1130F..11310 ; ID_Start # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI @@ -6050,20 +6140,25 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 11332..11333 ; ID_Start # Lo [2] GRANTHA LETTER LA..GRANTHA LETTER LLA 11335..11339 ; ID_Start # Lo [5] GRANTHA LETTER VA..GRANTHA LETTER HA 1133D ; ID_Start # Lo GRANTHA SIGN AVAGRAHA +11350 ; ID_Start # Lo GRANTHA OM 1135D..11361 ; ID_Start # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL 11480..114AF ; ID_Start # Lo [48] TIRHUTA ANJI..TIRHUTA LETTER HA 114C4..114C5 ; ID_Start # Lo [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG 114C7 ; ID_Start # Lo TIRHUTA OM 11580..115AE ; ID_Start # Lo [47] SIDDHAM LETTER A..SIDDHAM LETTER HA +115D8..115DB ; ID_Start # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U 11600..1162F ; ID_Start # Lo [48] MODI LETTER A..MODI LETTER LLA 11644 ; ID_Start # Lo MODI SIGN HUVA 11680..116AA ; ID_Start # Lo [43] TAKRI LETTER A..TAKRI LETTER RRA +11700..11719 ; ID_Start # Lo [26] AHOM LETTER KA..AHOM LETTER JHA 118A0..118DF ; ID_Start # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO 118FF ; ID_Start # Lo WARANG CITI OM 11AC0..11AF8 ; ID_Start # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -12000..12398 ; ID_Start # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME +12000..12399 ; ID_Start # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U 12400..1246E ; ID_Start # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM +12480..12543 ; ID_Start # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU 13000..1342E ; ID_Start # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 +14400..14646 ; ID_Start # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 16800..16A38 ; ID_Start # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ 16A40..16A5E ; ID_Start # Lo [31] MRO LETTER TA..MRO LETTER TEK 16AD0..16AED ; ID_Start # Lo [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I @@ -6146,9 +6241,10 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 20000..2A6D6 ; ID_Start # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 2A700..2B734 ; ID_Start # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 2B740..2B81D ; ID_Start # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D +2B820..2CEA1 ; ID_Start # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 2F800..2FA1D ; ID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D -# Total code points: 102964 +# Total code points: 109830 # ================================================ @@ -6251,8 +6347,8 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 0829..082D ; ID_Continue # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA 0840..0858 ; ID_Continue # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN 0859..085B ; ID_Continue # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK -08A0..08B2 ; ID_Continue # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE -08E4..0902 ; ID_Continue # Mn [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA +08A0..08B4 ; ID_Continue # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW +08E3..0902 ; ID_Continue # Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA 0903 ; ID_Continue # Mc DEVANAGARI SIGN VISARGA 0904..0939 ; ID_Continue # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA 093A ; ID_Continue # Mn DEVANAGARI VOWEL SIGN OE @@ -6334,6 +6430,7 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 0AE0..0AE1 ; ID_Continue # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL 0AE2..0AE3 ; ID_Continue # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL 0AE6..0AEF ; ID_Continue # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE +0AF9 ; ID_Continue # Lo GUJARATI LETTER ZHA 0B01 ; ID_Continue # Mn ORIYA SIGN CANDRABINDU 0B02..0B03 ; ID_Continue # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA 0B05..0B0C ; ID_Continue # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L @@ -6390,7 +6487,7 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 0C46..0C48 ; ID_Continue # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI 0C4A..0C4D ; ID_Continue # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA 0C55..0C56 ; ID_Continue # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK -0C58..0C59 ; ID_Continue # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA +0C58..0C5A ; ID_Continue # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA 0C60..0C61 ; ID_Continue # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL 0C62..0C63 ; ID_Continue # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL 0C66..0C6F ; ID_Continue # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE @@ -6429,7 +6526,7 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 0D4D ; ID_Continue # Mn MALAYALAM SIGN VIRAMA 0D4E ; ID_Continue # Lo MALAYALAM LETTER DOT REPH 0D57 ; ID_Continue # Mc MALAYALAM AU LENGTH MARK -0D60..0D61 ; ID_Continue # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL +0D5F..0D61 ; ID_Continue # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL 0D62..0D63 ; ID_Continue # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL 0D66..0D6F ; ID_Continue # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE 0D7A..0D7F ; ID_Continue # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K @@ -6550,7 +6647,8 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 135D..135F ; ID_Continue # Mn [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK 1369..1371 ; ID_Continue # No [9] ETHIOPIC DIGIT ONE..ETHIOPIC DIGIT NINE 1380..138F ; ID_Continue # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE -13A0..13F4 ; ID_Continue # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV +13A0..13F5 ; ID_Continue # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV +13F8..13FD ; ID_Continue # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1401..166C ; ID_Continue # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA 166F..167F ; ID_Continue # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W 1681..169A ; ID_Continue # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH @@ -6601,9 +6699,7 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 1950..196D ; ID_Continue # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI 1970..1974 ; ID_Continue # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 1980..19AB ; ID_Continue # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA -19B0..19C0 ; ID_Continue # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY -19C1..19C7 ; ID_Continue # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B -19C8..19C9 ; ID_Continue # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 +19B0..19C9 ; ID_Continue # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 19D0..19D9 ; ID_Continue # Nd [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE 19DA ; ID_Continue # No NEW TAI LUE THAM DIGIT ONE 1A00..1A16 ; ID_Continue # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA @@ -6784,7 +6880,7 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 31A0..31BA ; ID_Continue # Lo [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY 31F0..31FF ; ID_Continue # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO 3400..4DB5 ; ID_Continue # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 -4E00..9FCC ; ID_Continue # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC +4E00..9FD5 ; ID_Continue # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 A000..A014 ; ID_Continue # Lo [21] YI SYLLABLE IT..YI SYLLABLE E A015 ; ID_Continue # Lm YI SYLLABLE WU A016..A48C ; ID_Continue # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR @@ -6802,7 +6898,7 @@ A674..A67D ; ID_Continue # Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..C A67F ; ID_Continue # Lm CYRILLIC PAYEROK A680..A69B ; ID_Continue # L& [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O A69C..A69D ; ID_Continue # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN -A69F ; ID_Continue # Mn COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F ; ID_Continue # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E A6A0..A6E5 ; ID_Continue # Lo [70] BAMUM LETTER A..BAMUM LETTER KI A6E6..A6EF ; ID_Continue # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM A6F0..A6F1 ; ID_Continue # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS @@ -6812,8 +6908,9 @@ A770 ; ID_Continue # Lm MODIFIER LETTER US A771..A787 ; ID_Continue # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T A788 ; ID_Continue # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT A78B..A78E ; ID_Continue # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT +A78F ; ID_Continue # Lo LATIN LETTER SINOLOGICAL DOT A790..A7AD ; ID_Continue # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; ID_Continue # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B7 ; ID_Continue # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA A7F7 ; ID_Continue # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I A7F8..A7F9 ; ID_Continue # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE A7FA ; ID_Continue # L& LATIN LETTER SMALL CAPITAL TURNED M @@ -6836,6 +6933,7 @@ A8D0..A8D9 ; ID_Continue # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT N A8E0..A8F1 ; ID_Continue # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA A8F2..A8F7 ; ID_Continue # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA A8FB ; ID_Continue # Lo DEVANAGARI HEADSTROKE +A8FD ; ID_Continue # Lo DEVANAGARI JAIN OM A900..A909 ; ID_Continue # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE A90A..A925 ; ID_Continue # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO A926..A92D ; ID_Continue # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU @@ -6907,7 +7005,8 @@ AB20..AB26 ; ID_Continue # Lo [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABL AB28..AB2E ; ID_Continue # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO AB30..AB5A ; ID_Continue # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG AB5C..AB5F ; ID_Continue # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB64..AB65 ; ID_Continue # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA +AB60..AB65 ; ID_Continue # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA +AB70..ABBF ; ID_Continue # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA ABC0..ABE2 ; ID_Continue # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM ABE3..ABE4 ; ID_Continue # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP ABE5 ; ID_Continue # Mn MEETEI MAYEK VOWEL SIGN ANAP @@ -6938,7 +7037,7 @@ FD50..FD8F ; ID_Continue # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM I FD92..FDC7 ; ID_Continue # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM FDF0..FDFB ; ID_Continue # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU FE00..FE0F ; ID_Continue # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 -FE20..FE2D ; ID_Continue # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW +FE20..FE2F ; ID_Continue # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF FE33..FE34 ; ID_Continue # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE FE4D..FE4F ; ID_Continue # Pc [3] DASHED LOW LINE..WAVY LOW LINE FE70..FE74 ; ID_Continue # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM @@ -6995,6 +7094,8 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN 1083F..10855 ; ID_Continue # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW 10860..10876 ; ID_Continue # Lo [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW 10880..1089E ; ID_Continue # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW +108E0..108F2 ; ID_Continue # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F4..108F5 ; ID_Continue # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW 10900..10915 ; ID_Continue # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU 10920..10939 ; ID_Continue # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C 10980..109B7 ; ID_Continue # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA @@ -7018,6 +7119,8 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN 10B60..10B72 ; ID_Continue # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW 10B80..10B91 ; ID_Continue # Lo [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW 10C00..10C48 ; ID_Continue # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH +10C80..10CB2 ; ID_Continue # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CC0..10CF2 ; ID_Continue # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US 11000 ; ID_Continue # Mc BRAHMI SIGN CANDRABINDU 11001 ; ID_Continue # Mn BRAHMI SIGN ANUSVARA 11002 ; ID_Continue # Mc BRAHMI SIGN VISARGA @@ -7049,8 +7152,10 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN 111B6..111BE ; ID_Continue # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O 111BF..111C0 ; ID_Continue # Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA 111C1..111C4 ; ID_Continue # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM +111CA..111CC ; ID_Continue # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK 111D0..111D9 ; ID_Continue # Nd [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE 111DA ; ID_Continue # Lo SHARADA EKAM +111DC ; ID_Continue # Lo SHARADA HEADSTROKE 11200..11211 ; ID_Continue # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA 11213..1122B ; ID_Continue # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA 1122C..1122E ; ID_Continue # Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II @@ -7059,12 +7164,17 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN 11234 ; ID_Continue # Mn KHOJKI SIGN ANUSVARA 11235 ; ID_Continue # Mc KHOJKI SIGN VIRAMA 11236..11237 ; ID_Continue # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA +11280..11286 ; ID_Continue # Lo [7] MULTANI LETTER A..MULTANI LETTER GA +11288 ; ID_Continue # Lo MULTANI LETTER GHA +1128A..1128D ; ID_Continue # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D ; ID_Continue # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8 ; ID_Continue # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA 112B0..112DE ; ID_Continue # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA 112DF ; ID_Continue # Mn KHUDAWADI SIGN ANUSVARA 112E0..112E2 ; ID_Continue # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II 112E3..112EA ; ID_Continue # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA 112F0..112F9 ; ID_Continue # Nd [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE -11301 ; ID_Continue # Mn GRANTHA SIGN CANDRABINDU +11300..11301 ; ID_Continue # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 11302..11303 ; ID_Continue # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA 11305..1130C ; ID_Continue # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L 1130F..11310 ; ID_Continue # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI @@ -7079,6 +7189,7 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN 11341..11344 ; ID_Continue # Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR 11347..11348 ; ID_Continue # Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI 1134B..1134D ; ID_Continue # Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA +11350 ; ID_Continue # Lo GRANTHA OM 11357 ; ID_Continue # Mc GRANTHA AU LENGTH MARK 1135D..11361 ; ID_Continue # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL 11362..11363 ; ID_Continue # Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL @@ -7103,6 +7214,8 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN 115BC..115BD ; ID_Continue # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 115BE ; ID_Continue # Mc SIDDHAM SIGN VISARGA 115BF..115C0 ; ID_Continue # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA +115D8..115DB ; ID_Continue # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U +115DC..115DD ; ID_Continue # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11600..1162F ; ID_Continue # Lo [48] MODI LETTER A..MODI LETTER LLA 11630..11632 ; ID_Continue # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II 11633..1163A ; ID_Continue # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI @@ -7121,13 +7234,22 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN 116B6 ; ID_Continue # Mc TAKRI SIGN VIRAMA 116B7 ; ID_Continue # Mn TAKRI SIGN NUKTA 116C0..116C9 ; ID_Continue # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE +11700..11719 ; ID_Continue # Lo [26] AHOM LETTER KA..AHOM LETTER JHA +1171D..1171F ; ID_Continue # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11720..11721 ; ID_Continue # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11722..11725 ; ID_Continue # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11726 ; ID_Continue # Mc AHOM VOWEL SIGN E +11727..1172B ; ID_Continue # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER +11730..11739 ; ID_Continue # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE 118A0..118DF ; ID_Continue # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO 118E0..118E9 ; ID_Continue # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE 118FF ; ID_Continue # Lo WARANG CITI OM 11AC0..11AF8 ; ID_Continue # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -12000..12398 ; ID_Continue # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME +12000..12399 ; ID_Continue # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U 12400..1246E ; ID_Continue # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM +12480..12543 ; ID_Continue # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU 13000..1342E ; ID_Continue # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 +14400..14646 ; ID_Continue # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 16800..16A38 ; ID_Continue # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ 16A40..16A5E ; ID_Continue # Lo [31] MRO LETTER TA..MRO LETTER TEK 16A60..16A69 ; ID_Continue # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE @@ -7188,6 +7310,12 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN 1D7AA..1D7C2 ; ID_Continue # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA 1D7C4..1D7CB ; ID_Continue # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA 1D7CE..1D7FF ; ID_Continue # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE +1DA00..1DA36 ; ID_Continue # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN +1DA3B..1DA6C ; ID_Continue # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT +1DA75 ; ID_Continue # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA84 ; ID_Continue # Mn SIGNWRITING LOCATION HEAD NECK +1DA9B..1DA9F ; ID_Continue # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF ; ID_Continue # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 1E800..1E8C4 ; ID_Continue # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON 1E8D0..1E8D6 ; ID_Continue # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS 1EE00..1EE03 ; ID_Continue # Lo [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL @@ -7226,10 +7354,11 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN 20000..2A6D6 ; ID_Continue # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 2A700..2B734 ; ID_Continue # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 2B740..2B81D ; ID_Continue # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D +2B820..2CEA1 ; ID_Continue # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 2F800..2FA1D ; ID_Continue # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 -# Total code points: 105343 +# Total code points: 112352 # ================================================ @@ -7298,7 +7427,7 @@ E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR 0824 ; XID_Start # Lm SAMARITAN MODIFIER LETTER SHORT A 0828 ; XID_Start # Lm SAMARITAN MODIFIER LETTER I 0840..0858 ; XID_Start # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN -08A0..08B2 ; XID_Start # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE +08A0..08B4 ; XID_Start # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW 0904..0939 ; XID_Start # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA 093D ; XID_Start # Lo DEVANAGARI SIGN AVAGRAHA 0950 ; XID_Start # Lo DEVANAGARI OM @@ -7335,6 +7464,7 @@ E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR 0ABD ; XID_Start # Lo GUJARATI SIGN AVAGRAHA 0AD0 ; XID_Start # Lo GUJARATI OM 0AE0..0AE1 ; XID_Start # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL +0AF9 ; XID_Start # Lo GUJARATI LETTER ZHA 0B05..0B0C ; XID_Start # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L 0B0F..0B10 ; XID_Start # Lo [2] ORIYA LETTER E..ORIYA LETTER AI 0B13..0B28 ; XID_Start # Lo [22] ORIYA LETTER O..ORIYA LETTER NA @@ -7361,7 +7491,7 @@ E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR 0C12..0C28 ; XID_Start # Lo [23] TELUGU LETTER O..TELUGU LETTER NA 0C2A..0C39 ; XID_Start # Lo [16] TELUGU LETTER PA..TELUGU LETTER HA 0C3D ; XID_Start # Lo TELUGU SIGN AVAGRAHA -0C58..0C59 ; XID_Start # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA +0C58..0C5A ; XID_Start # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA 0C60..0C61 ; XID_Start # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL 0C85..0C8C ; XID_Start # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L 0C8E..0C90 ; XID_Start # Lo [3] KANNADA LETTER E..KANNADA LETTER AI @@ -7377,7 +7507,7 @@ E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR 0D12..0D3A ; XID_Start # Lo [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA 0D3D ; XID_Start # Lo MALAYALAM SIGN AVAGRAHA 0D4E ; XID_Start # Lo MALAYALAM LETTER DOT REPH -0D60..0D61 ; XID_Start # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL +0D5F..0D61 ; XID_Start # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL 0D7A..0D7F ; XID_Start # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K 0D85..0D96 ; XID_Start # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA 0D9A..0DB1 ; XID_Start # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA @@ -7440,7 +7570,8 @@ E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR 1312..1315 ; XID_Start # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE 1318..135A ; XID_Start # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA 1380..138F ; XID_Start # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE -13A0..13F4 ; XID_Start # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV +13A0..13F5 ; XID_Start # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV +13F8..13FD ; XID_Start # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1401..166C ; XID_Start # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA 166F..167F ; XID_Start # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W 1681..169A ; XID_Start # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH @@ -7466,7 +7597,7 @@ E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR 1950..196D ; XID_Start # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI 1970..1974 ; XID_Start # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 1980..19AB ; XID_Start # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA -19C1..19C7 ; XID_Start # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B +19B0..19C9 ; XID_Start # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 1A00..1A16 ; XID_Start # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA 1A20..1A54 ; XID_Start # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA 1AA7 ; XID_Start # Lm TAI THAM SIGN MAI YAMOK @@ -7570,7 +7701,7 @@ E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR 31A0..31BA ; XID_Start # Lo [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY 31F0..31FF ; XID_Start # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO 3400..4DB5 ; XID_Start # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 -4E00..9FCC ; XID_Start # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC +4E00..9FD5 ; XID_Start # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 A000..A014 ; XID_Start # Lo [21] YI SYLLABLE IT..YI SYLLABLE E A015 ; XID_Start # Lm YI SYLLABLE WU A016..A48C ; XID_Start # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR @@ -7593,8 +7724,9 @@ A770 ; XID_Start # Lm MODIFIER LETTER US A771..A787 ; XID_Start # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T A788 ; XID_Start # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT A78B..A78E ; XID_Start # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT +A78F ; XID_Start # Lo LATIN LETTER SINOLOGICAL DOT A790..A7AD ; XID_Start # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; XID_Start # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B7 ; XID_Start # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA A7F7 ; XID_Start # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I A7F8..A7F9 ; XID_Start # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE A7FA ; XID_Start # L& LATIN LETTER SMALL CAPITAL TURNED M @@ -7606,6 +7738,7 @@ A840..A873 ; XID_Start # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRAB A882..A8B3 ; XID_Start # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA A8F2..A8F7 ; XID_Start # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA A8FB ; XID_Start # Lo DEVANAGARI HEADSTROKE +A8FD ; XID_Start # Lo DEVANAGARI JAIN OM A90A..A925 ; XID_Start # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO A930..A946 ; XID_Start # Lo [23] REJANG LETTER KA..REJANG LETTER A A960..A97C ; XID_Start # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH @@ -7640,7 +7773,8 @@ AB20..AB26 ; XID_Start # Lo [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE AB28..AB2E ; XID_Start # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO AB30..AB5A ; XID_Start # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG AB5C..AB5F ; XID_Start # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB64..AB65 ; XID_Start # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA +AB60..AB65 ; XID_Start # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA +AB70..ABBF ; XID_Start # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA ABC0..ABE2 ; XID_Start # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM AC00..D7A3 ; XID_Start # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH D7B0..D7C6 ; XID_Start # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E @@ -7714,6 +7848,8 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU 1083F..10855 ; XID_Start # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW 10860..10876 ; XID_Start # Lo [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW 10880..1089E ; XID_Start # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW +108E0..108F2 ; XID_Start # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F4..108F5 ; XID_Start # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW 10900..10915 ; XID_Start # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU 10920..10939 ; XID_Start # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C 10980..109B7 ; XID_Start # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA @@ -7731,6 +7867,8 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU 10B60..10B72 ; XID_Start # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW 10B80..10B91 ; XID_Start # Lo [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW 10C00..10C48 ; XID_Start # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH +10C80..10CB2 ; XID_Start # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CC0..10CF2 ; XID_Start # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US 11003..11037 ; XID_Start # Lo [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA 11083..110AF ; XID_Start # Lo [45] KAITHI LETTER A..KAITHI LETTER HA 110D0..110E8 ; XID_Start # Lo [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE @@ -7740,8 +7878,14 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU 11183..111B2 ; XID_Start # Lo [48] SHARADA LETTER A..SHARADA LETTER HA 111C1..111C4 ; XID_Start # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM 111DA ; XID_Start # Lo SHARADA EKAM +111DC ; XID_Start # Lo SHARADA HEADSTROKE 11200..11211 ; XID_Start # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA 11213..1122B ; XID_Start # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA +11280..11286 ; XID_Start # Lo [7] MULTANI LETTER A..MULTANI LETTER GA +11288 ; XID_Start # Lo MULTANI LETTER GHA +1128A..1128D ; XID_Start # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D ; XID_Start # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8 ; XID_Start # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA 112B0..112DE ; XID_Start # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA 11305..1130C ; XID_Start # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L 1130F..11310 ; XID_Start # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI @@ -7750,20 +7894,25 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU 11332..11333 ; XID_Start # Lo [2] GRANTHA LETTER LA..GRANTHA LETTER LLA 11335..11339 ; XID_Start # Lo [5] GRANTHA LETTER VA..GRANTHA LETTER HA 1133D ; XID_Start # Lo GRANTHA SIGN AVAGRAHA +11350 ; XID_Start # Lo GRANTHA OM 1135D..11361 ; XID_Start # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL 11480..114AF ; XID_Start # Lo [48] TIRHUTA ANJI..TIRHUTA LETTER HA 114C4..114C5 ; XID_Start # Lo [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG 114C7 ; XID_Start # Lo TIRHUTA OM 11580..115AE ; XID_Start # Lo [47] SIDDHAM LETTER A..SIDDHAM LETTER HA +115D8..115DB ; XID_Start # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U 11600..1162F ; XID_Start # Lo [48] MODI LETTER A..MODI LETTER LLA 11644 ; XID_Start # Lo MODI SIGN HUVA 11680..116AA ; XID_Start # Lo [43] TAKRI LETTER A..TAKRI LETTER RRA +11700..11719 ; XID_Start # Lo [26] AHOM LETTER KA..AHOM LETTER JHA 118A0..118DF ; XID_Start # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO 118FF ; XID_Start # Lo WARANG CITI OM 11AC0..11AF8 ; XID_Start # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -12000..12398 ; XID_Start # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME +12000..12399 ; XID_Start # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U 12400..1246E ; XID_Start # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM +12480..12543 ; XID_Start # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU 13000..1342E ; XID_Start # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 +14400..14646 ; XID_Start # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 16800..16A38 ; XID_Start # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ 16A40..16A5E ; XID_Start # Lo [31] MRO LETTER TA..MRO LETTER TEK 16AD0..16AED ; XID_Start # Lo [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I @@ -7846,9 +7995,10 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU 20000..2A6D6 ; XID_Start # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 2A700..2B734 ; XID_Start # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 2B740..2B81D ; XID_Start # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D +2B820..2CEA1 ; XID_Start # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 2F800..2FA1D ; XID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D -# Total code points: 102941 +# Total code points: 109807 # ================================================ @@ -7947,8 +8097,8 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU 0829..082D ; XID_Continue # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA 0840..0858 ; XID_Continue # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN 0859..085B ; XID_Continue # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK -08A0..08B2 ; XID_Continue # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE -08E4..0902 ; XID_Continue # Mn [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA +08A0..08B4 ; XID_Continue # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW +08E3..0902 ; XID_Continue # Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA 0903 ; XID_Continue # Mc DEVANAGARI SIGN VISARGA 0904..0939 ; XID_Continue # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA 093A ; XID_Continue # Mn DEVANAGARI VOWEL SIGN OE @@ -8030,6 +8180,7 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU 0AE0..0AE1 ; XID_Continue # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL 0AE2..0AE3 ; XID_Continue # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL 0AE6..0AEF ; XID_Continue # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE +0AF9 ; XID_Continue # Lo GUJARATI LETTER ZHA 0B01 ; XID_Continue # Mn ORIYA SIGN CANDRABINDU 0B02..0B03 ; XID_Continue # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA 0B05..0B0C ; XID_Continue # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L @@ -8086,7 +8237,7 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU 0C46..0C48 ; XID_Continue # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI 0C4A..0C4D ; XID_Continue # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA 0C55..0C56 ; XID_Continue # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK -0C58..0C59 ; XID_Continue # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA +0C58..0C5A ; XID_Continue # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA 0C60..0C61 ; XID_Continue # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL 0C62..0C63 ; XID_Continue # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL 0C66..0C6F ; XID_Continue # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE @@ -8125,7 +8276,7 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU 0D4D ; XID_Continue # Mn MALAYALAM SIGN VIRAMA 0D4E ; XID_Continue # Lo MALAYALAM LETTER DOT REPH 0D57 ; XID_Continue # Mc MALAYALAM AU LENGTH MARK -0D60..0D61 ; XID_Continue # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL +0D5F..0D61 ; XID_Continue # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL 0D62..0D63 ; XID_Continue # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL 0D66..0D6F ; XID_Continue # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE 0D7A..0D7F ; XID_Continue # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K @@ -8246,7 +8397,8 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU 135D..135F ; XID_Continue # Mn [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK 1369..1371 ; XID_Continue # No [9] ETHIOPIC DIGIT ONE..ETHIOPIC DIGIT NINE 1380..138F ; XID_Continue # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE -13A0..13F4 ; XID_Continue # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV +13A0..13F5 ; XID_Continue # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV +13F8..13FD ; XID_Continue # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1401..166C ; XID_Continue # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA 166F..167F ; XID_Continue # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W 1681..169A ; XID_Continue # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH @@ -8297,9 +8449,7 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU 1950..196D ; XID_Continue # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI 1970..1974 ; XID_Continue # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 1980..19AB ; XID_Continue # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA -19B0..19C0 ; XID_Continue # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY -19C1..19C7 ; XID_Continue # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B -19C8..19C9 ; XID_Continue # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 +19B0..19C9 ; XID_Continue # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 19D0..19D9 ; XID_Continue # Nd [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE 19DA ; XID_Continue # No NEW TAI LUE THAM DIGIT ONE 1A00..1A16 ; XID_Continue # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA @@ -8479,7 +8629,7 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU 31A0..31BA ; XID_Continue # Lo [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY 31F0..31FF ; XID_Continue # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO 3400..4DB5 ; XID_Continue # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 -4E00..9FCC ; XID_Continue # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC +4E00..9FD5 ; XID_Continue # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 A000..A014 ; XID_Continue # Lo [21] YI SYLLABLE IT..YI SYLLABLE E A015 ; XID_Continue # Lm YI SYLLABLE WU A016..A48C ; XID_Continue # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR @@ -8497,7 +8647,7 @@ A674..A67D ; XID_Continue # Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE.. A67F ; XID_Continue # Lm CYRILLIC PAYEROK A680..A69B ; XID_Continue # L& [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O A69C..A69D ; XID_Continue # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN -A69F ; XID_Continue # Mn COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F ; XID_Continue # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E A6A0..A6E5 ; XID_Continue # Lo [70] BAMUM LETTER A..BAMUM LETTER KI A6E6..A6EF ; XID_Continue # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM A6F0..A6F1 ; XID_Continue # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS @@ -8507,8 +8657,9 @@ A770 ; XID_Continue # Lm MODIFIER LETTER US A771..A787 ; XID_Continue # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T A788 ; XID_Continue # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT A78B..A78E ; XID_Continue # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT +A78F ; XID_Continue # Lo LATIN LETTER SINOLOGICAL DOT A790..A7AD ; XID_Continue # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; XID_Continue # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B7 ; XID_Continue # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA A7F7 ; XID_Continue # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I A7F8..A7F9 ; XID_Continue # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE A7FA ; XID_Continue # L& LATIN LETTER SMALL CAPITAL TURNED M @@ -8531,6 +8682,7 @@ A8D0..A8D9 ; XID_Continue # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT A8E0..A8F1 ; XID_Continue # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA A8F2..A8F7 ; XID_Continue # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA A8FB ; XID_Continue # Lo DEVANAGARI HEADSTROKE +A8FD ; XID_Continue # Lo DEVANAGARI JAIN OM A900..A909 ; XID_Continue # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE A90A..A925 ; XID_Continue # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO A926..A92D ; XID_Continue # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU @@ -8602,7 +8754,8 @@ AB20..AB26 ; XID_Continue # Lo [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLAB AB28..AB2E ; XID_Continue # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO AB30..AB5A ; XID_Continue # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG AB5C..AB5F ; XID_Continue # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB64..AB65 ; XID_Continue # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA +AB60..AB65 ; XID_Continue # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA +AB70..ABBF ; XID_Continue # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA ABC0..ABE2 ; XID_Continue # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM ABE3..ABE4 ; XID_Continue # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP ABE5 ; XID_Continue # Mn MEETEI MAYEK VOWEL SIGN ANAP @@ -8634,7 +8787,7 @@ FD50..FD8F ; XID_Continue # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM FD92..FDC7 ; XID_Continue # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM FDF0..FDF9 ; XID_Continue # Lo [10] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE SALLA ISOLATED FORM FE00..FE0F ; XID_Continue # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 -FE20..FE2D ; XID_Continue # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW +FE20..FE2F ; XID_Continue # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF FE33..FE34 ; XID_Continue # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE FE4D..FE4F ; XID_Continue # Pc [3] DASHED LOW LINE..WAVY LOW LINE FE71 ; XID_Continue # Lo ARABIC TATWEEL WITH FATHATAN ABOVE @@ -8696,6 +8849,8 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA 1083F..10855 ; XID_Continue # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW 10860..10876 ; XID_Continue # Lo [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW 10880..1089E ; XID_Continue # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW +108E0..108F2 ; XID_Continue # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F4..108F5 ; XID_Continue # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW 10900..10915 ; XID_Continue # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU 10920..10939 ; XID_Continue # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C 10980..109B7 ; XID_Continue # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA @@ -8719,6 +8874,8 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA 10B60..10B72 ; XID_Continue # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW 10B80..10B91 ; XID_Continue # Lo [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW 10C00..10C48 ; XID_Continue # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH +10C80..10CB2 ; XID_Continue # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CC0..10CF2 ; XID_Continue # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US 11000 ; XID_Continue # Mc BRAHMI SIGN CANDRABINDU 11001 ; XID_Continue # Mn BRAHMI SIGN ANUSVARA 11002 ; XID_Continue # Mc BRAHMI SIGN VISARGA @@ -8750,8 +8907,10 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA 111B6..111BE ; XID_Continue # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O 111BF..111C0 ; XID_Continue # Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA 111C1..111C4 ; XID_Continue # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM +111CA..111CC ; XID_Continue # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK 111D0..111D9 ; XID_Continue # Nd [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE 111DA ; XID_Continue # Lo SHARADA EKAM +111DC ; XID_Continue # Lo SHARADA HEADSTROKE 11200..11211 ; XID_Continue # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA 11213..1122B ; XID_Continue # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA 1122C..1122E ; XID_Continue # Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II @@ -8760,12 +8919,17 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA 11234 ; XID_Continue # Mn KHOJKI SIGN ANUSVARA 11235 ; XID_Continue # Mc KHOJKI SIGN VIRAMA 11236..11237 ; XID_Continue # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA +11280..11286 ; XID_Continue # Lo [7] MULTANI LETTER A..MULTANI LETTER GA +11288 ; XID_Continue # Lo MULTANI LETTER GHA +1128A..1128D ; XID_Continue # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D ; XID_Continue # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8 ; XID_Continue # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA 112B0..112DE ; XID_Continue # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA 112DF ; XID_Continue # Mn KHUDAWADI SIGN ANUSVARA 112E0..112E2 ; XID_Continue # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II 112E3..112EA ; XID_Continue # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA 112F0..112F9 ; XID_Continue # Nd [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE -11301 ; XID_Continue # Mn GRANTHA SIGN CANDRABINDU +11300..11301 ; XID_Continue # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 11302..11303 ; XID_Continue # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA 11305..1130C ; XID_Continue # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L 1130F..11310 ; XID_Continue # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI @@ -8780,6 +8944,7 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA 11341..11344 ; XID_Continue # Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR 11347..11348 ; XID_Continue # Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI 1134B..1134D ; XID_Continue # Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA +11350 ; XID_Continue # Lo GRANTHA OM 11357 ; XID_Continue # Mc GRANTHA AU LENGTH MARK 1135D..11361 ; XID_Continue # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL 11362..11363 ; XID_Continue # Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL @@ -8804,6 +8969,8 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA 115BC..115BD ; XID_Continue # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 115BE ; XID_Continue # Mc SIDDHAM SIGN VISARGA 115BF..115C0 ; XID_Continue # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA +115D8..115DB ; XID_Continue # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U +115DC..115DD ; XID_Continue # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11600..1162F ; XID_Continue # Lo [48] MODI LETTER A..MODI LETTER LLA 11630..11632 ; XID_Continue # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II 11633..1163A ; XID_Continue # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI @@ -8822,13 +8989,22 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA 116B6 ; XID_Continue # Mc TAKRI SIGN VIRAMA 116B7 ; XID_Continue # Mn TAKRI SIGN NUKTA 116C0..116C9 ; XID_Continue # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE +11700..11719 ; XID_Continue # Lo [26] AHOM LETTER KA..AHOM LETTER JHA +1171D..1171F ; XID_Continue # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11720..11721 ; XID_Continue # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11722..11725 ; XID_Continue # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11726 ; XID_Continue # Mc AHOM VOWEL SIGN E +11727..1172B ; XID_Continue # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER +11730..11739 ; XID_Continue # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE 118A0..118DF ; XID_Continue # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO 118E0..118E9 ; XID_Continue # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE 118FF ; XID_Continue # Lo WARANG CITI OM 11AC0..11AF8 ; XID_Continue # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -12000..12398 ; XID_Continue # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME +12000..12399 ; XID_Continue # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U 12400..1246E ; XID_Continue # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM +12480..12543 ; XID_Continue # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU 13000..1342E ; XID_Continue # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 +14400..14646 ; XID_Continue # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 16800..16A38 ; XID_Continue # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ 16A40..16A5E ; XID_Continue # Lo [31] MRO LETTER TA..MRO LETTER TEK 16A60..16A69 ; XID_Continue # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE @@ -8889,6 +9065,12 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA 1D7AA..1D7C2 ; XID_Continue # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA 1D7C4..1D7CB ; XID_Continue # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA 1D7CE..1D7FF ; XID_Continue # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE +1DA00..1DA36 ; XID_Continue # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN +1DA3B..1DA6C ; XID_Continue # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT +1DA75 ; XID_Continue # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA84 ; XID_Continue # Mn SIGNWRITING LOCATION HEAD NECK +1DA9B..1DA9F ; XID_Continue # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF ; XID_Continue # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 1E800..1E8C4 ; XID_Continue # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON 1E8D0..1E8D6 ; XID_Continue # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS 1EE00..1EE03 ; XID_Continue # Lo [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL @@ -8927,10 +9109,11 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA 20000..2A6D6 ; XID_Continue # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 2A700..2B734 ; XID_Continue # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 2B740..2B81D ; XID_Continue # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D +2B820..2CEA1 ; XID_Continue # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 2F800..2FA1D ; XID_Continue # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D E0100..E01EF ; XID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 -# Total code points: 105324 +# Total code points: 112333 # ================================================ @@ -9003,7 +9186,7 @@ E01F0..E0FFF ; Default_Ignorable_Code_Point # Cn [3600] .......... -# Total code points: 10005 +# Total code points: 10146 # ================================================ @@ -8827,6 +8968,7 @@ E01F0..E0FFF ; NFKC_CF; # Cn [3600] .... 10400..10427 ; Changes_When_NFKC_Casefolded # L& [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW +10C80..10CB2 ; Changes_When_NFKC_Casefolded # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US 118A0..118BF ; Changes_When_NFKC_Casefolded # L& [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO 1BCA0..1BCA3 ; Changes_When_NFKC_Casefolded # Cf [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP 1D15E..1D164 ; Changes_When_NFKC_Casefolded # So [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE @@ -9472,6 +9617,6 @@ E0080..E00FF ; Changes_When_NFKC_Casefolded # Cn [128] .... -# Total code points: 10005 +# Total code points: 10146 # EOF diff --git a/lib/unicore/EastAsianWidth.txt b/lib/unicore/EastAsianWidth.txt index f87a2da..b72970e 100644 --- a/lib/unicore/EastAsianWidth.txt +++ b/lib/unicore/EastAsianWidth.txt @@ -1,12 +1,12 @@ -# EastAsianWidth-7.0.0.txt -# Date: 2014-02-28, 23:15:00 GMT [KW, LI] +# EastAsianWidth-8.0.0.txt +# Date: 2015-02-10, 21:00:00 GMT [KW, LI] # # East_Asian_Width Property # # This file is an informative contributory data file in the # Unicode Character Database. # -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # # The format is two fields separated by a semicolon. @@ -23,6 +23,7 @@ # CJK Unified Ideographs Extension B: U+20000..U+2A6DF # CJK Unified Ideographs Extension C: U+2A700..U+2B73F # CJK Unified Ideographs Extension D: U+2B740..U+2B81F +# CJK Unified Ideographs Extension E: U+2B820..U+2CEAF # CJK Compatibility Ideographs Supplement: U+2F800..U+2FA1F # and any other reserved code points on # Planes 2 and 3: U+20000..U+2FFFD @@ -328,8 +329,8 @@ 0840..0858;N # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN 0859..085B;N # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK 085E;N # Po MANDAIC PUNCTUATION -08A0..08B2;N # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE -08E4..08FF;N # Mn [28] ARABIC CURLY FATHA..ARABIC MARK SIDEWAYS NOON GHUNNA +08A0..08B4;N # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW +08E3..08FF;N # Mn [29] ARABIC TURNED DAMMA BELOW..ARABIC MARK SIDEWAYS NOON GHUNNA 0900..0902;N # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA 0903;N # Mc DEVANAGARI SIGN VISARGA 0904..0939;N # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA @@ -421,6 +422,7 @@ 0AE6..0AEF;N # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE 0AF0;N # Po GUJARATI ABBREVIATION SIGN 0AF1;N # Sc GUJARATI RUPEE SIGN +0AF9;N # Lo GUJARATI LETTER ZHA 0B01;N # Mn ORIYA SIGN CANDRABINDU 0B02..0B03;N # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA 0B05..0B0C;N # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L @@ -483,7 +485,7 @@ 0C46..0C48;N # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI 0C4A..0C4D;N # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA 0C55..0C56;N # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK -0C58..0C59;N # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA +0C58..0C5A;N # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA 0C60..0C61;N # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL 0C62..0C63;N # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL 0C66..0C6F;N # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE @@ -524,7 +526,7 @@ 0D4D;N # Mn MALAYALAM SIGN VIRAMA 0D4E;N # Lo MALAYALAM LETTER DOT REPH 0D57;N # Mc MALAYALAM AU LENGTH MARK -0D60..0D61;N # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL +0D5F..0D61;N # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL 0D62..0D63;N # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL 0D66..0D6F;N # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE 0D70..0D75;N # No [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS @@ -680,7 +682,8 @@ 1369..137C;N # No [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND 1380..138F;N # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE 1390..1399;N # So [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT -13A0..13F4;N # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV +13A0..13F5;N # Lu [86] CHEROKEE LETTER A..CHEROKEE LETTER MV +13F8..13FD;N # Ll [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1400;N # Pd CANADIAN SYLLABICS HYPHEN 1401..166C;N # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA 166D..166E;N # Po [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP @@ -748,9 +751,7 @@ 1950..196D;N # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI 1970..1974;N # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 1980..19AB;N # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA -19B0..19C0;N # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY -19C1..19C7;N # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B -19C8..19C9;N # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 +19B0..19C9;N # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 19D0..19D9;N # Nd [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE 19DA;N # No NEW TAI LUE THAM DIGIT ONE 19DE..19DF;N # So [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV @@ -944,7 +945,7 @@ 20A9;H # Sc WON SIGN 20AA..20AB;N # Sc [2] NEW SHEQEL SIGN..DONG SIGN 20AC;A # Sc EURO SIGN -20AD..20BD;N # Sc [17] KIP SIGN..RUBLE SIGN +20AD..20BE;N # Sc [18] KIP SIGN..LARI SIGN 20D0..20DC;N # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE 20DD..20E0;N # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH 20E1;N # Mn COMBINING LEFT RIGHT ARROW ABOVE @@ -1004,6 +1005,7 @@ 2183..2184;N # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C 2185..2188;N # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND 2189;A # No VULGAR FRACTION ZERO THIRDS +218A..218B;N # So [2] TURNED DIGIT TWO..TURNED DIGIT THREE 2190..2194;A # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW 2195..2199;A # So [5] UP DOWN ARROW..SOUTH WEST ARROW 219A..219B;N # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE @@ -1262,6 +1264,7 @@ 2B98..2BB9;N # So [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX 2BBD..2BC8;N # So [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED 2BCA..2BD1;N # So [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN +2BEC..2BEF;N # So [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS 2C00..2C2E;N # Lu [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE 2C30..2C5E;N # Ll [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE 2C60..2C7B;N # L& [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E @@ -1407,8 +1410,8 @@ 3400..4DB5;W # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 4DB6..4DBF;W # Cn [10] .. 4DC0..4DFF;N # So [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION -4E00..9FCC;W # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC -9FCD..9FFF;W # Cn [51] .. +4E00..9FD5;W # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 +9FD6..9FFF;W # Cn [42] .. A000..A014;W # Lo [21] YI SYLLABLE IT..YI SYLLABLE E A015;W # Lm YI SYLLABLE WU A016..A48C;W # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR @@ -1432,7 +1435,7 @@ A67E;N # Po CYRILLIC KAVYKA A67F;N # Lm CYRILLIC PAYEROK A680..A69B;N # L& [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O A69C..A69D;N # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN -A69F;N # Mn COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F;N # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E A6A0..A6E5;N # Lo [70] BAMUM LETTER A..BAMUM LETTER KI A6E6..A6EF;N # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM A6F0..A6F1;N # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS @@ -1446,8 +1449,9 @@ A771..A787;N # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR A788;N # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT A789..A78A;N # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN A78B..A78E;N # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT +A78F;N # Lo LATIN LETTER SINOLOGICAL DOT A790..A7AD;N # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1;N # Lu [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B7;N # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA A7F7;N # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I A7F8..A7F9;N # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE A7FA;N # Ll LATIN LETTER SMALL CAPITAL TURNED M @@ -1479,6 +1483,8 @@ A8E0..A8F1;N # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAG A8F2..A8F7;N # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA A8F8..A8FA;N # Po [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET A8FB;N # Lo DEVANAGARI HEADSTROKE +A8FC;N # Po DEVANAGARI SIGN SIDDHAM +A8FD;N # Lo DEVANAGARI JAIN OM A900..A909;N # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE A90A..A925;N # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO A926..A92D;N # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU @@ -1560,7 +1566,8 @@ AB28..AB2E;N # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO AB30..AB5A;N # Ll [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG AB5B;N # Sk MODIFIER BREVE WITH INVERTED BREVE AB5C..AB5F;N # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB64..AB65;N # Ll [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA +AB60..AB65;N # Ll [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA +AB70..ABBF;N # Ll [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA ABC0..ABE2;N # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM ABE3..ABE4;N # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP ABE5;N # Mn MEETEI MAYEK VOWEL SIGN ANAP @@ -1609,7 +1616,7 @@ FE10..FE16;W # Po [7] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION FE17;W # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET FE18;W # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET FE19;W # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS -FE20..FE2D;N # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW +FE20..FE2F;N # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF FE30;W # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER FE31..FE32;W # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH FE33..FE34;W # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE @@ -1766,6 +1773,9 @@ FFFD;A # So REPLACEMENT CHARACTER 10879..1087F;N # No [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY 10880..1089E;N # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW 108A7..108AF;N # No [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED +108E0..108F2;N # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F4..108F5;N # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW +108FB..108FF;N # No [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED 10900..10915;N # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU 10916..1091B;N # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE 1091F;N # Po PHOENICIAN WORD SEPARATOR @@ -1773,7 +1783,10 @@ FFFD;A # So REPLACEMENT CHARACTER 1093F;N # Po LYDIAN TRIANGULAR MARK 10980..1099F;N # Lo [32] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2 109A0..109B7;N # Lo [24] MEROITIC CURSIVE LETTER A..MEROITIC CURSIVE LETTER DA +109BC..109BD;N # No [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF 109BE..109BF;N # Lo [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN +109C0..109CF;N # No [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY +109D2..109FF;N # No [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS 10A00;N # Lo KHAROSHTHI LETTER A 10A01..10A03;N # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R 10A05..10A06;N # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O @@ -1806,6 +1819,9 @@ FFFD;A # So REPLACEMENT CHARACTER 10B99..10B9C;N # Po [4] PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT 10BA9..10BAF;N # No [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED 10C00..10C48;N # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH +10C80..10CB2;N # Lu [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CC0..10CF2;N # Ll [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US +10CFA..10CFF;N # No [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND 10E60..10E7E;N # No [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS 11000;N # Mc BRAHMI SIGN CANDRABINDU 11001;N # Mn BRAHMI SIGN ANUSVARA @@ -1846,10 +1862,14 @@ FFFD;A # So REPLACEMENT CHARACTER 111B6..111BE;N # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O 111BF..111C0;N # Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA 111C1..111C4;N # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM -111C5..111C8;N # Po [4] SHARADA DANDA..SHARADA SEPARATOR +111C5..111C9;N # Po [5] SHARADA DANDA..SHARADA SANDHI MARK +111CA..111CC;N # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK 111CD;N # Po SHARADA SUTRA MARK 111D0..111D9;N # Nd [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE 111DA;N # Lo SHARADA EKAM +111DB;N # Po SHARADA SIGN SIDDHAM +111DC;N # Lo SHARADA HEADSTROKE +111DD..111DF;N # Po [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2 111E1..111F4;N # No [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND 11200..11211;N # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA 11213..1122B;N # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA @@ -1860,12 +1880,18 @@ FFFD;A # So REPLACEMENT CHARACTER 11235;N # Mc KHOJKI SIGN VIRAMA 11236..11237;N # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA 11238..1123D;N # Po [6] KHOJKI DANDA..KHOJKI ABBREVIATION SIGN +11280..11286;N # Lo [7] MULTANI LETTER A..MULTANI LETTER GA +11288;N # Lo MULTANI LETTER GHA +1128A..1128D;N # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D;N # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8;N # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA +112A9;N # Po MULTANI SECTION MARK 112B0..112DE;N # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA 112DF;N # Mn KHUDAWADI SIGN ANUSVARA 112E0..112E2;N # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II 112E3..112EA;N # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA 112F0..112F9;N # Nd [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE -11301;N # Mn GRANTHA SIGN CANDRABINDU +11300..11301;N # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 11302..11303;N # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA 11305..1130C;N # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L 1130F..11310;N # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI @@ -1880,6 +1906,7 @@ FFFD;A # So REPLACEMENT CHARACTER 11341..11344;N # Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR 11347..11348;N # Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI 1134B..1134D;N # Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA +11350;N # Lo GRANTHA OM 11357;N # Mc GRANTHA AU LENGTH MARK 1135D..11361;N # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL 11362..11363;N # Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL @@ -1905,7 +1932,9 @@ FFFD;A # So REPLACEMENT CHARACTER 115BC..115BD;N # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 115BE;N # Mc SIDDHAM SIGN VISARGA 115BF..115C0;N # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA -115C1..115C9;N # Po [9] SIDDHAM SIGN SIDDHAM..SIDDHAM END OF TEXT MARK +115C1..115D7;N # Po [23] SIDDHAM SIGN SIDDHAM..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES +115D8..115DB;N # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U +115DC..115DD;N # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11600..1162F;N # Lo [48] MODI LETTER A..MODI LETTER LLA 11630..11632;N # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II 11633..1163A;N # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI @@ -1925,15 +1954,27 @@ FFFD;A # So REPLACEMENT CHARACTER 116B6;N # Mc TAKRI SIGN VIRAMA 116B7;N # Mn TAKRI SIGN NUKTA 116C0..116C9;N # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE +11700..11719;N # Lo [26] AHOM LETTER KA..AHOM LETTER JHA +1171D..1171F;N # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11720..11721;N # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11722..11725;N # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11726;N # Mc AHOM VOWEL SIGN E +11727..1172B;N # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER +11730..11739;N # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE +1173A..1173B;N # No [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY +1173C..1173E;N # Po [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI +1173F;N # So AHOM SYMBOL VI 118A0..118DF;N # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO 118E0..118E9;N # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE 118EA..118F2;N # No [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY 118FF;N # Lo WARANG CITI OM 11AC0..11AF8;N # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -12000..12398;N # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME +12000..12399;N # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U 12400..1246E;N # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM 12470..12474;N # Po [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON +12480..12543;N # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU 13000..1342E;N # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 +14400..14646;N # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 16800..16A38;N # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ 16A40..16A5E;N # Lo [31] MRO LETTER TA..MRO LETTER TEK 16A60..16A69;N # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE @@ -1979,7 +2020,7 @@ FFFD;A # So REPLACEMENT CHARACTER 1D185..1D18B;N # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE 1D18C..1D1A9;N # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH 1D1AA..1D1AD;N # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO -1D1AE..1D1DD;N # So [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS +1D1AE..1D1E8;N # So [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN 1D200..1D241;N # So [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54 1D242..1D244;N # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME 1D245;N # So GREEK MUSICAL LEIMMA @@ -2026,6 +2067,18 @@ FFFD;A # So REPLACEMENT CHARACTER 1D7C3;N # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL 1D7C4..1D7CB;N # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA 1D7CE..1D7FF;N # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE +1D800..1D9FF;N # So [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD +1DA00..1DA36;N # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN +1DA37..1DA3A;N # So [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE +1DA3B..1DA6C;N # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT +1DA6D..1DA74;N # So [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING +1DA75;N # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA76..1DA83;N # So [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH +1DA84;N # Mn SIGNWRITING LOCATION HEAD NECK +1DA85..1DA86;N # So [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS +1DA87..1DA8B;N # Po [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS +1DA9B..1DA9F;N # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF;N # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 1E800..1E8C4;N # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON 1E8C7..1E8CF;N # No [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE 1E8D0..1E8D6;N # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS @@ -2081,19 +2134,14 @@ FFFD;A # So REPLACEMENT CHARACTER 1F210..1F23A;W # So [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6 1F240..1F248;W # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557 1F250..1F251;W # So [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT -1F300..1F32C;N # So [45] CYCLONE..WIND BLOWING FACE -1F330..1F37D;N # So [78] CHESTNUT..FORK AND KNIFE WITH PLATE -1F380..1F3CE;N # So [79] RIBBON..RACING CAR -1F3D4..1F3F7;N # So [36] SNOW CAPPED MOUNTAIN..LABEL -1F400..1F4FE;N # So [255] RAT..PORTABLE STEREO -1F500..1F54A;N # So [75] TWISTED RIGHTWARDS ARROWS..DOVE OF PEACE -1F550..1F579;N # So [42] CLOCK FACE ONE OCLOCK..JOYSTICK +1F300..1F3FA;N # So [251] CYCLONE..AMPHORA +1F3FB..1F3FF;N # Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6 +1F400..1F579;N # So [378] RAT..JOYSTICK 1F57B..1F5A3;N # So [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX 1F5A5..1F5FF;N # So [91] DESKTOP COMPUTER..MOYAI -1F600..1F642;N # So [67] GRINNING FACE..SLIGHTLY SMILING FACE -1F645..1F64F;N # So [11] FACE WITH NO GOOD GESTURE..PERSON WITH FOLDED HANDS +1F600..1F64F;N # So [80] GRINNING FACE..PERSON WITH FOLDED HANDS 1F650..1F67F;N # So [48] NORTH WEST POINTING LEAF..REVERSE CHECKER BOARD -1F680..1F6CF;N # So [80] ROCKET..BED +1F680..1F6D0;N # So [81] ROCKET..PLACE OF WORSHIP 1F6E0..1F6EC;N # So [13] HAMMER AND WRENCH..AIRPLANE ARRIVING 1F6F0..1F6F3;N # So [4] SATELLITE..PASSENGER SHIP 1F700..1F773;N # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE @@ -2103,12 +2151,17 @@ FFFD;A # So REPLACEMENT CHARACTER 1F850..1F859;N # So [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW 1F860..1F887;N # So [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW 1F890..1F8AD;N # So [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS +1F910..1F918;N # So [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS +1F980..1F984;N # So [5] CRAB..UNICORN FACE +1F9C0;N # So CHEESE WEDGE 20000..2A6D6;W # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 2A6D7..2A6FF;W # Cn [41] .. 2A700..2B734;W # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 2B735..2B73F;W # Cn [11] .. 2B740..2B81D;W # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D -2B81E..2F7FF;W # Cn [16354] .. +2B81E..2B81F;W # Cn [2] .. +2B820..2CEA1;W # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 +2CEA2..2F7FF;W # Cn [10590] .. 2F800..2FA1D;W # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D 2FA1E..2FFFD;W # Cn [1504] .. 30000..3FFFD;W # Cn [65534] .. diff --git a/lib/unicore/EmojiSources.txt b/lib/unicore/EmojiSources.txt index db8411d..f6185d4 100644 --- a/lib/unicore/EmojiSources.txt +++ b/lib/unicore/EmojiSources.txt @@ -1,8 +1,8 @@ -# EmojiSources-7.0.0.txt -# Date: 2013-12-17, 00:00:00 GMT [MS, KW] +# EmojiSources-8.0.0.txt +# Date: 2015-01-20, 02:00:00 GMT [MS, KW] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ # @@ -16,7 +16,7 @@ # additional data columns providing mappings for additional vendors. # # Created for Unicode 6.0 by Markus Scherer. -# Updated for Unicode 6.1, 6.2, 6.3, and 7.0 by Ken Whistler (no changes to mappings). +# Updated for subsequent versions by Ken Whistler (no changes to mappings). # # Format: Semicolon-delimited file with a fixed number of fields. # The number of fields may increase in the future. diff --git a/lib/unicore/HangulSyllableType.txt b/lib/unicore/HangulSyllableType.txt index f15f592..e30a82b 100644 --- a/lib/unicore/HangulSyllableType.txt +++ b/lib/unicore/HangulSyllableType.txt @@ -1,8 +1,8 @@ -# HangulSyllableType-7.0.0.txt -# Date: 2013-11-27, 09:54:39 GMT [MD] +# HangulSyllableType-8.0.0.txt +# Date: 2014-12-16, 23:07:45 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2013 Unicode, Inc. +# Copyright (c) 1991-2014 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ diff --git a/lib/unicore/Index.txt b/lib/unicore/Index.txt index 1f8269d..196a1e0 100644 --- a/lib/unicore/Index.txt +++ b/lib/unicore/Index.txt @@ -129,6 +129,7 @@ AEGEAN WORD SEPARATOR LINE 10100 AESCULAPIUS, STAFF OF 2695 AFGHANI SIGN 060B African Letters for Clicks 01C0 +Ahom 11700 AIN, LATIN LETTER 1D25 Ainu, Katakana Extensions for 31F0 AIRPLANE 2708 @@ -161,6 +162,7 @@ always 25FB AMPERSAND 0026 Ampersand and Ligature-et Ornaments 1F670 AMPERSAND, TURNED 214B +Anatolian Hieroglyphs 14400 ANCHOR 2693 ANCHOR, INTERLINEAR ANNOTATION FFF9 AND, CURLY LOGICAL 22CF @@ -826,7 +828,9 @@ CHECK MARK, NOT 237B CHECK, BALLOT BOX WITH 2611 CHECKER BOARD 1F67E Checkers, Symbols for Draughts and 26C0 +CHEESE WEDGE 1F9C0 Cherokee 13A0 +Cherokee Supplement AB70 Chess Symbols 2654 Chess Symbols, Japanese 2616 chevron bracket, left 27EA @@ -926,6 +930,7 @@ CJK Unified Ideographs Extension A 3400 CJK Unified Ideographs Extension B 20000 CJK Unified Ideographs Extension C 2A700 CJK Unified Ideographs Extension D 2B740 +CJK Unified Ideographs Extension E 2B820 CLAPPING HANDS SIGN 1F44F claudian antisigma 2183 claudian digamma inversum 2132 @@ -1240,6 +1245,7 @@ COUNTERSINK 2335 COW 1F404 COW FACE 1F42E cr 000D +CRAB 1F980 CREDIT SIGN, TAMIL 0BF7 cremated symbol 26B1 CRESCENT MOON 1F319 @@ -1278,6 +1284,7 @@ cubed 00B3 Cultural Symbols 1F5FB Cuneiform 12000 Cuneiform Numbers and Punctuation 12400 +Cuneiform, Early Dynastic 12480 cup 222A cup of coffee 2615 cup of tea 2615 @@ -1306,6 +1313,7 @@ currency, costa rican 20A1 currency, el salvadorian 20A1 currency, euro european 20AC currency, french 20A3 +currency, georgian 20BE currency, ghana 20B5 currency, greek 20AF currency, indian 20A8 @@ -1343,6 +1351,7 @@ Cyrillic Extensions 048A Cyrillic Historic Letters 0460 Cyrillic Small Letters 0430 Cyrillic Supplement 0500 +CYRILLIC TITLO LEFT HALF, COMBINING FE2E d retroflex hook, latin small letter 0256 D WITH CARON, LATIN SMALL LETTER 010F D WITH CEDILLA, LATIN SMALL LETTER 1E11 @@ -1608,6 +1617,7 @@ DOT PUNCTUATION, TWO 205A dot, greek middle 00B7 DOT, KATAKANA MIDDLE 30FB dot, latin capital letter i 0130 +DOT, LATIN LETTER SINOLOGICAL A78F DOT, MIDDLE 00B7 DOT, SESAME FE45 DOT, VERTICAL LINE WITH MIDDLE 237F @@ -1810,6 +1820,8 @@ EM SPACE 2003 EMBEDDING, LEFT-TO-RIGHT 202A EMBEDDING, RIGHT-TO-LEFT 202B emf 2130 +Emoji Modifiers 1F3FB +Emoticon Faces 1F910 Emoticons 1F600 EMPHASIS MARK, ARMENIAN 055B Emphasis Marks, Sidelining FE45 @@ -2179,6 +2191,7 @@ Georgian 10A0 Georgian Alphabet 10D0 Georgian Capital Letters 10A0 georgian comma 00B7 +georgian currency 20BE Georgian Extensions 10F1 georgian full stop 0589 Georgian Khutsuri 10A0 @@ -2289,6 +2302,7 @@ greek vrachy 0306 GREEK YPOGEGRAMMENI, COMBINING 0345 Greek, Diacritics for 0342 Greek, Precomposed Polytonic 1F00 +Gregorian Musical Symbols 1D1D0 GROUND, EARTH 23DA group lock 21F0 group select (ISO 9995-7) 21E8 @@ -2405,6 +2419,7 @@ HASANTA, SYLOTI NAGRI SIGN A806 hash 0023 hat 0302 hat 2229 +Hatran 108E0 have a nice day! 263A Hazard Dingbats 2620 Head Marks, Tibetan 0F01 @@ -2434,6 +2449,7 @@ HELMET WITH WHITE CROSS 26D1 HERMES, STAFF OF 269A HERMITIAN CONJUGATE MATRIX 22B9 Hexagram Symbols, Yijing / I Ching 4DC0 +Hieroglyphs, Anatolian 14400 Hieroglyphs, Egyptian 13000 High Surrogates D800 HIGH VOLTAGE SIGN 26A1 @@ -2473,6 +2489,7 @@ HORSE 1F40E HORSE FACE 1F434 hospital 26E8 HOT BEVERAGE 2615 +HOT DOG 1F32D HOT SPRINGS 2668 HOURGLASS 231B HOURGLASS WITH FLOWING SAND 23F3 @@ -2481,6 +2498,7 @@ Hours, Ideographic Telegraph Symbols for 3358 HOUSE 2302 HRYVNIA SIGN 20B4 ht 0009 +Hungarian, Old 10C80 HV, LATIN SMALL LETTER 0195 HWAIR, LATIN CAPITAL LETTER 01F6 HYPHEN 2010 @@ -2826,6 +2844,7 @@ Khojki 11200 KHOMUT, THAI CHARACTER 0E5B Khudawadi 112B0 Khutsuri, Georgian 10A0 +Kievan Musical Symbols 1D1DE killer, myanmar 1039 KIP SIGN 20AD kissen 2311 @@ -2890,6 +2909,7 @@ laplace transform 2112 large bowtie 2A1D LARGE CIRCLE 25EF Large Operators 29F8 +LARI SIGN 20BE LAST QUARTER MOON 263E LATERAL CLICK, LATIN LETTER 01C1 Latin Abbreviations, Squared 3371 @@ -3134,6 +3154,7 @@ Linear B Ideograms 10080 Linear B Syllabary 10000 Lines, Horizontal Scan 23BA Lines, Vertical 2223 +LION FACE 1F981 LIPS 1F5E2 LIRA SIGN 20A4 LIRA SIGN, TURKISH 20BA @@ -3444,6 +3465,7 @@ MUCH GREATER-THAN 226B MUCH GREATER-THAN, VERY 22D9 MUCH LESS-THAN 226A MUCH LESS-THAN, VERY 22D8 +Multani 11280 MULTIMAP 22B8 Multiplication and Division Sign Operators 2A2F MULTIPLICATION SIGN 00D7 @@ -3699,6 +3721,7 @@ OHM SIGN, INVERTED 2127 OI, LATIN SMALL LETTER 01A3 OK HAND SIGN 1F44C Ol Chiki 1C50 +Old Hungarian 10C80 Old Italic 10300 Old Permic 10350 Old Persian 103A0 @@ -3962,6 +3985,7 @@ PI, GREEK SMALL LETTER 03C0 pi, mathematical constant 3.141592... 03C0 PICK 26CF Pictographs, Miscellaneous Symbols and 1F300 +Pictographs, Supplemental Symbols and 1F900 Pictures for Control Codes, Graphic 2400 PIG 1F416 PIG FACE 1F437 @@ -4538,6 +4562,7 @@ scissors in rock, paper, scissors game 270C SCISSORS, BLACK 2702 SCISSORS, UPPER BLADE 2701 SCISSORS, WHITE 2704 +SCORPION 1F982 SCORPIUS 264F SCREEN SYMBOL, CLEAR 239A SCREEN SYMBOL, PRINT 2399 @@ -4681,6 +4706,7 @@ sigma, greek small letter lunate 03F2 Signage and Other Symbols 1F6A9 Signs, Warning 2620 Signs, Warning 26A0 +SignWriting, Sutton 1D800 similar to 223C SINE WAVE 223F SINGLE CHARACTER INTRODUCER 009A @@ -4707,6 +4733,7 @@ Sinhala Dependent Vowel Signs 0DCF Sinhala Independent Vowels 0D85 SINHALA SIGN AL-LAKUNA 0DCA sinhala virama 0DCA +SINOLOGICAL DOT, LATIN LETTER A78F SIX DOTS, VERTICAL 2E3D SIX-PER-EM SPACE 2006 SIXTEENTH NOTES, BEAMED 266C @@ -4839,6 +4866,7 @@ SPESMILO SIGN 20B7 SPHERICAL ANGLE 2222 spicy 1F336 Sport Symbols 1F3BD +Sport Symbols 1F3CF SQUARE BELOW, COMBINING 033B SQUARE BRACKET WITH QUILL, LEFT 2045 SQUARE BRACKET WITH QUILL, RIGHT 2046 @@ -4988,6 +5016,7 @@ surjective injection, finite 2918 Surrogates Area D800 Surrogates, High D800 Surrogates, Low DC00 +Sutton SignWriting 1D800 Suzhou Numerals 3021 Svasti Signs 0FD5 SWASH TAIL, LATIN SMALL LETTER S WITH 023F @@ -5011,6 +5040,7 @@ Syloti Nagri A800 Symbol Variants, Fullwidth FFE0 Symbol Variants, Halfwidth FFE8 Symbols and Pictographs, Miscellaneous 1F300 +Symbols and Pictographs, Supplemental 1F900 Symbols and Punctuation, CJK 3000 Symbols Area 2000 Symbols Area, CJK Phonetics and 2E80 @@ -5320,6 +5350,7 @@ TINY 29FE TIPPI, GURMUKHI 0A70 Tirhuta 11480 TIRONIAN SIGN ET 204A +TITLO LEFT HALF, COMBINING CYRILLIC FE2E TODO SOFT HYPHEN, MONGOLIAN 1806 Tone Letters 02E5 Tone Letters, Modifier A700 @@ -5389,6 +5420,7 @@ TSHEG, TIBETAN MARK INTERSYLLABIC 0F0B TUGRIK SIGN 20AE TURBAN, MAN WITH 1F473 turbofan 274B +TURKEY 1F983 Turkic, Old 10C00 TURKISH LIRA SIGN 20BA TURNED A, LATIN SMALL LETTER 0250 @@ -5492,6 +5524,7 @@ Underscores, Overscores and FE49 UNDERTIE 203F UNDERTIE, INVERTED 2054 UNDO SYMBOL 238C +UNICORN FACE 1F984 Unified Canadian Aboriginal Syllabics 1400 Unified Canadian Aboriginal Syllabics Extended 18B0 Unified Ideographs Extension A, CJK 3400 diff --git a/lib/unicore/IndicMatraCategory.txt b/lib/unicore/IndicPositionalCategory.txt similarity index 62% rename from lib/unicore/IndicMatraCategory.txt rename to lib/unicore/IndicPositionalCategory.txt index c3a0943..92cca55 100644 --- a/lib/unicore/IndicMatraCategory.txt +++ b/lib/unicore/IndicPositionalCategory.txt @@ -1,41 +1,34 @@ -# IndicMatraCategory-7.0.0.txt -# Date: 2014-06-03, 07:00:00 GMT [KW, LI, AG, RP] +# IndicPositionalCategory-8.0.0.txt +# Date: 2015-05-12, 10:00:00 GMT [RP, KW, LI] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see UAX #44: Unicode Character Database, # at http://www.unicode.org/reports/tr44/ # -# This file defines the following provisional property: +# This file defines the following property: # -# Indic_Matra_Category enumerated property +# Indic_Positional_Category enumerated property # -# NB: Provisional properties and data files have no associated stability -# guarantees. They are provided in part to determine the possible usefulness -# of a property or other data and to encourage analysis and further investigation -# which may result in their improvement. Provisional properties and data files -# may change arbitrarily, or may even be removed in a future version of the -# Unicode Character Database, if they prove not to be useful. -# -# Scope: This provisional property is aimed at the problem of +# Scope: This property is aimed at the problem of # the specification of syllabic structure for Indic scripts. -# Because dependent vowels (and visible viramas, where they occur) -# are placed in notional slots around the consonant (or consonant -# cluster) core of an Indic syllable, there may be cooccurrence -# constraints or other interactions. Also, it may be desirable, -# in cases where more than one dependent vowel may occur in +# Because dependent vowels (matras), visible viramas, and other +# characters are placed in notional slots around the consonant (or +# consonant cluster) core of an Indic syllable, there may be +# cooccurrence constraints or other interactions. Also, it may be +# desirable, in cases where more than one such character may occur in # sequence, as for example, in a top slot and a bottom slot, to # specify preferred orders for spelling. As such, this property # is designed primarily to supplement the Indic_Syllabic_Category # property. # -# Note that this provisional property is *not* intended as +# Note that this property is *not* intended as # a prescriptive property regarding display or font design, # for a number of reasons. Good font design requires information # that is outside the context of a character encoding standard, # and is best handled in other venues. For Indic dependent -# vowels, in particular: +# vowels and similar characters, in particular: # # 1. Matra placement may vary somewhat based on typeface design. # 2. Matra placement, even within a single script, may vary @@ -52,85 +45,84 @@ # # Format: # Field 0 Unicode code point value or range of code point values -# Field 1 Indic_Matra_Category property value +# Field 1 Indic_Positional_Category property value # # Field 1 is followed by a comment field, starting with the number sign '#', # which shows the General_Category property value, the Unicode character name # or names, and, in lines with ranges of code points, the code point count in # square brackets. # -# The scripts assessed as containing dependent vowels or viramas in the -# structural sense used for the Indic_Matra_Category are the following: +# The scripts assessed as containing dependent vowels or similar characters +# in the structural sense used for the Indic_Positional_Category are the +# following: # -# Balinese, Batak, Bengali, Brahmi, Buginese, Buhid, Chakma, Cham, -# Devanagari, Grantha, Gujarati, Gurmukhi, Hanunoo, Javanese, Kaithi, -# Kannada, Kharoshthi, Khmer, Khojki, Khudawadi, Lao, Lepcha, Limbu, -# Malayalam, Meetei Mayek, Modi, Myanmar, New Tai Lue, Oriya, Rejang, -# Saurashtra, Sharada, Siddham, Sinhala, Sundanese, Syloti Nagri, -# Tagalog, Tagbanwa, Tai Tham, Tai Viet, Takri, Tamil, Telugu, Thai, -# Tibetan, and Tirhuta. +# Ahom, Balinese, Batak, Bengali, Brahmi, Buginese, Buhid, Chakma, +# Cham, Devanagari, Grantha, Gujarati, Gurmukhi, Hanunoo, Javanese, +# Kaithi, Kannada, Kharoshthi, Khmer, Khojki, Khudawadi, Lao, Lepcha, +# Limbu, Malayalam, Meetei Mayek, Modi, Myanmar, New Tai Lue, Oriya, +# Rejang, Saurashtra, Sharada, Siddham, Sinhala, Sundanese, Syloti +# Nagri, Tagalog, Tagbanwa, Tai Tham, Tai Viet, Takri, Tamil, Telugu, +# Thai, Tibetan, and Tirhuta. # # All characters for all other scripts not in that list # take the default value for this property. # # See IndicSyllabicCategory.txt for a slightly more extended # list of Indic scripts, including those which do not have -# dependent vowel characters. Currently, those additional -# Indic scripts without dependent vowel characters are -# Kayah Li, Mahajani, Phags-pa, and Tai Le. +# positional characters. Currently, those additional +# Indic scripts without positional characters are +# Kayah Li, Mahajani, Multani, Phags-pa, and Tai Le. # # ================================================ -# Property: Indic_Matra_Category +# Property: Indic_Positional_Category # -# All code points not explicitly listed for Indic_Matra_Category +# All code points not explicitly listed for Indic_Positional_Category # have the value NA (not applicable). # # @missing: 0000..10FFFF; NA -# Only characters from the following syllabic categories have -# a non-default value for the Indic_Matra_Category property: -# - dependent vowels (Indic_Syllabic_Category=Vowel_Dependent) -# - viramas (Indic_Syllabic_Category=Virama) -# - pure killers (Indic_Syllabic_Category=Pure_Killer) -# - gemination marks (Indic_Syllabic_Category=Gemination_Mark) -# - left-reordrant instances of medial consonants -# (Indic_Syllabic_Category=Consonant_Medial) -# - bindi (Indic_Syllabic_Category=Bindu) in Lepcha -# - repha forms of ra succeeding the main consonant -# (Indic_Syllabic_Category=Consonant_Succeeding_Repha) -# - register shifters (Indic_Syllabic_Category=Register_Shifter) - # ------------------------------------------------ -# Indic_Matra_Category=Right +# Indic_Positional_Category=Right +0903 ; Right # Mc DEVANAGARI SIGN VISARGA 093B ; Right # Mc DEVANAGARI VOWEL SIGN OOE 093E ; Right # Mc DEVANAGARI VOWEL SIGN AA 0940 ; Right # Mc DEVANAGARI VOWEL SIGN II 0949..094C ; Right # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU 094F ; Right # Mc DEVANAGARI VOWEL SIGN AW +0982..0983 ; Right # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA 09BE ; Right # Mc BENGALI VOWEL SIGN AA 09C0 ; Right # Mc BENGALI VOWEL SIGN II 09D7 ; Right # Mc BENGALI AU LENGTH MARK +0A03 ; Right # Mc GURMUKHI SIGN VISARGA 0A3E ; Right # Mc GURMUKHI VOWEL SIGN AA 0A40 ; Right # Mc GURMUKHI VOWEL SIGN II +0A83 ; Right # Mc GUJARATI SIGN VISARGA 0ABE ; Right # Mc GUJARATI VOWEL SIGN AA 0AC0 ; Right # Mc GUJARATI VOWEL SIGN II 0ACB..0ACC ; Right # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU +0B02..0B03 ; Right # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA 0B3E ; Right # Mc ORIYA VOWEL SIGN AA 0B40 ; Right # Mc ORIYA VOWEL SIGN II 0BBE..0BBF ; Right # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I +0BC1..0BC2 ; Right # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU +# Note: U and UU have contextually variable placement in Tamil. 0BD7 ; Right # Mc TAMIL AU LENGTH MARK +0C01..0C03 ; Right # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA 0C41..0C44 ; Right # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR +0C82..0C83 ; Right # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA 0CBE ; Right # Mc KANNADA VOWEL SIGN AA 0CC1..0CC4 ; Right # Mc [4] KANNADA VOWEL SIGN U..KANNADA VOWEL SIGN VOCALIC RR 0CD5..0CD6 ; Right # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK +0D02..0D03 ; Right # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA 0D3E..0D40 ; Right # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II 0D41..0D42 ; Right # Mn [2] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN UU # Note: U and UU form complex ligatures with consonants in older Malayalam orthography. 0D57 ; Right # Mc MALAYALAM AU LENGTH MARK +0D82..0D83 ; Right # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA 0DCF..0DD1 ; Right # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA 0DD8 ; Right # Mc SINHALA VOWEL SIGN GAETTA-PILLA 0DDF ; Right # Mc SINHALA VOWEL SIGN GAYANUKITTA @@ -140,47 +132,75 @@ 0E45 ; Right # Lo THAI CHARACTER LAKKHANGYAO 0EB0 ; Right # Lo LAO VOWEL SIGN A 0EB2..0EB3 ; Right # Lo [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM +0F3E ; Right # Mc TIBETAN SIGN YAR TSHES +0F7F ; Right # Mc TIBETAN SIGN RNAM BCAD 102B..102C ; Right # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA +1038 ; Right # Mc MYANMAR SIGN VISARGA +103B ; Right # Mc MYANMAR CONSONANT SIGN MEDIAL YA 1056..1057 ; Right # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR -1062 ; Right # Mc MYANMAR VOWEL SIGN SGAW KAREN EU -1067..1068 ; Right # Mc [2] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR VOWEL SIGN WESTERN PWO KAREN UE +1062..1064 ; Right # Mc [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO +1067..106D ; Right # Mc [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5 1083 ; Right # Mc MYANMAR VOWEL SIGN SHAN AA -109C ; Right # Mc MYANMAR VOWEL SIGN AITON A +1087..108C ; Right # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3 +108F ; Right # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5 +109A..109C ; Right # Mc [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A 17B6 ; Right # Mc KHMER VOWEL SIGN AA -17C8 ; Right # Mc KHMER SIGN YUUKALEAPINTU +17C7..17C8 ; Right # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU 1923..1924 ; Right # Mc [2] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AI -19B0..19B4 ; Right # Mc [5] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN UU -19B8..19B9 ; Right # Mc [2] NEW TAI LUE VOWEL SIGN OA..NEW TAI LUE VOWEL SIGN UE -19BB..19C0 ; Right # Mc [6] NEW TAI LUE VOWEL SIGN AAY..NEW TAI LUE VOWEL SIGN IY +1929..192B ; Right # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA +1930..1931 ; Right # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA +1933..1938 ; Right # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA +19B0..19B4 ; Right # Lo [5] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN UU +19B8..19B9 ; Right # Lo [2] NEW TAI LUE VOWEL SIGN OA..NEW TAI LUE VOWEL SIGN UE +19BB..19C0 ; Right # Lo [6] NEW TAI LUE VOWEL SIGN AAY..NEW TAI LUE VOWEL SIGN IY +19C8..19C9 ; Right # Lo [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 1A1A ; Right # Mc BUGINESE VOWEL SIGN O +1A57 ; Right # Mc TAI THAM CONSONANT SIGN LA TANG LAI 1A61 ; Right # Mc TAI THAM VOWEL SIGN A 1A63..1A64 ; Right # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA 1A6D ; Right # Mc TAI THAM VOWEL SIGN OY +1B04 ; Right # Mc BALINESE SIGN BISAH 1B35 ; Right # Mc BALINESE VOWEL SIGN TEDUNG 1B44 ; Right # Mc BALINESE ADEG ADEG +1B82 ; Right # Mc SUNDANESE SIGN PANGWISAD +1BA1 ; Right # Mc SUNDANESE CONSONANT SIGN PAMINGKAL 1BA7 ; Right # Mc SUNDANESE VOWEL SIGN PANOLONG 1BAA ; Right # Mc SUNDANESE SIGN PAMAAEH 1BE7 ; Right # Mc BATAK VOWEL SIGN E 1BEA..1BEC ; Right # Mc [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O 1BEE ; Right # Mc BATAK VOWEL SIGN U 1BF2..1BF3 ; Right # Mc [2] BATAK PANGOLAT..BATAK PANONGONAN -1C26 ; Right # Mc LEPCHA VOWEL SIGN AA +1C24..1C26 ; Right # Mc [3] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN AA 1C2A..1C2B ; Right # Mc [2] LEPCHA VOWEL SIGN U..LEPCHA VOWEL SIGN UU +1CE1 ; Right # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA A823..A824 ; Right # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I A827 ; Right # Mc SYLOTI NAGRI VOWEL SIGN OO -A8B5..A8C3 ; Right # Mc [15] SAURASHTRA VOWEL SIGN AA..SAURASHTRA VOWEL SIGN AU -A953 ; Right # Mc REJANG VIRAMA +A880..A881 ; Right # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA +A8B4..A8C3 ; Right # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU +A952..A953 ; Right # Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA +A983 ; Right # Mc JAVANESE SIGN WIGNYAN A9B4..A9B5 ; Right # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG +A9BD..A9BF ; Right # Mc [3] JAVANESE CONSONANT SIGN KERET..JAVANESE CONSONANT SIGN CAKRA +AA33 ; Right # Mc CHAM CONSONANT SIGN YA +AA4D ; Right # Mc CHAM CONSONANT SIGN FINAL H +AA7B ; Right # Mc MYANMAR SIGN PAO KAREN TONE +AA7D ; Right # Mc MYANMAR SIGN TAI LAING TONE-5 AAB1 ; Right # Lo TAI VIET VOWEL AA AABA ; Right # Lo TAI VIET VOWEL UA AABD ; Right # Lo TAI VIET VOWEL AN AAEF ; Right # Mc MEETEI MAYEK VOWEL SIGN AAU +AAF5 ; Right # Mc MEETEI MAYEK VOWEL SIGN VISARGA ABE3..ABE4 ; Right # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP ABE6..ABE7 ; Right # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP ABE9..ABEA ; Right # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG +ABEC ; Right # Mc MEETEI MAYEK LUM IYEK +11000 ; Right # Mc BRAHMI SIGN CANDRABINDU +11002 ; Right # Mc BRAHMI SIGN VISARGA +11082 ; Right # Mc KAITHI SIGN VISARGA 110B0 ; Right # Mc KAITHI VOWEL SIGN AA 110B2 ; Right # Mc KAITHI VOWEL SIGN II 110B7..110B8 ; Right # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU +11182 ; Right # Mc SHARADA SIGN VISARGA 111B3 ; Right # Mc SHARADA VOWEL SIGN AA 111B5 ; Right # Mc SHARADA VOWEL SIGN II 111C0 ; Right # Mc SHARADA SIGN VIRAMA @@ -188,6 +208,7 @@ ABE9..ABEA ; Right # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK V 11235 ; Right # Mc KHOJKI SIGN VIRAMA 112E0 ; Right # Mc KHUDAWADI VOWEL SIGN AA 112E2 ; Right # Mc KHUDAWADI VOWEL SIGN II +11302..11303 ; Right # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA 1133E..1133F ; Right # Mc [2] GRANTHA VOWEL SIGN AA..GRANTHA VOWEL SIGN I 11341..11342 ; Right # Mc [2] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN UU # Note: U and UU have contextually variable placement in Grantha. @@ -198,13 +219,19 @@ ABE9..ABEA ; Right # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK V 114B0 ; Right # Mc TIRHUTA VOWEL SIGN AA 114B2 ; Right # Mc TIRHUTA VOWEL SIGN II 114BD ; Right # Mc TIRHUTA VOWEL SIGN SHORT O +114C1 ; Right # Mc TIRHUTA SIGN VISARGA 115AF ; Right # Mc SIDDHAM VOWEL SIGN AA 115B1 ; Right # Mc SIDDHAM VOWEL SIGN II +115BE ; Right # Mc SIDDHAM SIGN VISARGA 11630..11632 ; Right # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II 1163B..1163C ; Right # Mc [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU +1163E ; Right # Mc MODI SIGN VISARGA +116AC ; Right # Mc TAKRI SIGN VISARGA 116AF ; Right # Mc TAKRI VOWEL SIGN II +116B6 ; Right # Mc TAKRI SIGN VIRAMA +11720..11721 ; Right # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA -# Indic_Matra_Category=Left +# Indic_Positional_Category=Left 093F ; Left # Mc DEVANAGARI VOWEL SIGN I 094E ; Left # Mc DEVANAGARI VOWEL SIGN PRISHTHAMATRA E @@ -217,11 +244,10 @@ ABE9..ABEA ; Right # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK V 0D46..0D48 ; Left # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI 0DD9 ; Left # Mc SINHALA VOWEL SIGN KOMBUVA 0DDB ; Left # Mc SINHALA VOWEL SIGN KOMBU DEKA +0F3F ; Left # Mc TIBETAN SIGN MAR TSHES 1031 ; Left # Mc MYANMAR VOWEL SIGN E 1084 ; Left # Mc MYANMAR VOWEL SIGN SHAN E 17C1..17C3 ; Left # Mc [3] KHMER VOWEL SIGN E..KHMER VOWEL SIGN AI -19B5..19B7 ; Left # Mc [3] NEW TAI LUE VOWEL SIGN E..NEW TAI LUE VOWEL SIGN O -19BA ; Left # Mc NEW TAI LUE VOWEL SIGN AY 1A19 ; Left # Mc BUGINESE VOWEL SIGN E 1A55 ; Left # Mc TAI THAM CONSONANT SIGN MEDIAL RA 1A6E..1A72 ; Left # Mc [5] TAI THAM VOWEL SIGN E..TAI THAM VOWEL SIGN THAM AI @@ -244,8 +270,9 @@ AAEE ; Left # Mc MEETEI MAYEK VOWEL SIGN AU 115B0 ; Left # Mc SIDDHAM VOWEL SIGN I 115B8 ; Left # Mc SIDDHAM VOWEL SIGN E 116AE ; Left # Mc TAKRI VOWEL SIGN I +11726 ; Left # Mc AHOM VOWEL SIGN E -# Indic_Matra_Category=Visual_Order_Left +# Indic_Positional_Category=Visual_Order_Left # These are dependent vowels that occur to the left of the consonant # letter in a syllable, but which occur in scripts using the visual order @@ -257,11 +284,13 @@ AAEE ; Left # Mc MEETEI MAYEK VOWEL SIGN AU 0E40..0E44 ; Visual_Order_Left # Lo [5] THAI CHARACTER SARA E..THAI CHARACTER SARA AI MAIMALAI 0EC0..0EC4 ; Visual_Order_Left # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI +19B5..19B7 ; Visual_Order_Left # Lo [3] NEW TAI LUE VOWEL SIGN E..NEW TAI LUE VOWEL SIGN O +19BA ; Visual_Order_Left # Lo NEW TAI LUE VOWEL SIGN AY AAB5..AAB6 ; Visual_Order_Left # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O AAB9 ; Visual_Order_Left # Lo TAI VIET VOWEL UEA AABB..AABC ; Visual_Order_Left # Lo [2] TAI VIET VOWEL AUE..TAI VIET VOWEL AY -# Indic_Matra_Category=Left_And_Right +# Indic_Positional_Category=Left_And_Right 09CB..09CC ; Left_And_Right # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU 0B4B ; Left_And_Right # Mc ORIYA VOWEL SIGN O @@ -277,42 +306,55 @@ AABB..AABC ; Visual_Order_Left # Lo [2] TAI VIET VOWEL AUE..TAI VIET VOWEL 114BE ; Left_And_Right # Mc TIRHUTA VOWEL SIGN AU 115BA ; Left_And_Right # Mc SIDDHAM VOWEL SIGN O -# Indic_Matra_Category=Top +# Indic_Positional_Category=Top +0900..0902 ; Top # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA 093A ; Top # Mn DEVANAGARI VOWEL SIGN OE 0945..0948 ; Top # Mn [4] DEVANAGARI VOWEL SIGN CANDRA E..DEVANAGARI VOWEL SIGN AI -0955 ; Top # Mn DEVANAGARI VOWEL SIGN CANDRA LONG E +0951 ; Top # Mn DEVANAGARI STRESS SIGN UDATTA +0953..0955 ; Top # Mn [3] DEVANAGARI GRAVE ACCENT..DEVANAGARI VOWEL SIGN CANDRA LONG E +0981 ; Top # Mn BENGALI SIGN CANDRABINDU +0A01..0A02 ; Top # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI 0A47..0A48 ; Top # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI 0A4B..0A4C ; Top # Mn [2] GURMUKHI VOWEL SIGN OO..GURMUKHI VOWEL SIGN AU -0A71 ; Top # Mn GURMUKHI ADDAK +0A70..0A71 ; Top # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK +0A81..0A82 ; Top # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA 0AC5 ; Top # Mn GUJARATI VOWEL SIGN CANDRA E 0AC7..0AC8 ; Top # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI +0B01 ; Top # Mn ORIYA SIGN CANDRABINDU 0B3F ; Top # Mn ORIYA VOWEL SIGN I 0B56 ; Top # Mn ORIYA AI LENGTH MARK +0B82 ; Top # Mn TAMIL SIGN ANUSVARA 0BC0 ; Top # Mn TAMIL VOWEL SIGN II 0BCD ; Top # Mn TAMIL SIGN VIRAMA +0C00 ; Top # Mn TELUGU SIGN COMBINING CANDRABINDU ABOVE 0C3E..0C40 ; Top # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II 0C46..0C47 ; Top # Mn [2] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN EE 0C4A..0C4D ; Top # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA 0C55 ; Top # Mn TELUGU LENGTH MARK +0C81 ; Top # Mn KANNADA SIGN CANDRABINDU 0CBF ; Top # Mn KANNADA VOWEL SIGN I 0CC6 ; Top # Mn KANNADA VOWEL SIGN E 0CCC..0CCD ; Top # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA +0D01 ; Top # Mn MALAYALAM SIGN CANDRABINDU 0D4D ; Top # Mn MALAYALAM SIGN VIRAMA 0DCA ; Top # Mn SINHALA SIGN AL-LAKUNA 0DD2..0DD3 ; Top # Mn [2] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN DIGA IS-PILLA 0E31 ; Top # Mn THAI CHARACTER MAI HAN-AKAT 0E34..0E37 ; Top # Mn [4] THAI CHARACTER SARA I..THAI CHARACTER SARA UEE -0E47 ; Top # Mn THAI CHARACTER MAITAIKHU -0E4E ; Top # Mn THAI CHARACTER YAMAKKAN +0E47..0E4E ; Top # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN 0EB1 ; Top # Mn LAO VOWEL SIGN MAI KAN 0EB4..0EB7 ; Top # Mn [4] LAO VOWEL SIGN I..LAO VOWEL SIGN YY 0EBB ; Top # Mn LAO VOWEL SIGN MAI KON +0EC8..0ECD ; Top # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA +0F39 ; Top # Mn TIBETAN MARK TSA -PHRU 0F72 ; Top # Mn TIBETAN VOWEL SIGN I -0F7A..0F7D ; Top # Mn [4] TIBETAN VOWEL SIGN E..TIBETAN VOWEL SIGN OO +0F7A..0F7E ; Top # Mn [5] TIBETAN VOWEL SIGN E..TIBETAN SIGN RJES SU NGA RO 0F80 ; Top # Mn TIBETAN VOWEL SIGN REVERSED I +0F82..0F83 ; Top # Mn [2] TIBETAN SIGN NYI ZLA NAA DA..TIBETAN SIGN SNA LDAN +0F86..0F87 ; Top # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS 102D..102E ; Top # Mn [2] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN II -1032..1035 ; Top # Mn [4] MYANMAR VOWEL SIGN AI..MYANMAR VOWEL SIGN E ABOVE +1032..1036 ; Top # Mn [5] MYANMAR VOWEL SIGN AI..MYANMAR SIGN ANUSVARA 103A ; Top # Mn MYANMAR SIGN ASAT 1071..1074 ; Top # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE 1085..1086 ; Top # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y @@ -322,77 +364,129 @@ AABB..AABC ; Visual_Order_Left # Lo [2] TAI VIET VOWEL AUE..TAI VIET VOWEL 1752 ; Top # Mn BUHID VOWEL SIGN I 1772 ; Top # Mn TAGBANWA VOWEL SIGN I 17B7..17BA ; Top # Mn [4] KHMER VOWEL SIGN I..KHMER VOWEL SIGN YY +17C6 ; Top # Mn KHMER SIGN NIKAHIT 17C9..17D1 ; Top # Mn [9] KHMER SIGN MUUSIKATOAN..KHMER SIGN VIRIAM 17D3 ; Top # Mn KHMER SIGN BATHAMASAT +17DD ; Top # Mn KHMER SIGN ATTHACAN 1920..1921 ; Top # Mn [2] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN I 1927..1928 ; Top # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O +193A ; Top # Mn LIMBU SIGN KEMPHRENG 1A17 ; Top # Mn BUGINESE VOWEL SIGN I 1A1B ; Top # Mn BUGINESE VOWEL SIGN AE +1A58..1A5A ; Top # Mn [3] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN LOW PA 1A62 ; Top # Mn TAI THAM VOWEL SIGN MAI SAT 1A65..1A68 ; Top # Mn [4] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN UUE 1A6B ; Top # Mn TAI THAM VOWEL SIGN O -1A73..1A74 ; Top # Mn [2] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN MAI KANG +1A73..1A7C ; Top # Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN +1B00..1B03 ; Top # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG +1B34 ; Top # Mn BALINESE SIGN REREKAN 1B36..1B37 ; Top # Mn [2] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN ULU SARI 1B42 ; Top # Mn BALINESE VOWEL SIGN PEPET +1B6B ; Top # Mn BALINESE MUSICAL SYMBOL COMBINING TEGEH +1B6D..1B73 ; Top # Mn [7] BALINESE MUSICAL SYMBOL COMBINING KEMPUL..BALINESE MUSICAL SYMBOL COMBINING GONG +1B80..1B81 ; Top # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR 1BA4 ; Top # Mn SUNDANESE VOWEL SIGN PANGHULU 1BA8..1BA9 ; Top # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG +1BE6 ; Top # Mn BATAK SIGN TOMPI 1BE8..1BE9 ; Top # Mn [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE 1BED ; Top # Mn BATAK VOWEL SIGN KARO O -1BEF ; Top # Mn BATAK VOWEL SIGN U FOR SIMALUNGUN SA +1BEF..1BF1 ; Top # Mn [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H +1C2D..1C33 ; Top # Mn [7] LEPCHA CONSONANT SIGN K..LEPCHA CONSONANT SIGN T +1C36 ; Top # Mn LEPCHA SIGN RAN +1CD0..1CD2 ; Top # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA +1CDA..1CDB ; Top # Mn [2] VEDIC TONE DOUBLE SVARITA..VEDIC TONE TRIPLE SVARITA +1CE0 ; Top # Mn VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA +1CF4 ; Top # Mn VEDIC TONE CANDRA ABOVE A806 ; Top # Mn SYLOTI NAGRI SIGN HASANTA +A80B ; Top # Mn SYLOTI NAGRI SIGN ANUSVARA A826 ; Top # Mn SYLOTI NAGRI VOWEL SIGN E +A8E0..A8F1 ; Top # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA A94A ; Top # Mn REJANG VOWEL SIGN AI +A94F..A951 ; Top # Mn [3] REJANG CONSONANT SIGN NG..REJANG CONSONANT SIGN R +A980..A982 ; Top # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR +A9B3 ; Top # Mn JAVANESE SIGN CECAK TELU A9B6..A9B7 ; Top # Mn [2] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN WULU MELIK A9BC ; Top # Mn JAVANESE VOWEL SIGN PEPET +A9E5 ; Top # Mn MYANMAR SIGN SHAN SAW AA29..AA2C ; Top # Mn [4] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN EI AA2E ; Top # Mn CHAM VOWEL SIGN OE AA31 ; Top # Mn CHAM VOWEL SIGN AU +AA43 ; Top # Mn CHAM CONSONANT SIGN FINAL NG +AA4C ; Top # Mn CHAM CONSONANT SIGN FINAL M +AA7C ; Top # Mn MYANMAR SIGN TAI LAING TONE-2 AAB0 ; Top # Mn TAI VIET MAI KANG AAB2..AAB3 ; Top # Mn [2] TAI VIET VOWEL I..TAI VIET VOWEL UE AAB7..AAB8 ; Top # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA -AABE ; Top # Mn TAI VIET VOWEL AM +AABE..AABF ; Top # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK +AAC1 ; Top # Mn TAI VIET TONE MAI THO AAED ; Top # Mn MEETEI MAYEK VOWEL SIGN AAI ABE5 ; Top # Mn MEETEI MAYEK VOWEL SIGN ANAP 10A05 ; Top # Mn KHAROSHTHI VOWEL SIGN E +10A0F ; Top # Mn KHAROSHTHI SIGN VISARGA +10A38 ; Top # Mn KHAROSHTHI SIGN BAR ABOVE +11001 ; Top # Mn BRAHMI SIGN ANUSVARA 11038..1103B ; Top # Mn [4] BRAHMI VOWEL SIGN AA..BRAHMI VOWEL SIGN II 11042..11046 ; Top # Mn [5] BRAHMI VOWEL SIGN E..BRAHMI VIRAMA +11080..11081 ; Top # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA 110B5..110B6 ; Top # Mn [2] KAITHI VOWEL SIGN E..KAITHI VOWEL SIGN AI +11100..11102 ; Top # Mn [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA 11127..11129 ; Top # Mn [3] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN II 1112D ; Top # Mn CHAKMA VOWEL SIGN AI 11130 ; Top # Mn CHAKMA VOWEL SIGN OI 11134 ; Top # Mn CHAKMA MAAYYAA +11180..11181 ; Top # Mn [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA 111BC..111BE ; Top # Mn [3] SHARADA VOWEL SIGN E..SHARADA VOWEL SIGN O +111CB ; Top # Mn SHARADA VOWEL MODIFIER MARK 11230..11231 ; Top # Mn [2] KHOJKI VOWEL SIGN E..KHOJKI VOWEL SIGN AI -11237 ; Top # Mn KHOJKI SIGN SHADDA +11234 ; Top # Mn KHOJKI SIGN ANUSVARA +11236..11237 ; Top # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA +112DF ; Top # Mn KHUDAWADI SIGN ANUSVARA 112E5..112E8 ; Top # Mn [4] KHUDAWADI VOWEL SIGN E..KHUDAWADI VOWEL SIGN AU +11301 ; Top # Mn GRANTHA SIGN CANDRABINDU 11340 ; Top # Mn GRANTHA VOWEL SIGN II +11366..1136C ; Top # Mn [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX +11370..11374 ; Top # Mn [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA 114BA ; Top # Mn TIRHUTA VOWEL SIGN SHORT E +114BF..114C0 ; Top # Mn [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA +115BC..115BD ; Top # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 11639..1163A ; Top # Mn [2] MODI VOWEL SIGN E..MODI VOWEL SIGN AI +1163D ; Top # Mn MODI SIGN ANUSVARA +11640 ; Top # Mn MODI SIGN ARDHACANDRA +116AB ; Top # Mn TAKRI SIGN ANUSVARA 116AD ; Top # Mn TAKRI VOWEL SIGN AA 116B2..116B5 ; Top # Mn [4] TAKRI VOWEL SIGN E..TAKRI VOWEL SIGN AU -116B6 ; Top # Mc TAKRI SIGN VIRAMA +1171F ; Top # Mn AHOM CONSONANT SIGN MEDIAL LIGATING RA +11722..11723 ; Top # Mn [2] AHOM VOWEL SIGN I..AHOM VOWEL SIGN II +11727 ; Top # Mn AHOM VOWEL SIGN AW +11729..1172B ; Top # Mn [3] AHOM VOWEL SIGN AI..AHOM SIGN KILLER -# Indic_Matra_Category=Bottom +# Indic_Positional_Category=Bottom +093C ; Bottom # Mn DEVANAGARI SIGN NUKTA 0941..0944 ; Bottom # Mn [4] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN VOCALIC RR 094D ; Bottom # Mn DEVANAGARI SIGN VIRAMA +0952 ; Bottom # Mn DEVANAGARI STRESS SIGN ANUDATTA 0956..0957 ; Bottom # Mn [2] DEVANAGARI VOWEL SIGN UE..DEVANAGARI VOWEL SIGN UUE 0962..0963 ; Bottom # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL +09BC ; Bottom # Mn BENGALI SIGN NUKTA 09C1..09C4 ; Bottom # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR 09CD ; Bottom # Mn BENGALI SIGN VIRAMA 09E2..09E3 ; Bottom # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL +0A3C ; Bottom # Mn GURMUKHI SIGN NUKTA 0A41..0A42 ; Bottom # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU 0A4D ; Bottom # Mn GURMUKHI SIGN VIRAMA +0A75 ; Bottom # Mn GURMUKHI SIGN YAKASH +0ABC ; Bottom # Mn GUJARATI SIGN NUKTA 0AC1..0AC4 ; Bottom # Mn [4] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN VOCALIC RR 0ACD ; Bottom # Mn GUJARATI SIGN VIRAMA 0AE2..0AE3 ; Bottom # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL +0B3C ; Bottom # Mn ORIYA SIGN NUKTA 0B41..0B44 ; Bottom # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR 0B4D ; Bottom # Mn ORIYA SIGN VIRAMA 0B62..0B63 ; Bottom # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL -0BC1..0BC2 ; Bottom # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU -# Note: U and UU have contextually variable placement in Tamil. 0C56 ; Bottom # Mn TELUGU AI LENGTH MARK 0C62..0C63 ; Bottom # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL +0CBC ; Bottom # Mn KANNADA SIGN NUKTA 0CE2..0CE3 ; Bottom # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL 0D43..0D44 ; Bottom # Mn [2] MALAYALAM VOWEL SIGN VOCALIC R..MALAYALAM VOWEL SIGN VOCALIC RR 0D62..0D63 ; Bottom # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL @@ -400,54 +494,89 @@ ABE5 ; Top # Mn MEETEI MAYEK VOWEL SIGN ANAP 0DD6 ; Bottom # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA 0E38..0E3A ; Bottom # Mn [3] THAI CHARACTER SARA U..THAI CHARACTER PHINTHU 0EB8..0EB9 ; Bottom # Mn [2] LAO VOWEL SIGN U..LAO VOWEL SIGN UU +0EBC ; Bottom # Mn LAO SEMIVOWEL SIGN LO +0F18..0F19 ; Bottom # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS +0F35 ; Bottom # Mn TIBETAN MARK NGAS BZUNG NYI ZLA +0F37 ; Bottom # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS 0F71 ; Bottom # Mn TIBETAN VOWEL SIGN AA 0F74..0F75 ; Bottom # Mn [2] TIBETAN VOWEL SIGN U..TIBETAN VOWEL SIGN UU 0F84 ; Bottom # Mn TIBETAN MARK HALANTA +0F8D..0F97 ; Bottom # Mn [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA +0F99..0FBC ; Bottom # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA +0FC6 ; Bottom # Mn TIBETAN SYMBOL PADMA GDAN 102F..1030 ; Bottom # Mn [2] MYANMAR VOWEL SIGN U..MYANMAR VOWEL SIGN UU +1037 ; Bottom # Mn MYANMAR SIGN DOT BELOW +103D..103E ; Bottom # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA 1058..1059 ; Bottom # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL +105E..1060 ; Bottom # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA +1082 ; Bottom # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA +108D ; Bottom # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE 1713..1714 ; Bottom # Mn [2] TAGALOG VOWEL SIGN U..TAGALOG SIGN VIRAMA 1733..1734 ; Bottom # Mn [2] HANUNOO VOWEL SIGN U..HANUNOO SIGN PAMUDPOD 1753 ; Bottom # Mn BUHID VOWEL SIGN U 1773 ; Bottom # Mn TAGBANWA VOWEL SIGN U 17BB..17BD ; Bottom # Mn [3] KHMER VOWEL SIGN U..KHMER VOWEL SIGN UA 1922 ; Bottom # Mn LIMBU VOWEL SIGN U +1932 ; Bottom # Mn LIMBU SMALL LETTER ANUSVARA +1939 ; Bottom # Mn LIMBU SIGN MUKPHRENG +193B ; Bottom # Mn LIMBU SIGN SA-I 1A18 ; Bottom # Mn BUGINESE VOWEL SIGN U +1A56 ; Bottom # Mn TAI THAM CONSONANT SIGN MEDIAL LA +1A5B..1A5E ; Bottom # Mn [4] TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA..TAI THAM CONSONANT SIGN SA 1A69..1A6A ; Bottom # Mn [2] TAI THAM VOWEL SIGN U..TAI THAM VOWEL SIGN UU 1A6C ; Bottom # Mn TAI THAM VOWEL SIGN OA BELOW +1A7F ; Bottom # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT 1B38..1B3A ; Bottom # Mn [3] BALINESE VOWEL SIGN SUKU..BALINESE VOWEL SIGN RA REPA +1B6C ; Bottom # Mn BALINESE MUSICAL SYMBOL COMBINING ENDEP +1BA2..1BA3 ; Bottom # Mn [2] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE CONSONANT SIGN PANYIKU 1BA5 ; Bottom # Mn SUNDANESE VOWEL SIGN PANYUKU +1BAC..1BAD ; Bottom # Mn [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA 1C2C ; Bottom # Mn LEPCHA VOWEL SIGN E +1C37 ; Bottom # Mn LEPCHA SIGN NUKTA +1CD5..1CD9 ; Bottom # Mn [5] VEDIC TONE YAJURVEDIC AGGRAVATED INDEPENDENT SVARITA..VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER +1CDC..1CDF ; Bottom # Mn [4] VEDIC TONE KATHAKA ANUDATTA..VEDIC TONE THREE DOTS BELOW +1CED ; Bottom # Mn VEDIC SIGN TIRYAK A825 ; Bottom # Mn SYLOTI NAGRI VOWEL SIGN U A8C4 ; Bottom # Mn SAURASHTRA SIGN VIRAMA +A92B..A92D ; Bottom # Mn [3] KAYAH LI TONE PLOPHU..KAYAH LI TONE CALYA PLOPHU A947..A949 ; Bottom # Mn [3] REJANG VOWEL SIGN I..REJANG VOWEL SIGN E A94B..A94E ; Bottom # Mn [4] REJANG VOWEL SIGN O..REJANG VOWEL SIGN EA A9B8..A9B9 ; Bottom # Mn [2] JAVANESE VOWEL SIGN SUKU..JAVANESE VOWEL SIGN SUKU MENDUT AA2D ; Bottom # Mn CHAM VOWEL SIGN U AA32 ; Bottom # Mn CHAM VOWEL SIGN UE +AA35..AA36 ; Bottom # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA AAB4 ; Bottom # Mn TAI VIET VOWEL U AAEC ; Bottom # Mn MEETEI MAYEK VOWEL SIGN UU ABE8 ; Bottom # Mn MEETEI MAYEK VOWEL SIGN UNAP ABED ; Bottom # Mn MEETEI MAYEK APUN IYEK 10A02..10A03 ; Bottom # Mn [2] KHAROSHTHI VOWEL SIGN U..KHAROSHTHI VOWEL SIGN VOCALIC R -10A0C ; Bottom # Mn KHAROSHTHI VOWEL LENGTH MARK +10A0C..10A0E ; Bottom # Mn [3] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN ANUSVARA +10A39..10A3A ; Bottom # Mn [2] KHAROSHTHI SIGN CAUDA..KHAROSHTHI SIGN DOT BELOW 1103C..11041 ; Bottom # Mn [6] BRAHMI VOWEL SIGN U..BRAHMI VOWEL SIGN VOCALIC LL 110B3..110B4 ; Bottom # Mn [2] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN UU -110B9 ; Bottom # Mn KAITHI SIGN VIRAMA +110B9..110BA ; Bottom # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA 1112A..1112B ; Bottom # Mn [2] CHAKMA VOWEL SIGN U..CHAKMA VOWEL SIGN UU 11131..11132 ; Bottom # Mn [2] CHAKMA O MARK..CHAKMA AU MARK +11173 ; Bottom # Mn MAHAJANI SIGN NUKTA 111B6..111BB ; Bottom # Mn [6] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN VOCALIC LL +111CC ; Bottom # Mn SHARADA EXTRA SHORT VOWEL MARK 1122F ; Bottom # Mn KHOJKI VOWEL SIGN U 112E3..112E4 ; Bottom # Mn [2] KHUDAWADI VOWEL SIGN U..KHUDAWADI VOWEL SIGN UU -112EA ; Bottom # Mn KHUDAWADI SIGN VIRAMA +112E9..112EA ; Bottom # Mn [2] KHUDAWADI SIGN NUKTA..KHUDAWADI SIGN VIRAMA 114B3..114B8 ; Bottom # Mn [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL -114C2 ; Bottom # Mn TIRHUTA SIGN VIRAMA +114C2..114C3 ; Bottom # Mn [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA 115B2..115B5 ; Bottom # Mn [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR -115BF ; Bottom # Mn SIDDHAM SIGN VIRAMA +115BF..115C0 ; Bottom # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA +115DC..115DD ; Bottom # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11633..11638 ; Bottom # Mn [6] MODI VOWEL SIGN U..MODI VOWEL SIGN VOCALIC LL 1163F ; Bottom # Mn MODI SIGN VIRAMA 116B0..116B1 ; Bottom # Mn [2] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN UU +116B7 ; Bottom # Mn TAKRI SIGN NUKTA +1171D ; Bottom # Mn AHOM CONSONANT SIGN MEDIAL LA +11724..11725 ; Bottom # Mn [2] AHOM VOWEL SIGN U..AHOM VOWEL SIGN UU +11728 ; Bottom # Mn AHOM VOWEL SIGN O -# Indic_Matra_Category=Top_And_Bottom +# Indic_Positional_Category=Top_And_Bottom 0C48 ; Top_And_Bottom # Mn TELUGU VOWEL SIGN AI 0F73 ; Top_And_Bottom # Mn TIBETAN VOWEL SIGN II @@ -456,7 +585,7 @@ ABED ; Bottom # Mn MEETEI MAYEK APUN IYEK 1B3C ; Top_And_Bottom # Mn BALINESE VOWEL SIGN LA LENGA 1112E..1112F ; Top_And_Bottom # Mn [2] CHAKMA VOWEL SIGN O..CHAKMA VOWEL SIGN AU -# Indic_Matra_Category=Top_And_Right +# Indic_Positional_Category=Top_And_Right 0AC9 ; Top_And_Right # Mc GUJARATI VOWEL SIGN CANDRA O 0B57 ; Top_And_Right # Mc ORIYA AU LENGTH MARK @@ -468,7 +597,7 @@ ABED ; Bottom # Mn MEETEI MAYEK APUN IYEK 111BF ; Top_And_Right # Mc SHARADA VOWEL SIGN AU 11232..11233 ; Top_And_Right # Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU -# Indic_Matra_Category=Top_And_Left +# Indic_Positional_Category=Top_And_Left 0B48 ; Top_And_Left # Mc ORIYA VOWEL SIGN AI 0DDA ; Top_And_Left # Mc SINHALA VOWEL SIGN DIGA KOMBUVA @@ -477,24 +606,26 @@ ABED ; Bottom # Mn MEETEI MAYEK APUN IYEK 114BB ; Top_And_Left # Mc TIRHUTA VOWEL SIGN AI 115B9 ; Top_And_Left # Mc SIDDHAM VOWEL SIGN AI -# Indic_Matra_Category=Top_And_Left_And_Right +# Indic_Positional_Category=Top_And_Left_And_Right 0B4C ; Top_And_Left_And_Right # Mc ORIYA VOWEL SIGN AU 0DDD ; Top_And_Left_And_Right # Mc SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA 17BF ; Top_And_Left_And_Right # Mc KHMER VOWEL SIGN YA 115BB ; Top_And_Left_And_Right # Mc SIDDHAM VOWEL SIGN AU -# Indic_Matra_Category=Bottom_And_Right +# Indic_Positional_Category=Bottom_And_Right 1B3B ; Bottom_And_Right # Mc BALINESE VOWEL SIGN RA REPA TEDUNG A9C0 ; Bottom_And_Right # Mc JAVANESE PANGKON -# Indic_Matra_Category=Top_And_Bottom_And_Right +# Indic_Positional_Category=Top_And_Bottom_And_Right 1B3D ; Top_And_Bottom_And_Right # Mc BALINESE VOWEL SIGN LA LENGA TEDUNG -# Indic_Matra_Category=Overstruck +# Indic_Positional_Category=Overstruck +1CD4 ; Overstruck # Mn VEDIC SIGN YAJURVEDIC MIDLINE SVARITA +1CE2..1CE8 ; Overstruck # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL 10A01 ; Overstruck # Mn KHAROSHTHI VOWEL SIGN I 10A06 ; Overstruck # Mn KHAROSHTHI VOWEL SIGN O diff --git a/lib/unicore/IndicSyllabicCategory.txt b/lib/unicore/IndicSyllabicCategory.txt index 7634798..d7834f3 100644 --- a/lib/unicore/IndicSyllabicCategory.txt +++ b/lib/unicore/IndicSyllabicCategory.txt @@ -1,24 +1,17 @@ -# IndicSyllabicCategory-7.0.0.txt -# Date: 2014-06-03, 07:00:00 GMT [KW, LI, AG, RP] +# IndicSyllabicCategory-8.0.0.txt +# Date: 2015-05-12, 10:00:00 GMT [RP, KW, LI] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see UAX #44: Unicode Character Database, # at http://www.unicode.org/reports/tr44/ # -# This file defines the following provisional property: +# This file defines the following property: # # Indic_Syllabic_Category enumerated property # -# NB: Provisional properties and data files have no associated stability -# guarantees. They are provided in part to determine the possible usefulness -# of a property or other data and to encourage analysis and further investigation -# which may result in their improvement. Provisional properties and data files -# may change arbitrarily, or may even be removed in a future version of the -# Unicode Character Database, if they prove not to be useful. -# -# Scope: This provisional property is aimed at two general problem +# Scope: This property is aimed at two general problem # areas involving the analysis and processing of Indic scripts: # # 1. Specification of syllabic structure. @@ -42,13 +35,14 @@ # The scripts assessed as Indic in the structural sense used for the # Indic_Syllabic_Category are the following: # -# Balinese, Batak, Bengali, Brahmi, Buginese, Buhid, Chakma, Cham, -# Devanagari, Grantha, Gujarati, Gurmukhi, Hanunoo, Javanese, Kaithi, -# Kannada, Kayah Li, Kharoshthi, Khmer, Khojki, Khudawadi, Lao, Lepcha, -# Limbu, Mahajani, Malayalam, Meetei Mayek, Modi, Myanmar, New Tai Lue, -# Oriya, Phags-pa, Rejang, Saurashtra, Sharada, Siddham, Sinhala, -# Sundanese, Syloti Nagri, Tagalog, Tagbanwa, Tai Le, Tai Tham, Tai Viet, -# Takri, Tamil, Telugu, Thai, Tibetan, and Tirhuta. +# Ahom, Balinese, Batak, Bengali, Brahmi, Buginese, Buhid, Chakma, +# Cham, Devanagari, Grantha, Gujarati, Gurmukhi, Hanunoo, Javanese, +# Kaithi, Kannada, Kayah Li, Kharoshthi, Khmer, Khojki, Khudawadi, +# Lao, Lepcha, Limbu, Mahajani, Malayalam, Meetei Mayek, Modi, +# Multani, Myanmar, New Tai Lue, Oriya, Phags-pa, Rejang, Saurashtra, +# Sharada, Siddham, Sinhala, Sundanese, Syloti Nagri, Tagalog, +# Tagbanwa, Tai Le, Tai Tham, Tai Viet, Takri, Tamil, Telugu, Thai, +# Tibetan, and Tirhuta. # # All characters for all other scripts not in that list # take the default value for this property, unless they @@ -111,7 +105,7 @@ A980..A981 ; Bindu # Mn [2] JAVANESE SIGN PANYANGGA..JAVANESE SIGN CECAK 11180..11181 ; Bindu # Mn [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA 11234 ; Bindu # Mn KHOJKI SIGN ANUSVARA 112DF ; Bindu # Mn KHUDAWADI SIGN ANUSVARA -11301 ; Bindu # Mn GRANTHA SIGN CANDRABINDU +11300..11301 ; Bindu # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 11302 ; Bindu # Mc GRANTHA SIGN ANUSVARA 114BF..114C0 ; Bindu # Mn [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA 115BC..115BD ; Bindu # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA @@ -184,9 +178,10 @@ AAF5 ; Visarga # Mc MEETEI MAYEK VOWEL SIGN VISARGA # Indic_Syllabic_Category=Nukta -# Nukta (diacritic for borrowed consonants) +# Nukta (diacritic for borrowed consonants or other consonant +# modifications) -# [Derivation: (ccc=7) - 1037] +# [Derivation: (ccc=7) + 0F39 + 10A38..10A3A - 1037] 093C ; Nukta # Mn DEVANAGARI SIGN NUKTA 09BC ; Nukta # Mn BENGALI SIGN NUKTA @@ -194,12 +189,15 @@ AAF5 ; Visarga # Mc MEETEI MAYEK VOWEL SIGN VISARGA 0ABC ; Nukta # Mn GUJARATI SIGN NUKTA 0B3C ; Nukta # Mn ORIYA SIGN NUKTA 0CBC ; Nukta # Mn KANNADA SIGN NUKTA +0F39 ; Nukta # Mn TIBETAN MARK TSA -PHRU 1B34 ; Nukta # Mn BALINESE SIGN REREKAN 1BE6 ; Nukta # Mn BATAK SIGN TOMPI 1C37 ; Nukta # Mn LEPCHA SIGN NUKTA A9B3 ; Nukta # Mn JAVANESE SIGN CECAK TELU +10A38..10A3A ; Nukta # Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW 110BA ; Nukta # Mn KAITHI SIGN NUKTA 11173 ; Nukta # Mn MAHAJANI SIGN NUKTA +111CA ; Nukta # Mn SHARADA SIGN NUKTA 11236 ; Nukta # Mn KHOJKI SIGN NUKTA 112E9 ; Nukta # Mn KHUDAWADI SIGN NUKTA 1133C ; Nukta # Mn GRANTHA SIGN NUKTA @@ -217,7 +215,8 @@ A9B3 ; Nukta # Mn JAVANESE SIGN CECAK TELU # and consonant stackers. Separate property values exist for characters # that can only act as pure killers or only as consonant stackers. -# [Derivation: (ccc=9) - (InSC=Pure_Killer) - (InSC=Invisible_Stacker) - 2D7F - 1107F] +# [Derivation: (ccc=9) - (InSC=Pure_Killer) - (InSC=Invisible_Stacker) +# - (InSC=Number_Joiner) - 2D7F] 094D ; Virama # Mn DEVANAGARI SIGN VIRAMA 09CD ; Virama # Mn BENGALI SIGN VIRAMA @@ -265,6 +264,7 @@ A953 ; Pure_Killer # Mc REJANG VIRAMA ABED ; Pure_Killer # Mn MEETEI MAYEK APUN IYEK 11134 ; Pure_Killer # Mn CHAKMA MAAYYAA 112EA ; Pure_Killer # Mn KHUDAWADI SIGN VIRAMA +1172B ; Pure_Killer # Mn AHOM SIGN KILLER # ================================================ @@ -322,7 +322,7 @@ AAF6 ; Invisible_Stacker # Mn MEETEI MAYEK VIRAMA 0D05..0D0C ; Vowel_Independent # Lo [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L 0D0E..0D10 ; Vowel_Independent # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI 0D12..0D14 ; Vowel_Independent # Lo [3] MALAYALAM LETTER O..MALAYALAM LETTER AU -0D60..0D61 ; Vowel_Independent # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL +0D5F..0D61 ; Vowel_Independent # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL 0D85..0D96 ; Vowel_Independent # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA 1021..102A ; Vowel_Independent # Lo [10] MYANMAR LETTER A..MYANMAR LETTER AU 1052..1055 ; Vowel_Independent # Lo [4] MYANMAR LETTER VOCALIC R..MYANMAR LETTER VOCALIC LL @@ -349,6 +349,7 @@ ABD1 ; Vowel_Independent # Lo MEETEI MAYEK LETTER ATIYA 11103..11106 ; Vowel_Independent # Lo [4] CHAKMA LETTER AA..CHAKMA LETTER E 11183..11190 ; Vowel_Independent # Lo [14] SHARADA LETTER A..SHARADA LETTER AU 11200..11207 ; Vowel_Independent # Lo [8] KHOJKI LETTER A..KHOJKI LETTER AU +11280..11283 ; Vowel_Independent # Lo [4] MULTANI LETTER A..MULTANI LETTER E 112B0..112B9 ; Vowel_Independent # Lo [10] KHUDAWADI LETTER A..KHUDAWADI LETTER AU 11305..1130C ; Vowel_Independent # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L 1130F..11310 ; Vowel_Independent # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI @@ -356,6 +357,7 @@ ABD1 ; Vowel_Independent # Lo MEETEI MAYEK LETTER ATIYA 11360..11361 ; Vowel_Independent # Lo [2] GRANTHA LETTER VOCALIC RR..GRANTHA LETTER VOCALIC LL 11481..1148E ; Vowel_Independent # Lo [14] TIRHUTA LETTER A..TIRHUTA LETTER AU 11580..1158D ; Vowel_Independent # Lo [14] SIDDHAM LETTER A..SIDDHAM LETTER AU +115D8..115DB ; Vowel_Independent # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U 11600..1160D ; Vowel_Independent # Lo [14] MODI LETTER A..MODI LETTER AU 11680..11689 ; Vowel_Independent # Lo [10] TAKRI LETTER A..TAKRI LETTER AU @@ -471,7 +473,8 @@ ABD1 ; Vowel_Independent # Lo MEETEI MAYEK LETTER ATIYA 1920..1922 ; Vowel_Dependent # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U 1923..1926 ; Vowel_Dependent # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU 1927..1928 ; Vowel_Dependent # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O -19B0..19C0 ; Vowel_Dependent # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY +193A ; Vowel_Dependent # Mn LIMBU SIGN KEMPHRENG +19B0..19C0 ; Vowel_Dependent # Lo [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY 1A17..1A18 ; Vowel_Dependent # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U 1A19..1A1A ; Vowel_Dependent # Mc [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O 1A1B ; Vowel_Dependent # Mn BUGINESE VOWEL SIGN AE @@ -508,6 +511,7 @@ A9B4..A9B5 ; Vowel_Dependent # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE A9B6..A9B9 ; Vowel_Dependent # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT A9BA..A9BB ; Vowel_Dependent # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE A9BC ; Vowel_Dependent # Mn JAVANESE VOWEL SIGN PEPET +A9E5 ; Vowel_Dependent # Mn MYANMAR SIGN SHAN SAW AA29..AA2E ; Vowel_Dependent # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE AA2F..AA30 ; Vowel_Dependent # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI AA31..AA32 ; Vowel_Dependent # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE @@ -528,7 +532,7 @@ ABE8 ; Vowel_Dependent # Mn MEETEI MAYEK VOWEL SIGN UNAP ABE9..ABEA ; Vowel_Dependent # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG 10A01..10A03 ; Vowel_Dependent # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R 10A05..10A06 ; Vowel_Dependent # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O -10A0C ; Vowel_Dependent # Mn KHAROSHTHI VOWEL LENGTH MARK +10A0C..10A0D ; Vowel_Dependent # Mn [2] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN DOUBLE RING BELOW 11038..11045 ; Vowel_Dependent # Mn [14] BRAHMI VOWEL SIGN AA..BRAHMI VOWEL SIGN AU 110B0..110B2 ; Vowel_Dependent # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II 110B3..110B6 ; Vowel_Dependent # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI @@ -539,6 +543,7 @@ ABE9..ABEA ; Vowel_Dependent # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEET 111B3..111B5 ; Vowel_Dependent # Mc [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II 111B6..111BE ; Vowel_Dependent # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O 111BF ; Vowel_Dependent # Mc SHARADA VOWEL SIGN AU +111CB..111CC ; Vowel_Dependent # Mn [2] SHARADA VOWEL MODIFIER MARK..SHARADA EXTRA SHORT VOWEL MARK 1122C..1122E ; Vowel_Dependent # Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II 1122F..11231 ; Vowel_Dependent # Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI 11232..11233 ; Vowel_Dependent # Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU @@ -559,12 +564,18 @@ ABE9..ABEA ; Vowel_Dependent # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEET 115AF..115B1 ; Vowel_Dependent # Mc [3] SIDDHAM VOWEL SIGN AA..SIDDHAM VOWEL SIGN II 115B2..115B5 ; Vowel_Dependent # Mn [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR 115B8..115BB ; Vowel_Dependent # Mc [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU +115DC..115DD ; Vowel_Dependent # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11630..11632 ; Vowel_Dependent # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II 11633..1163A ; Vowel_Dependent # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI 1163B..1163C ; Vowel_Dependent # Mc [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU +11640 ; Vowel_Dependent # Mn MODI SIGN ARDHACANDRA 116AD ; Vowel_Dependent # Mn TAKRI VOWEL SIGN AA 116AE..116AF ; Vowel_Dependent # Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II 116B0..116B5 ; Vowel_Dependent # Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU +11720..11721 ; Vowel_Dependent # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11722..11725 ; Vowel_Dependent # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11726 ; Vowel_Dependent # Mc AHOM VOWEL SIGN E +11727..1172A ; Vowel_Dependent # Mn [4] AHOM VOWEL SIGN AW..AHOM VOWEL SIGN AM # ================================================ @@ -599,7 +610,7 @@ A926..A92A ; Vowel # Mn [5] KAYAH LI VOWEL UE..KAYAH LI VOWEL O 0A72..0A73 ; Consonant_Placeholder # Lo [2] GURMUKHI IRI..GURMUKHI URA 104E ; Consonant_Placeholder # Po MYANMAR SYMBOL AFOREMENTIONED 1900 ; Consonant_Placeholder # Lo LIMBU VOWEL-CARRIER LETTER -2012..2014 ; Consonant_Placeholder # Pd [3] FIGURE DASH..EM DASH +2010..2014 ; Consonant_Placeholder # Pd [5] HYPHEN..EM DASH 25CC ; Consonant_Placeholder # So DOTTED CIRCLE # ================================================ @@ -631,6 +642,7 @@ A926..A92A ; Vowel # Mn [5] KAYAH LI VOWEL UE..KAYAH LI VOWEL O 0AAA..0AB0 ; Consonant # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA 0AB2..0AB3 ; Consonant # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA 0AB5..0AB9 ; Consonant # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA +0AF9 ; Consonant # Lo GUJARATI LETTER ZHA 0B15..0B28 ; Consonant # Lo [20] ORIYA LETTER KA..ORIYA LETTER NA 0B2A..0B30 ; Consonant # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA 0B32..0B33 ; Consonant # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA @@ -647,7 +659,7 @@ A926..A92A ; Vowel # Mn [5] KAYAH LI VOWEL UE..KAYAH LI VOWEL O 0BAE..0BB9 ; Consonant # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA 0C15..0C28 ; Consonant # Lo [20] TELUGU LETTER KA..TELUGU LETTER NA 0C2A..0C39 ; Consonant # Lo [16] TELUGU LETTER PA..TELUGU LETTER HA -0C58..0C59 ; Consonant # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA +0C58..0C5A ; Consonant # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA 0C95..0CA8 ; Consonant # Lo [20] KANNADA LETTER KA..KANNADA LETTER NA 0CAA..0CB3 ; Consonant # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA 0CB5..0CB9 ; Consonant # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA @@ -738,6 +750,11 @@ ABD2..ABDA ; Consonant # Lo [9] MEETEI MAYEK LETTER GOK..MEETEI MAYEK LETTE 11191..111B2 ; Consonant # Lo [34] SHARADA LETTER KA..SHARADA LETTER HA 11208..11211 ; Consonant # Lo [10] KHOJKI LETTER KA..KHOJKI LETTER JJA 11213..1122B ; Consonant # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA +11284..11286 ; Consonant # Lo [3] MULTANI LETTER KA..MULTANI LETTER GA +11288 ; Consonant # Lo MULTANI LETTER GHA +1128A..1128D ; Consonant # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D ; Consonant # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8 ; Consonant # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA 112BA..112DE ; Consonant # Lo [37] KHUDAWADI LETTER KA..KHUDAWADI LETTER HA 11315..11328 ; Consonant # Lo [20] GRANTHA LETTER KA..GRANTHA LETTER NA 1132A..11330 ; Consonant # Lo [7] GRANTHA LETTER PA..GRANTHA LETTER RA @@ -747,6 +764,7 @@ ABD2..ABDA ; Consonant # Lo [9] MEETEI MAYEK LETTER GOK..MEETEI MAYEK LETTE 1158E..115AE ; Consonant # Lo [33] SIDDHAM LETTER KA..SIDDHAM LETTER HA 1160E..1162F ; Consonant # Lo [34] MODI LETTER KA..MODI LETTER LLA 1168A..116AA ; Consonant # Lo [33] TAKRI LETTER KA..TAKRI LETTER RRA +11700..11719 ; Consonant # Lo [26] AHOM LETTER KA..AHOM LETTER JHA # ================================================ @@ -761,6 +779,28 @@ ABD2..ABDA ; Consonant # Lo [9] MEETEI MAYEK LETTER GOK..MEETEI MAYEK LETTE # ================================================ +# Indic_Syllabic_Category=Consonant_With_Stacker + +# Consonants that may make stacked ligatures with the next consonant +# without the use of a virama + +# [Not derivable] + +0CF1..0CF2 ; Consonant_With_Stacker # Lo [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA +11003..11004 ; Consonant_With_Stacker # Lo [2] BRAHMI SIGN JIHVAMULIYA..BRAHMI SIGN UPADHMANIYA + +# ================================================ + +# Indic_Syllabic_Category=Consonant_Prefixed + +# Cluster-intial consonants + +# [Not derivable] + +111C2..111C3 ; Consonant_Prefixed # Lo [2] SHARADA SIGN JIHVAMULIYA..SHARADA SIGN UPADHMANIYA + +# ================================================ + # Indic_Syllabic_Category=Consonant_Preceding_Repha # Repha Form of RA (reanalyzed in some scripts), when preceding the main consonant @@ -821,6 +861,7 @@ A9BD ; Consonant_Subjoined # Mc JAVANESE CONSONANT SIGN KERET A9BE..A9BF ; Consonant_Medial # Mc [2] JAVANESE CONSONANT SIGN PENGKAL..JAVANESE CONSONANT SIGN CAKRA AA33..AA34 ; Consonant_Medial # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA AA35..AA36 ; Consonant_Medial # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA +1171D..1171F ; Consonant_Medial # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA # ================================================ @@ -832,6 +873,7 @@ AA35..AA36 ; Consonant_Medial # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONA 1930..1931 ; Consonant_Final # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA 1933..1938 ; Consonant_Final # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA +1939 ; Consonant_Final # Mn LIMBU SIGN MUKPHRENG 19C1..19C7 ; Consonant_Final # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B 1A57 ; Consonant_Final # Mc TAI THAM CONSONANT SIGN LA TANG LAI 1A58..1A5E ; Consonant_Final # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA @@ -890,7 +932,6 @@ AAC2 ; Tone_Letter # Lo TAI VIET TONE MAI SONG # [Not derivable] -0951..0952 ; Tone_Mark # Mn [2] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI STRESS SIGN ANUDATTA 0E48..0E4B ; Tone_Mark # Mn [4] THAI CHARACTER MAI EK..THAI CHARACTER MAI CHATTAWA 0EC8..0ECB ; Tone_Mark # Mn [4] LAO TONE MAI EK..LAO TONE MAI CATAWA 1037 ; Tone_Mark # Mn MYANMAR SIGN DOT BELOW @@ -900,12 +941,8 @@ AAC2 ; Tone_Letter # Lo TAI VIET TONE MAI SONG 108D ; Tone_Mark # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE 108F ; Tone_Mark # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5 109A..109B ; Tone_Mark # Mc [2] MYANMAR SIGN KHAMTI TONE-1..MYANMAR SIGN KHAMTI TONE-3 -19C8..19C9 ; Tone_Mark # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 +19C8..19C9 ; Tone_Mark # Lo [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 1A75..1A79 ; Tone_Mark # Mn [5] TAI THAM SIGN TONE-1..TAI THAM SIGN KHUEN TONE-5 -1CD0..1CD2 ; Tone_Mark # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA -1CD4..1CE0 ; Tone_Mark # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA -1CE1 ; Tone_Mark # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA -1CF4 ; Tone_Mark # Mn VEDIC TONE CANDRA ABOVE A92B..A92D ; Tone_Mark # Mn [3] KAYAH LI TONE PLOPHU..KAYAH LI TONE CALYA PLOPHU AA7B ; Tone_Mark # Mc MYANMAR SIGN PAO KAREN TONE AA7C ; Tone_Mark # Mn MYANMAR SIGN TAI LAING TONE-2 @@ -933,6 +970,12 @@ ABEC ; Tone_Mark # Mc MEETEI MAYEK LUM IYEK # [Not derivable] +0951..0952 ; Cantillation_Mark # Mn [2] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI STRESS SIGN ANUDATTA +1CD0..1CD2 ; Cantillation_Mark # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA +1CD4..1CE0 ; Cantillation_Mark # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA +1CE1 ; Cantillation_Mark # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA +1CF4 ; Cantillation_Mark # Mn VEDIC TONE CANDRA ABOVE +1CF8..1CF9 ; Cantillation_Mark # Mn [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE A8E0..A8F1 ; Cantillation_Mark # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA 11366..1136C ; Cantillation_Mark # Mn [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX 11370..11374 ; Cantillation_Mark # Mn [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA @@ -945,7 +988,42 @@ A8E0..A8F1 ; Cantillation_Mark # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..CO # [Not derivable] -17C9..17CB ; Register_Shifter # Mn [3] KHMER SIGN MUUSIKATOAN..KHMER SIGN BANTOC +17C9..17CA ; Register_Shifter # Mn [2] KHMER SIGN MUUSIKATOAN..KHMER SIGN TRIISAP + +# ================================================ + +# Indic_Syllabic_Category=Syllable_Modifier + +# Syllable Modifier (miscellaneous combining characters that modify +# something in the orthographic syllable they succeed) + +# [Not derivable] + +00B2..00B3 ; Syllable_Modifier # No [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE +0F35 ; Syllable_Modifier # Mn TIBETAN MARK NGAS BZUNG NYI ZLA +0F37 ; Syllable_Modifier # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS +0FC6 ; Syllable_Modifier # Mn TIBETAN SYMBOL PADMA GDAN +17CB ; Syllable_Modifier # Mn KHMER SIGN BANTOC +17CE..17D0 ; Syllable_Modifier # Mn [3] KHMER SIGN KAKABAT..KHMER SIGN SAMYOK SANNYA +17D3 ; Syllable_Modifier # Mn KHMER SIGN BATHAMASAT +193B ; Syllable_Modifier # Mn LIMBU SIGN SA-I +1A7A..1A7C ; Syllable_Modifier # Mn [3] TAI THAM SIGN RA HAAM..TAI THAM SIGN KHUEN-LUE KARAN +1A7F ; Syllable_Modifier # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT +1C36 ; Syllable_Modifier # Mn LEPCHA SIGN RAN +2074 ; Syllable_Modifier # No SUPERSCRIPT FOUR +2082..2084 ; Syllable_Modifier # No [3] SUBSCRIPT TWO..SUBSCRIPT FOUR + +# ================================================ + +# Indic_Syllabic_Category=Consonant_Killer + +# Consonant Killer (signifies that the previous consonant or consonants are +# not pronounced) + +# [Not derivable] + +0E4C ; Consonant_Killer # Mn THAI CHARACTER THANTHAKHAT +17CD ; Consonant_Killer # Mn KHMER SIGN TOANDAKHIAT # ================================================ @@ -981,7 +1059,7 @@ A8E0..A8F1 ; Cantillation_Mark # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..CO # Indic_Syllabic_Category=Number -# Number (can be used a vowel-holders like consonant placeholders) +# Number (can be used as vowel-holders like consonant placeholders) # [Not derivable] @@ -1025,15 +1103,16 @@ ABF0..ABF9 ; Number # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NI 114D0..114D9 ; Number # Nd [10] TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE 11650..11659 ; Number # Nd [10] MODI DIGIT ZERO..MODI DIGIT NINE 116C0..116C9 ; Number # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE +11730..11739 ; Number # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE +1173A..1173B ; Number # No [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY # ================================================ # Indic_Syllabic_Category=Brahmi_Joining_Number -# Brahmi Joining Number -# Similar to Numbers, can be used as vowel-holders like consonant placeholders, -# but may also be joined by a Number_Joiner of the same script (e.g. in -# Brahmi) +# Brahmi Joining Number (similar to Number in that in can be used as +# vowel-holders like Consonant_Placeholder, but may also be joined by +# a Number_Joiner of the same script, e.g. in Brahmi) # [Not derivable] diff --git a/lib/unicore/Jamo.txt b/lib/unicore/Jamo.txt index 1610124..8f7c593 100644 --- a/lib/unicore/Jamo.txt +++ b/lib/unicore/Jamo.txt @@ -1,14 +1,14 @@ -# Jamo-7.0.0.txt -# Date: 2014-01-23, 00:00:00 GMT [KW, LI] +# Jamo-8.0.0.txt +# Date: 2015-01-20, 01:30:00 GMT [KW, LI] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ # # This file defines the Jamo_Short_Name property. # -# See Section 3.12 of The Unicode Standard, Version 7.0 +# See Section 3.12 of The Unicode Standard, Version 8.0 # for more information. # # Each line contains two fields, separated by a semicolon. diff --git a/lib/unicore/LineBreak.txt b/lib/unicore/LineBreak.txt index e496c5f..b627f87 100644 --- a/lib/unicore/LineBreak.txt +++ b/lib/unicore/LineBreak.txt @@ -1,5 +1,5 @@ -# LineBreak-7.0.0.txt -# Date: 2014-02-28, 23:15:00 GMT [KW, LI] +# LineBreak-8.0.0.txt +# Date: 2015-02-13, 09:15:00 GMT [KW, LI] # # Line_Break Property # @@ -7,7 +7,7 @@ # Unicode Character Database. # It contains both normative and informative data. # -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # # The format is two fields separated by a semicolon. @@ -30,6 +30,7 @@ # CJK Unified Ideographs Extension B: U+20000..U+2A6DF # CJK Unified Ideographs Extension C: U+2A700..U+2B73F # CJK Unified Ideographs Extension D: U+2B740..U+2B81F +# CJK Unified Ideographs Extension E: U+2B820..U+2CEAF # CJK Compatibility Ideographs Supplement: U+2F800..U+2FA1F # and any other reserved code points on # Planes 2 and 3: U+20000..U+2FFFD @@ -272,8 +273,8 @@ 0840..0858;AL # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN 0859..085B;CM # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK 085E;AL # Po MANDAIC PUNCTUATION -08A0..08B2;AL # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE -08E4..08FF;CM # Mn [28] ARABIC CURLY FATHA..ARABIC MARK SIDEWAYS NOON GHUNNA +08A0..08B4;AL # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW +08E3..08FF;CM # Mn [29] ARABIC TURNED DAMMA BELOW..ARABIC MARK SIDEWAYS NOON GHUNNA 0900..0902;CM # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA 0903;CM # Mc DEVANAGARI SIGN VISARGA 0904..0939;AL # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA @@ -366,6 +367,7 @@ 0AE6..0AEF;NU # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE 0AF0;AL # Po GUJARATI ABBREVIATION SIGN 0AF1;PR # Sc GUJARATI RUPEE SIGN +0AF9;AL # Lo GUJARATI LETTER ZHA 0B01;CM # Mn ORIYA SIGN CANDRABINDU 0B02..0B03;CM # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA 0B05..0B0C;AL # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L @@ -428,7 +430,7 @@ 0C46..0C48;CM # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI 0C4A..0C4D;CM # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA 0C55..0C56;CM # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK -0C58..0C59;AL # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA +0C58..0C5A;AL # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA 0C60..0C61;AL # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL 0C62..0C63;CM # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL 0C66..0C6F;NU # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE @@ -469,7 +471,7 @@ 0D4D;CM # Mn MALAYALAM SIGN VIRAMA 0D4E;AL # Lo MALAYALAM LETTER DOT REPH 0D57;CM # Mc MALAYALAM AU LENGTH MARK -0D60..0D61;AL # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL +0D5F..0D61;AL # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL 0D62..0D63;CM # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL 0D66..0D6F;NU # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE 0D70..0D75;AL # No [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS @@ -641,7 +643,8 @@ 1369..137C;AL # No [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND 1380..138F;AL # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE 1390..1399;AL # So [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT -13A0..13F4;AL # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV +13A0..13F5;AL # Lu [86] CHEROKEE LETTER A..CHEROKEE LETTER MV +13F8..13FD;AL # Ll [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1400;BA # Pd CANADIAN SYLLABICS HYPHEN 1401..166C;AL # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA 166D..166E;AL # Po [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP @@ -716,9 +719,7 @@ 1950..196D;SA # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI 1970..1974;SA # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 1980..19AB;SA # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA -19B0..19C0;SA # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY -19C1..19C7;SA # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B -19C8..19C9;SA # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 +19B0..19C9;SA # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 19D0..19D9;NU # Nd [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE 19DA;SA # No NEW TAI LUE THAM DIGIT ONE 19DE..19DF;SA # So [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV @@ -926,7 +927,8 @@ 20B7..20BA;PR # Sc [4] SPESMILO SIGN..TURKISH LIRA SIGN 20BB;PO # Sc NORDIC MARK SIGN 20BC..20BD;PR # Sc [2] MANAT SIGN..RUBLE SIGN -20BE..20CF;PR # Cn [18] .. +20BE;PO # Sc LARI SIGN +20BF..20CF;PR # Cn [17] .. 20D0..20DC;CM # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE 20DD..20E0;CM # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH 20E1;CM # Mn COMBINING LEFT RIGHT ARROW ABOVE @@ -988,6 +990,7 @@ 2183..2184;AL # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C 2185..2188;AL # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND 2189;AI # No VULGAR FRACTION ZERO THIRDS +218A..218B;AL # So [2] TURNED DIGIT TWO..TURNED DIGIT THREE 2190..2194;AI # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW 2195..2199;AI # So [5] UP DOWN ARROW..SOUTH WEST ARROW 219A..219B;AL # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE @@ -1063,7 +1066,9 @@ 22A5;AI # Sm UP TACK 22A6..22BE;AL # Sm [25] ASSERTION..RIGHT ANGLE WITH ARC 22BF;AI # Sm RIGHT TRIANGLE -22C0..22FF;AL # Sm [64] N-ARY LOGICAL AND..Z NOTATION BAG MEMBERSHIP +22C0..22EE;AL # Sm [47] N-ARY LOGICAL AND..VERTICAL ELLIPSIS +22EF;IN # Sm MIDLINE HORIZONTAL ELLIPSIS +22F0..22FF;AL # Sm [16] UP RIGHT DIAGONAL ELLIPSIS..Z NOTATION BAG MEMBERSHIP 2300..2307;AL # So [8] DIAMETER SIGN..WAVY LINE 2308;OP # Ps LEFT CEILING 2309;CL # Pe RIGHT CEILING @@ -1273,6 +1278,7 @@ 2B98..2BB9;AL # So [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX 2BBD..2BC8;AL # So [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED 2BCA..2BD1;AL # So [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN +2BEC..2BEF;AL # So [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS 2C00..2C2E;AL # Lu [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE 2C30..2C5E;AL # Ll [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE 2C60..2C7B;AL # L& [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E @@ -1470,8 +1476,8 @@ 3400..4DB5;ID # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 4DB6..4DBF;ID # Cn [10] .. 4DC0..4DFF;AL # So [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION -4E00..9FCC;ID # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC -9FCD..9FFF;ID # Cn [51] .. +4E00..9FD5;ID # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 +9FD6..9FFF;ID # Cn [42] .. A000..A014;ID # Lo [21] YI SYLLABLE IT..YI SYLLABLE E A015;NS # Lm YI SYLLABLE WU A016..A48C;ID # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR @@ -1497,7 +1503,7 @@ A67E;AL # Po CYRILLIC KAVYKA A67F;AL # Lm CYRILLIC PAYEROK A680..A69B;AL # L& [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O A69C..A69D;AL # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN -A69F;CM # Mn COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F;CM # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E A6A0..A6E5;AL # Lo [70] BAMUM LETTER A..BAMUM LETTER KI A6E6..A6EF;AL # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM A6F0..A6F1;CM # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS @@ -1512,8 +1518,9 @@ A771..A787;AL # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULA A788;AL # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT A789..A78A;AL # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN A78B..A78E;AL # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT +A78F;AL # Lo LATIN LETTER SINOLOGICAL DOT A790..A7AD;AL # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1;AL # Lu [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B7;AL # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA A7F7;AL # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I A7F8..A7F9;AL # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE A7FA;AL # Ll LATIN LETTER SMALL CAPITAL TURNED M @@ -1546,6 +1553,8 @@ A8E0..A8F1;CM # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANA A8F2..A8F7;AL # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA A8F8..A8FA;AL # Po [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET A8FB;AL # Lo DEVANAGARI HEADSTROKE +A8FC;BB # Po DEVANAGARI SIGN SIDDHAM +A8FD;AL # Lo DEVANAGARI JAIN OM A900..A909;NU # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE A90A..A925;AL # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO A926..A92D;CM # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU @@ -1630,7 +1639,8 @@ AB28..AB2E;AL # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO AB30..AB5A;AL # Ll [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG AB5B;AL # Sk MODIFIER BREVE WITH INVERTED BREVE AB5C..AB5F;AL # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB64..AB65;AL # Ll [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA +AB60..AB65;AL # Ll [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA +AB70..ABBF;AL # Ll [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA ABC0..ABE2;AL # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM ABE3..ABE4;CM # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP ABE5;CM # Mn MEETEI MAYEK VOWEL SIGN ANAP @@ -2479,7 +2489,7 @@ FE15..FE16;EX # Po [2] PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK.. FE17;OP # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET FE18;CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET FE19;IN # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS -FE20..FE2D;CM # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW +FE20..FE2F;CM # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF FE30;ID # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER FE31..FE32;ID # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH FE33..FE34;ID # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE @@ -2647,6 +2657,9 @@ FFFD;AI # So REPLACEMENT CHARACTER 10879..1087F;AL # No [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY 10880..1089E;AL # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW 108A7..108AF;AL # No [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED +108E0..108F2;AL # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F4..108F5;AL # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW +108FB..108FF;AL # No [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED 10900..10915;AL # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU 10916..1091B;AL # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE 1091F;BA # Po PHOENICIAN WORD SEPARATOR @@ -2654,7 +2667,10 @@ FFFD;AI # So REPLACEMENT CHARACTER 1093F;AL # Po LYDIAN TRIANGULAR MARK 10980..1099F;AL # Lo [32] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2 109A0..109B7;AL # Lo [24] MEROITIC CURSIVE LETTER A..MEROITIC CURSIVE LETTER DA +109BC..109BD;AL # No [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF 109BE..109BF;AL # Lo [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN +109C0..109CF;AL # No [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY +109D2..109FF;AL # No [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS 10A00;AL # Lo KHAROSHTHI LETTER A 10A01..10A03;CM # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R 10A05..10A06;CM # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O @@ -2689,6 +2705,9 @@ FFFD;AI # So REPLACEMENT CHARACTER 10B99..10B9C;AL # Po [4] PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT 10BA9..10BAF;AL # No [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED 10C00..10C48;AL # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH +10C80..10CB2;AL # Lu [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CC0..10CF2;AL # Ll [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US +10CFA..10CFF;AL # No [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND 10E60..10E7E;AL # No [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS 11000;CM # Mc BRAHMI SIGN CANDRABINDU 11001;CM # Mn BRAHMI SIGN ANUSVARA @@ -2734,9 +2753,14 @@ FFFD;AI # So REPLACEMENT CHARACTER 111C5..111C6;BA # Po [2] SHARADA DANDA..SHARADA DOUBLE DANDA 111C7;AL # Po SHARADA ABBREVIATION SIGN 111C8;BA # Po SHARADA SEPARATOR +111C9;AL # Po SHARADA SANDHI MARK +111CA..111CC;CM # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK 111CD;AL # Po SHARADA SUTRA MARK 111D0..111D9;NU # Nd [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE 111DA;AL # Lo SHARADA EKAM +111DB;BB # Po SHARADA SIGN SIDDHAM +111DC;AL # Lo SHARADA HEADSTROKE +111DD..111DF;BA # Po [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2 111E1..111F4;AL # No [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND 11200..11211;AL # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA 11213..1122B;AL # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA @@ -2750,12 +2774,18 @@ FFFD;AI # So REPLACEMENT CHARACTER 1123A;AL # Po KHOJKI WORD SEPARATOR 1123B..1123C;BA # Po [2] KHOJKI SECTION MARK..KHOJKI DOUBLE SECTION MARK 1123D;AL # Po KHOJKI ABBREVIATION SIGN +11280..11286;AL # Lo [7] MULTANI LETTER A..MULTANI LETTER GA +11288;AL # Lo MULTANI LETTER GHA +1128A..1128D;AL # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D;AL # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8;AL # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA +112A9;BA # Po MULTANI SECTION MARK 112B0..112DE;AL # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA 112DF;CM # Mn KHUDAWADI SIGN ANUSVARA 112E0..112E2;CM # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II 112E3..112EA;CM # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA 112F0..112F9;NU # Nd [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE -11301;CM # Mn GRANTHA SIGN CANDRABINDU +11300..11301;CM # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 11302..11303;CM # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA 11305..1130C;AL # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L 1130F..11310;AL # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI @@ -2770,6 +2800,7 @@ FFFD;AI # So REPLACEMENT CHARACTER 11341..11344;CM # Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR 11347..11348;CM # Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI 1134B..1134D;CM # Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA +11350;AL # Lo GRANTHA OM 11357;CM # Mc GRANTHA AU LENGTH MARK 1135D..11361;AL # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL 11362..11363;CM # Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL @@ -2799,7 +2830,9 @@ FFFD;AI # So REPLACEMENT CHARACTER 115C2..115C3;BA # Po [2] SIDDHAM DANDA..SIDDHAM DOUBLE DANDA 115C4..115C5;EX # Po [2] SIDDHAM SEPARATOR DOT..SIDDHAM SEPARATOR BAR 115C6..115C8;AL # Po [3] SIDDHAM REPETITION MARK-1..SIDDHAM REPETITION MARK-3 -115C9;BA # Po SIDDHAM END OF TEXT MARK +115C9..115D7;BA # Po [15] SIDDHAM END OF TEXT MARK..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES +115D8..115DB;AL # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U +115DC..115DD;CM # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11600..1162F;AL # Lo [48] MODI LETTER A..MODI LETTER LLA 11630..11632;CM # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II 11633..1163A;CM # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI @@ -2820,14 +2853,25 @@ FFFD;AI # So REPLACEMENT CHARACTER 116B6;CM # Mc TAKRI SIGN VIRAMA 116B7;CM # Mn TAKRI SIGN NUKTA 116C0..116C9;NU # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE +11700..11719;SA # Lo [26] AHOM LETTER KA..AHOM LETTER JHA +1171D..1171F;SA # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11720..11721;SA # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11722..11725;SA # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11726;SA # Mc AHOM VOWEL SIGN E +11727..1172B;SA # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER +11730..11739;NU # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE +1173A..1173B;SA # No [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY +1173C..1173E;BA # Po [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI +1173F;SA # So AHOM SYMBOL VI 118A0..118DF;AL # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO 118E0..118E9;NU # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE 118EA..118F2;AL # No [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY 118FF;AL # Lo WARANG CITI OM 11AC0..11AF8;AL # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -12000..12398;AL # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME +12000..12399;AL # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U 12400..1246E;AL # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM 12470..12474;BA # Po [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON +12480..12543;AL # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU 13000..13257;AL # Lo [600] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH O006 13258..1325A;OP # Lo [3] EGYPTIAN HIEROGLYPH O006A..EGYPTIAN HIEROGLYPH O006C 1325B..1325D;CL # Lo [3] EGYPTIAN HIEROGLYPH O006D..EGYPTIAN HIEROGLYPH O006F @@ -2842,6 +2886,10 @@ FFFD;AI # So REPLACEMENT CHARACTER 13379;OP # Lo EGYPTIAN HIEROGLYPH V011A 1337A..1337B;CL # Lo [2] EGYPTIAN HIEROGLYPH V011B..EGYPTIAN HIEROGLYPH V011C 1337C..1342E;AL # Lo [179] EGYPTIAN HIEROGLYPH V012..EGYPTIAN HIEROGLYPH AA032 +14400..145CD;AL # Lo [462] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A409 +145CE;OP # Lo ANATOLIAN HIEROGLYPH A410 BEGIN LOGOGRAM MARK +145CF;CL # Lo ANATOLIAN HIEROGLYPH A410A END LOGOGRAM MARK +145D0..14646;AL # Lo [119] ANATOLIAN HIEROGLYPH A411..ANATOLIAN HIEROGLYPH A530 16800..16A38;AL # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ 16A40..16A5E;AL # Lo [31] MRO LETTER TA..MRO LETTER TEK 16A60..16A69;NU # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE @@ -2888,7 +2936,7 @@ FFFD;AI # So REPLACEMENT CHARACTER 1D185..1D18B;CM # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE 1D18C..1D1A9;AL # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH 1D1AA..1D1AD;CM # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO -1D1AE..1D1DD;AL # So [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS +1D1AE..1D1E8;AL # So [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN 1D200..1D241;AL # So [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54 1D242..1D244;CM # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME 1D245;AL # So GREEK MUSICAL LEIMMA @@ -2935,6 +2983,19 @@ FFFD;AI # So REPLACEMENT CHARACTER 1D7C3;AL # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL 1D7C4..1D7CB;AL # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA 1D7CE..1D7FF;NU # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE +1D800..1D9FF;AL # So [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD +1DA00..1DA36;CM # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN +1DA37..1DA3A;AL # So [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE +1DA3B..1DA6C;CM # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT +1DA6D..1DA74;AL # So [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING +1DA75;CM # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA76..1DA83;AL # So [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH +1DA84;CM # Mn SIGNWRITING LOCATION HEAD NECK +1DA85..1DA86;AL # So [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS +1DA87..1DA8A;BA # Po [4] SIGNWRITING COMMA..SIGNWRITING COLON +1DA8B;AL # Po SIGNWRITING PARENTHESIS +1DA9B..1DA9F;CM # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF;CM # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 1E800..1E8C4;AL # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON 1E8C7..1E8CF;AL # No [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE 1E8D0..1E8D6;CM # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS @@ -2989,16 +3050,14 @@ FFFD;AI # So REPLACEMENT CHARACTER 1F210..1F23A;ID # So [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6 1F240..1F248;ID # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557 1F250..1F251;ID # So [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT -1F300..1F32C;ID # So [45] CYCLONE..WIND BLOWING FACE -1F330..1F37D;ID # So [78] CHESTNUT..FORK AND KNIFE WITH PLATE -1F380..1F39B;ID # So [28] RIBBON..CONTROL KNOBS +1F300..1F39B;ID # So [156] CYCLONE..CONTROL KNOBS 1F39C..1F39D;AL # So [2] BEAMED ASCENDING MUSICAL NOTES..BEAMED DESCENDING MUSICAL NOTES 1F39E..1F3B4;ID # So [23] FILM FRAMES..FLOWER PLAYING CARDS 1F3B5..1F3B6;AL # So [2] MUSICAL NOTE..MULTIPLE MUSICAL NOTES 1F3B7..1F3BB;ID # So [5] SAXOPHONE..VIOLIN 1F3BC;AL # So MUSICAL SCORE -1F3BD..1F3CE;ID # So [18] RUNNING SHIRT WITH SASH..RACING CAR -1F3D4..1F3F7;ID # So [36] SNOW CAPPED MOUNTAIN..LABEL +1F3BD..1F3FA;ID # So [62] RUNNING SHIRT WITH SASH..AMPHORA +1F3FB..1F3FF;AL # Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6 1F400..1F49F;ID # So [160] RAT..HEART DECORATION 1F4A0;AL # So DIAMOND SHAPE WITH A DOT INSIDE 1F4A1;ID # So ELECTRIC LIGHT BULB @@ -3009,27 +3068,25 @@ FFFD;AI # So REPLACEMENT CHARACTER 1F4AF;AL # So HUNDRED POINTS SYMBOL 1F4B0;ID # So MONEY BAG 1F4B1..1F4B2;AL # So [2] CURRENCY EXCHANGE..HEAVY DOLLAR SIGN -1F4B3..1F4FE;ID # So [76] CREDIT CARD..PORTABLE STEREO +1F4B3..1F4FF;ID # So [77] CREDIT CARD..PRAYER BEADS 1F500..1F506;AL # So [7] TWISTED RIGHTWARDS ARROWS..HIGH BRIGHTNESS SYMBOL 1F507..1F516;ID # So [16] SPEAKER WITH CANCELLATION STROKE..BOOKMARK 1F517..1F524;AL # So [14] LINK SYMBOL..INPUT SYMBOL FOR LATIN LETTERS 1F525..1F531;ID # So [13] FIRE..TRIDENT EMBLEM 1F532..1F549;AL # So [24] BLACK SQUARE BUTTON..OM SYMBOL -1F54A;ID # So DOVE OF PEACE -1F550..1F579;ID # So [42] CLOCK FACE ONE OCLOCK..JOYSTICK +1F54A..1F579;ID # So [48] DOVE OF PEACE..JOYSTICK 1F57B..1F5A3;ID # So [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX 1F5A5..1F5D3;ID # So [47] DESKTOP COMPUTER..SPIRAL CALENDAR PAD 1F5D4..1F5DB;AL # So [8] DESKTOP WINDOW..DECREASE FONT SIZE SYMBOL 1F5DC..1F5F3;ID # So [24] COMPRESSION..BALLOT BOX WITH BALLOT 1F5F4..1F5F9;AL # So [6] BALLOT SCRIPT X..BALLOT BOX WITH BOLD CHECK 1F5FA..1F5FF;ID # So [6] WORLD MAP..MOYAI -1F600..1F642;ID # So [67] GRINNING FACE..SLIGHTLY SMILING FACE -1F645..1F64F;ID # So [11] FACE WITH NO GOOD GESTURE..PERSON WITH FOLDED HANDS +1F600..1F64F;ID # So [80] GRINNING FACE..PERSON WITH FOLDED HANDS 1F650..1F675;AL # So [38] NORTH WEST POINTING LEAF..SWASH AMPERSAND ORNAMENT 1F676..1F678;QU # So [3] SANS-SERIF HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT..SANS-SERIF HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT 1F679..1F67B;NS # So [3] HEAVY INTERROBANG ORNAMENT..HEAVY SANS-SERIF INTERROBANG ORNAMENT 1F67C..1F67F;AL # So [4] VERY HEAVY SOLIDUS..REVERSE CHECKER BOARD -1F680..1F6CF;ID # So [80] ROCKET..BED +1F680..1F6D0;ID # So [81] ROCKET..PLACE OF WORSHIP 1F6E0..1F6EC;ID # So [13] HAMMER AND WRENCH..AIRPLANE ARRIVING 1F6F0..1F6F3;ID # So [4] SATELLITE..PASSENGER SHIP 1F700..1F773;AL # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE @@ -3039,12 +3096,17 @@ FFFD;AI # So REPLACEMENT CHARACTER 1F850..1F859;AL # So [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW 1F860..1F887;AL # So [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW 1F890..1F8AD;AL # So [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS +1F910..1F918;ID # So [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS +1F980..1F984;ID # So [5] CRAB..UNICORN FACE +1F9C0;ID # So CHEESE WEDGE 20000..2A6D6;ID # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 2A6D7..2A6FF;ID # Cn [41] .. 2A700..2B734;ID # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 2B735..2B73F;ID # Cn [11] .. 2B740..2B81D;ID # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D -2B81E..2F7FF;ID # Cn [16354] .. +2B81E..2B81F;ID # Cn [2] .. +2B820..2CEA1;ID # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 +2CEA2..2F7FF;ID # Cn [10590] .. 2F800..2FA1D;ID # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D 2FA1E..2FFFD;ID # Cn [1504] .. 30000..3FFFD;ID # Cn [65534] .. diff --git a/lib/unicore/NameAliases.txt b/lib/unicore/NameAliases.txt index aedf698..a59698a 100644 --- a/lib/unicore/NameAliases.txt +++ b/lib/unicore/NameAliases.txt @@ -1,15 +1,15 @@ -# NameAliases-7.0.0.txt -# Date: 2013-12-10, 22:01:00 GMT [KW] +# NameAliases-8.0.0.txt +# Date: 2014-11-19, 01:30:00 GMT [KW, LI] # # This file is a normative contributory data file in the # Unicode Character Database. # -# Copyright (c) 2005-2013 Unicode, Inc. +# Copyright (c) 2005-2014 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # # This file defines the formal name aliases for Unicode characters. # -# For informative aliases see NamesList.txt +# For informative aliases, see NamesList.txt # # The formal name aliases are divided into five types, each with a distinct label. # @@ -33,9 +33,9 @@ # includes the character names and the names of named character sequences. # The inclusion of ISO 6429 names and other commonly occurring names and # abbreviations for control codes and format characters as formal name aliases -# is to help avoid name collisions between Unicode character names and the +# is to help avoid name collisions between Unicode character names and the # labels which commonly appear in text and/or in implementations such as regex, for -# control codes (which for historical reasons have no Unicode character name) +# control codes (which for historical reasons have no Unicode character name) # or for format characters. # # For documentation, see NamesList.html and http://www.unicode.org/reports/tr44/ @@ -87,6 +87,7 @@ 0007;ALERT;control 0007;BEL;abbreviation + 0008;BACKSPACE;control 0008;BS;abbreviation 0009;CHARACTER TABULATION;control @@ -283,6 +284,8 @@ 2118;WEIERSTRASS ELLIPTIC FUNCTION;correction 2448;MICR ON US SYMBOL;correction 2449;MICR DASH SYMBOL;correction +2B7A;LEFTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE VERTICAL STROKE;correction +2B7C;RIGHTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE VERTICAL STROKE;correction A015;YI SYLLABLE ITERATION MARK;correction FE18;PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET;correction FE00;VS1;abbreviation diff --git a/lib/unicore/NamedSequences.txt b/lib/unicore/NamedSequences.txt index 87b25cf..b1bfc2f 100644 --- a/lib/unicore/NamedSequences.txt +++ b/lib/unicore/NamedSequences.txt @@ -1,12 +1,12 @@ -# NamedSequences-7.0.0.txt -# Date: 2014-01-24, 15:00:00 GMT [KW, LI] +# NamedSequences-8.0.0.txt +# Date: 2015-02-19, 00:30:00 GMT [KW, LI] # # Unicode Named Character Sequences # # This file is a normative contributory data file in the Unicode # Character Database. # -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # # Format: diff --git a/lib/unicore/NamedSqProv.txt b/lib/unicore/NamedSqProv.txt index 7b43efd..cc1d5e8 100644 --- a/lib/unicore/NamedSqProv.txt +++ b/lib/unicore/NamedSqProv.txt @@ -1,5 +1,5 @@ -# NamedSequencesProv-7.0.0.txt -# Date: 2014-01-24, 15:00:00 GMT [KW, LI] +# NamedSequencesProv-8.0.0.txt +# Date: 2015-05-11, 23:40:00 GMT [KW, LI] # # Provisional Unicode Named Character Sequences # @@ -7,7 +7,7 @@ # sequences which have been designated to be provisional, # rather than fully approved. # -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # # Format: @@ -38,7 +38,21 @@ # Provisional entries for NamedSequences.txt. -# There are currently no provisional named character sequences. +# Named keycap sequences for telephone keypad (used for emoji) +# Added to provisional named sequences, 2015-05-05 + +KEYCAP NUMBER SIGN;0023 20E3 +KEYCAP ASTERISK;002A 20E3 +KEYCAP DIGIT ZERO;0030 20E3 +KEYCAP DIGIT ONE;0031 20E3 +KEYCAP DIGIT TWO;0032 20E3 +KEYCAP DIGIT THREE;0033 20E3 +KEYCAP DIGIT FOUR;0034 20E3 +KEYCAP DIGIT FIVE;0035 20E3 +KEYCAP DIGIT SIX;0036 20E3 +KEYCAP DIGIT SEVEN;0037 20E3 +KEYCAP DIGIT EIGHT;0038 20E3 +KEYCAP DIGIT NINE;0039 20E3 # ================================================ diff --git a/lib/unicore/NamesList.txt b/lib/unicore/NamesList.txt index d6894b3..2f84c23 100644 --- a/lib/unicore/NamesList.txt +++ b/lib/unicore/NamesList.txt @@ -1,14 +1,14 @@ ; charset=UTF-8 -@@@ The Unicode Standard 7.0.0 -@@@+ U70M140523.lst - Unicode 7.0.0 final names list. +@@@ The Unicode Standard 8.0.0 +@@@+ U80M150527.lst + Unicode 8.0.0 final names list. This file is semi-automatically derived from UnicodeData.txt and a set of manually created annotations using a script to select or suppress information from the data file. The rules used for this process are aimed at readability for the human reader, at the expense of some details; therefore, this file should not be parsed for machine-readable information. -@+ Copyright (c) 1991-2014 Unicode, Inc. +@+ Copyright (c) 1991-2015 Unicode, Inc. For terms of use, see http://www.unicode.org/terms_of_use.html @@ 0000 C0 Controls and Basic Latin (Basic Latin) 007F @@+ @@ -416,7 +416,7 @@ @ Control character 007F = DELETE -@~ !{FE0E FE0F} Standardized Variation Sequences +@~ ! @@ 0080 C1 Controls and Latin-1 Supplement (Latin-1 Supplement) 00FF @ C1 controls @+ Alias names are those for ISO/IEC 6429:1992. @@ -507,7 +507,7 @@ x (dollar sign - 0024) 00A5 YEN SIGN = yuan sign - * glyph may have one or two crossbars + * glyph may have one or two crossbars, but official symbol in Japan and China has two 00A6 BROKEN BAR = broken vertical bar (1.0) = parted rule (in typography) @@ -520,6 +520,8 @@ 00A9 COPYRIGHT SIGN x (sound recording copyright - 2117) x (circled latin capital letter c - 24B8) + ~ 00A9 FE0E text style + ~ 00A9 FE0F emoji style 00AA FEMININE ORDINAL INDICATOR * Spanish # 0061 @@ -538,6 +540,8 @@ 00AE REGISTERED SIGN = registered trade mark sign (1.0) x (circled latin capital letter r - 24C7) + ~ 00AE FE0E text style + ~ 00AE FE0F emoji style 00AF MACRON = overline, APL overbar * this is a spacing character @@ -592,6 +596,7 @@ x (word separator middle dot - 2E31) x (raised dot - 2E33) x (katakana middle dot - 30FB) + x (latin letter sinological dot - A78F) 00B8 CEDILLA * this is a spacing character * other spacing accent characters: 02D8-02DB @@ -793,6 +798,7 @@ * French, medieval Hungarian orthography x (latin capital letter y with diaeresis - 0178) : 0079 0308 +@~ ! @@ 0100 Latin Extended-A 017F @ European Latin 0100 LATIN CAPITAL LETTER A WITH MACRON @@ -1211,6 +1217,7 @@ * African * lowercase is 025B x (euler constant - 2107) + x (turned digit three - 218B) 0191 LATIN CAPITAL LETTER F WITH HOOK * African x (latin capital letter f with stroke - A798) @@ -1279,7 +1286,7 @@ * African 01A6 LATIN LETTER YR * Old Norse -@+ * from German Standard DIN 31624 and ISO 5426-2 +@+ * from German Standard DIN 31624 and ISO 5426-2 * lowercase is 0280 01A7 LATIN CAPITAL LETTER TONE TWO 01A8 LATIN SMALL LETTER TONE TWO @@ -1809,10 +1816,10 @@ = barred i, i bar * high central unrounded vowel * uppercase is 0197 -@+ * ISO 6438 gives lowercase of 0197 as 026A, not 0268 +@+ * ISO 6438 gives lowercase of 0197 as 026A, not 0268 0269 LATIN SMALL LETTER IOTA * semi-high front unrounded vowel -@+ * obsoleted by IPA in 1989 +@+ * obsoleted by IPA in 1989 * preferred use is 026A latin letter small capital i * uppercase is 0196 x (greek small letter iota - 03B9) @@ -1858,7 +1865,7 @@ x (latin small ligature oe - 0153) 0277 LATIN SMALL LETTER CLOSED OMEGA * semi-high back rounded vowel -@+ * obsoleted by IPA in 1989 +@+ * obsoleted by IPA in 1989 * preferred use is 028A latin small letter upsilon x (greek letter small capital omega - AB65) 0278 LATIN SMALL LETTER PHI @@ -1874,7 +1881,7 @@ x (modifier letter small turned r with hook - 02B5) 027C LATIN SMALL LETTER R WITH LONG LEG * voiced strident apico-alveolar trill -@+ * obsoleted by IPA in 1989 +@+ * obsoleted by IPA in 1989 * sound spelled with 0159 in Czech * preferred phonetic representation for Czech is 0072 031D * in current use in Gaelic types (as glyph variant of 0072) @@ -1997,10 +2004,11 @@ * voiceless epiglottal fricative 029D LATIN SMALL LETTER J WITH CROSSED-TAIL * voiced palatal fricative + * uppercase is A7B2 029E LATIN SMALL LETTER TURNED K * proposed for velar click * uppercase is A7B0 -@+ * withdrawn by IPA in 1970 +@+ * withdrawn by IPA in 1970 029F LATIN LETTER SMALL CAPITAL L * velar lateral approximant 02A0 LATIN SMALL LETTER Q WITH HOOK @@ -2331,7 +2339,7 @@ x (combining cyrillic kavyka - A67C) 0307 COMBINING DOT ABOVE = derivative (Newtonian notation) -@+ * IPA (withdrawn in 1976): palatalization +@+ * IPA (withdrawn in 1976): palatalization x (dot above - 02D9) 0308 COMBINING DIAERESIS = double dot above, umlaut @@ -2362,7 +2370,7 @@ * Marshallese x (quotation mark - 0022) 030F COMBINING DOUBLE GRAVE ACCENT - * Serbian and Croatian poetics + * Serbian and Croatian phonetics 0310 COMBINING CANDRABINDU x (devanagari sign candrabindu - 0901) 0311 COMBINING INVERTED BREVE @@ -2717,6 +2725,7 @@ 03B2 GREEK SMALL LETTER BETA x (latin small letter sharp s - 00DF) x (latin small letter b with stroke - 0180) + x (latin small letter beta - A7B5) 03B3 GREEK SMALL LETTER GAMMA x (latin small letter gamma - 0263) x (double-struck small gamma - 213D) @@ -2761,6 +2770,7 @@ x (latin small letter chi - AB53) 03C8 GREEK SMALL LETTER PSI 03C9 GREEK SMALL LETTER OMEGA + x (latin small letter omega - A7B7) 03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA : 03B9 0308 03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA @@ -3040,8 +3050,10 @@ 0462 CYRILLIC CAPITAL LETTER YAT 0463 CYRILLIC SMALL LETTER YAT x (cyrillic small letter iotified yat - A653) + x (latin small letter sakha yat - AB60) 0464 CYRILLIC CAPITAL LETTER IOTIFIED E 0465 CYRILLIC SMALL LETTER IOTIFIED E + x (latin small letter iotified e - AB61) 0466 CYRILLIC CAPITAL LETTER LITTLE YUS 0467 CYRILLIC SMALL LETTER LITTLE YUS x (cyrillic small letter closed little yus - A659) @@ -3831,7 +3843,7 @@ 065F ARABIC WAVY HAMZA BELOW * Kashmiri @ Arabic-Indic digits -@+ These digits are used with Arabic proper; for languages of Iran, Afghanistan, Pakistan, and India, see the Eastern Arabic-Indic digits at 06F0..06F9. +@+ These digits are used with Arabic proper; for languages of Iran, Afghanistan, Pakistan, and India, see the Eastern Arabic-Indic digits at 06F0-06F9. 0660 ARABIC-INDIC DIGIT ZERO 0661 ARABIC-INDIC DIGIT ONE 0662 ARABIC-INDIC DIGIT TWO @@ -3901,7 +3913,8 @@ 0680 ARABIC LETTER BEHEH * Sindhi 0681 ARABIC LETTER HAH WITH HAMZA ABOVE - * Pashto letter "dze" + * Pashto + * represents the phoneme /dz/ 0682 ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE * not used in modern Pashto 0683 ARABIC LETTER NYEH @@ -3910,6 +3923,7 @@ * Sindhi 0685 ARABIC LETTER HAH WITH THREE DOTS ABOVE * Pashto, Khwarazmian + * represents the phoneme /ts/ in Pashto 0686 ARABIC LETTER TCHEH * Persian, Urdu, ... 0687 ARABIC LETTER TCHEHEH @@ -4314,6 +4328,8 @@ * Torwali, Ormuri 076C ARABIC LETTER REH WITH HAMZA ABOVE * Ormuri + * represents a voiced alveolo-palatal laminal fricative + x (latin small letter z with curl - 0291) 076D ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE * Kalami, Ormuri @ Additions for Khowar @@ -4569,6 +4585,7 @@ = u 0846 MANDAIC LETTER AZ 0847 MANDAIC LETTER IT + = pharyngeal hu 0848 MANDAIC LETTER ATT 0849 MANDAIC LETTER AKSA = i @@ -4598,6 +4615,9 @@ @ Extended Arabic letters for African languages 08A0 ARABIC LETTER BEH WITH SMALL V BELOW 08A1 ARABIC LETTER BEH WITH HAMZA ABOVE + * Adamawa Fulfulde (Cameroon) + * used for the implosive bilabial stop + x (latin small letter b with hook - 0253) 08A2 ARABIC LETTER JEEM WITH TWO DOTS ABOVE 08A3 ARABIC LETTER TAH WITH TWO DOTS ABOVE 08A4 ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE @@ -4605,7 +4625,13 @@ 08A6 ARABIC LETTER LAM WITH DOUBLE BAR 08A7 ARABIC LETTER MEEM WITH THREE DOTS ABOVE 08A8 ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE + * Adamawa Fulfulde + * used for the implosive palatal approximant, realized as pharyngealization of the approximant + x (latin small letter y with hook - 01B4) 08A9 ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE + * Adamawa Fulfulde + * used for the voiced palatal nasal + x (latin small letter n with left hook - 0272) @ Dependent consonants for Rohingya 08AA ARABIC LETTER REH WITH LOOP = bottya-reh @@ -4626,6 +4652,11 @@ * Tatar @ Arabic letter for Berber 08B2 ARABIC LETTER ZAIN WITH INVERTED V ABOVE +@ Arabic letters for Arwi +08B3 ARABIC LETTER AIN WITH THREE DOTS BELOW +08B4 ARABIC LETTER KAF WITH DOT BELOW +@ Extended vowel sign for Arwi +08E3 ARABIC TURNED DAMMA BELOW @ Extended vowel signs for Rohingya 08E4 ARABIC CURLY FATHA 08E5 ARABIC CURLY DAMMA @@ -4864,6 +4895,7 @@ 0978 DEVANAGARI LETTER MARWARI DDA 0979 DEVANAGARI LETTER ZHA * used in transliteration of Avestan + x (gujarati letter zha - 0AF9) 097A DEVANAGARI LETTER HEAVY YA * used for an affricated glide JJYA @ Sindhi implosives @@ -4976,7 +5008,7 @@ 09E2 BENGALI VOWEL SIGN VOCALIC L 09E3 BENGALI VOWEL SIGN VOCALIC LL @ Reserved -@+ For viram punctuation, use the generic Indic 0964 and 0965. +@+ For viram punctuation, use the generic Indic 0964 and 0965. Note that these punctuation marks are referred to as dahri and double dahri in Bangla. 09E4 x (devanagari danda - 0964) 09E5 @@ -5249,6 +5281,10 @@ @ Currency sign 0AF1 GUJARATI RUPEE SIGN * preferred spelling is 0AB0 0AC2 0AF0 +@ Additional consonant +0AF9 GUJARATI LETTER ZHA + * used in transliteration of Avestan + x (devanagari letter zha - 0979) @@ 0B00 Oriya 0B7F @+ As of 2012, the name "Oriya" for this script and language is officially spelled "Odia" in India. That change in spelling does not affect the Unicode block or character names, which are constrained by stability guarantees. @ Various signs @@ -5404,23 +5440,30 @@ @ Consonants 0B95 TAMIL LETTER KA 0B99 TAMIL LETTER NGA + * also denotes the measure kuruni/marakkaal 0B9A TAMIL LETTER CA 0B9C TAMIL LETTER JA 0B9E TAMIL LETTER NYA 0B9F TAMIL LETTER TTA 0BA3 TAMIL LETTER NNA 0BA4 TAMIL LETTER TA + * also denotes the measure tuuni 0BA8 TAMIL LETTER NA 0BA9 TAMIL LETTER NNNA 0BAA TAMIL LETTER PA + = maa + * also denotes the fraction one twentieth 0BAE TAMIL LETTER MA 0BAF TAMIL LETTER YA 0BB0 TAMIL LETTER RA 0BB1 TAMIL LETTER RRA 0BB2 TAMIL LETTER LA 0BB3 TAMIL LETTER LLA + * also denotes the measure kalam 0BB4 TAMIL LETTER LLLA 0BB5 TAMIL LETTER VA + = kaal + * also denotes the fraction one quarter 0BB6 TAMIL LETTER SHA 0BB7 TAMIL LETTER SSA 0BB8 TAMIL LETTER SA @@ -5473,17 +5516,23 @@ 0BF0 TAMIL NUMBER TEN 0BF1 TAMIL NUMBER ONE HUNDRED 0BF2 TAMIL NUMBER ONE THOUSAND -@ Tamil symbols +@ Tamil calendrical symbols 0BF3 TAMIL DAY SIGN - = naal + = naal, naali/padi + * denotes a measure of grain that equals 2 uri or 4 ulakku + = pillaiyaar suli + * denotes auspiciousness 0BF4 TAMIL MONTH SIGN = maatham 0BF5 TAMIL YEAR SIGN = varudam +@ Tamil clerical symbols 0BF6 TAMIL DEBIT SIGN = patru 0BF7 TAMIL CREDIT SIGN - = varavu + = eduppu + * denotes incoming cash which is set aside for unknown expenses + * sometimes used as the credit sign; the traditional credit sign is distinct 0BF8 TAMIL AS ABOVE SIGN = merpadi @ Currency symbol @@ -5491,7 +5540,9 @@ = rupai @ Tamil symbol 0BFA TAMIL NUMBER SIGN - = enn + = enn, niluvai + * denotes balance + * sometimes used as the number sign; the traditional number sign is distinct @@ 0C00 Telugu 0C7F @ Various signs 0C00 TELUGU SIGN COMBINING CANDRABINDU ABOVE @@ -5579,6 +5630,8 @@ @ Historic phonetic variants 0C58 TELUGU LETTER TSA 0C59 TELUGU LETTER DZA +0C5A TELUGU LETTER RRRA + * letter for an alveolar consonant whose exact phonetic value is not known @ Additional vowels for Sanskrit 0C60 TELUGU LETTER VOCALIC RR 0C61 TELUGU LETTER VOCALIC LL @@ -5789,6 +5842,7 @@ 0D2C MALAYALAM LETTER BA 0D2D MALAYALAM LETTER BHA 0D2E MALAYALAM LETTER MA + * also used to denote the fraction one eightieth (kaani) 0D2F MALAYALAM LETTER YA 0D30 MALAYALAM LETTER RA 0D31 MALAYALAM LETTER RRA @@ -5843,6 +5897,8 @@ 0D57 MALAYALAM AU LENGTH MARK * used alone to write the /au/ dependent vowel in modern texts x (malayalam vowel sign au - 0D4C) +@ Additional historic vowel +0D5F MALAYALAM LETTER ARCHAIC II @ Additional vowels for Sanskrit 0D60 MALAYALAM LETTER VOCALIC RR 0D61 MALAYALAM LETTER VOCALIC LL @@ -5872,8 +5928,11 @@ 0D72 MALAYALAM NUMBER ONE THOUSAND @ Fractions 0D73 MALAYALAM FRACTION ONE QUARTER + = kaal 0D74 MALAYALAM FRACTION ONE HALF + = ara 0D75 MALAYALAM FRACTION THREE QUARTERS + = mukkaal @ Date mark 0D79 MALAYALAM DATE MARK @ Chillu letters @@ -6059,7 +6118,7 @@ 0DDF SINHALA VOWEL SIGN GAYANUKITTA = sinhala vowel sign vocalic l @ Astrological digits -@+ These digits, also known as Sinhala Lith Illakkam, have been used primarily for writing horoscopes. This number system has a zero place holder concept, unlike the Sinhala archaic numbers, Sinhala Illakkam, encoded in the range 111E1-111F4. +@+ These digits, also known as Sinhala Lith Illakkam, have been used primarily for writing horoscopes. This number system has a zero place holder concept, unlike the Sinhala archaic numbers, Sinhala Illakkam, encoded in the range 111E1-111F4. 0DE6 SINHALA LITH DIGIT ZERO 0DE7 SINHALA LITH DIGIT ONE 0DE8 SINHALA LITH DIGIT TWO @@ -6181,6 +6240,7 @@ @ Signs 0E4C THAI CHARACTER THANTHAKHAT * cancellation mark + x (khmer sign toandakhiat - 17CD) 0E4D THAI CHARACTER NIKHAHIT = nikkhahit * final nasal @@ -7076,7 +7136,7 @@ 113C HANGUL CHOSEONG CHITUEUMSIOS * voiceless lenis dental fricative 113D HANGUL CHOSEONG CHITUEUMSSANGSIOS - * voicless fortis dental fricative + * voiceless fortis dental fricative 113E HANGUL CHOSEONG CEONGCHIEUMSIOS * voiceless lenis retroflex fricative 113F HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS @@ -7738,7 +7798,8 @@ 1398 ETHIOPIC TONAL MARK DERET-HIDET 1399 ETHIOPIC TONAL MARK KURT @@ 13A0 Cherokee 13FF -@ Syllables +@+ Most lowercase Cherokee syllables are encoded in the Cherokee Supplement block at AB70..ABBF. +@ Uppercase syllables 13A0 CHEROKEE LETTER A 13A1 CHEROKEE LETTER E 13A2 CHEROKEE LETTER I @@ -7824,6 +7885,16 @@ 13F2 CHEROKEE LETTER YO 13F3 CHEROKEE LETTER YU 13F4 CHEROKEE LETTER YV +@ Archaic uppercase syllable +13F5 CHEROKEE LETTER MV +@ Lowercase syllables +13F8 CHEROKEE SMALL LETTER YE +13F9 CHEROKEE SMALL LETTER YI +13FA CHEROKEE SMALL LETTER YO +13FB CHEROKEE SMALL LETTER YU +13FC CHEROKEE SMALL LETTER YV +@ Archaic lowercase syllable +13FD CHEROKEE SMALL LETTER MV @@ 1400 Unified Canadian Aboriginal Syllabics 167F @ Punctuation 1400 CANADIAN SYLLABICS HYPHEN @@ -8959,6 +9030,7 @@ * a diacritic historically corresponding to the repha form of ra in Devanagari 17CD KHMER SIGN TOANDAKHIAT * indicates that the base character is not pronounced + x (thai character thanthakhat - 0E4C) 17CE KHMER SIGN KAKABAT * sign used with some exclamations 17CF KHMER SIGN AHSDA @@ -9343,7 +9415,7 @@ 18A9 MONGOLIAN LETTER ALI GALI DAGALGA 18AA MONGOLIAN LETTER MANCHU ALI GALI LHA @~ Standardized Variation Sequences -@+ Unlike other blocks, these variation sequences use the script-specific variation selectors for Mongolian. +@+ Unlike other blocks, these variation sequences use the script-specific variation selectors for Mongolian. @@ 18B0 Unified Canadian Aboriginal Syllabics Extended 18FF @ Syllables for Moose Cree 18B0 CANADIAN SYLLABICS OY @@ -9557,7 +9629,7 @@ 1973 TAI LE LETTER TONE-5 1974 TAI LE LETTER TONE-6 @@ 1980 New Tai Lue 19DF -@+ Note the similarly named but distinct Tai Le script encoded at 1950..197F. The New Tai Lue script is also known as Xishuang Banna Dai. +@+ Note the similarly named but distinct Tai Le script encoded at 1950..197F. The New Tai Lue script is also known as Xishuangbanna Dai. @ Consonants 1980 NEW TAI LUE LETTER HIGH QA 1981 NEW TAI LUE LETTER LOW QA @@ -9905,6 +9977,7 @@ * intended to surround a diacritic below 1ABE COMBINING PARENTHESES OVERLAY * intended to surround a base letter + * exact placement is font dependent @@ 1B00 Balinese 1B7F @ Various signs 1B00 BALINESE SIGN ULU RICEM @@ -10528,7 +10601,7 @@ 1CF1 VEDIC SIGN ANUSVARA UBHAYATO MUKHA = vaidika anusvaara ubhayato mukha @ Ardhavisarga -@+ Ardhavisarga denotes the sounds jihvamuliya and upadhmaniya (velar and bilabial voicelss fricatives) in Sanskrit. Its use is not limited to Vedic. +@+ Ardhavisarga denotes the sounds jihvamuliya and upadhmaniya (velar and bilabial voiceless fricatives) in Sanskrit. Its use is not limited to Vedic. 1CF2 VEDIC SIGN ARDHAVISARGA = vaidika jihvaamuuliiya upadhmaaniiya 1CF3 VEDIC SIGN ROTATED ARDHAVISARGA @@ -11115,7 +11188,7 @@ 1E37 LATIN SMALL LETTER L WITH DOT BELOW * Indic transliteration : 006C 0323 -@+ * see ISO 15919 on the use of dot below versus ring below in Indic transliteration +@+ * see ISO 15919 on the use of dot below versus ring below in Indic transliteration x (combining ring below - 0325) 1E38 LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON : 1E36 0304 @@ -11198,7 +11271,7 @@ 1E5B LATIN SMALL LETTER R WITH DOT BELOW * Indic transliteration : 0072 0323 -@+ * see ISO 15919 on the use of dot below versus ring below in Indic transliteration +@+ * see ISO 15919 on the use of dot below versus ring below in Indic transliteration x (combining ring below - 0325) 1E5C LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON : 1E5A 0304 @@ -12391,7 +12464,7 @@ 206D ACTIVATE ARABIC FORM SHAPING 206E NATIONAL DIGIT SHAPES 206F NOMINAL DIGIT SHAPES -@~ !{FE0E FE0F} Standardized Variation Sequences +@~ ! @@ 2070 Superscripts and Subscripts 209F @ Superscripts @+ See also superscript Latin letters in the Spacing Modifier Letters block starting at 02B0. @@ -12496,6 +12569,7 @@ x (currency sign - 00A4) x (yen sign - 00A5) x (latin small letter f with hook - 0192) + x (armenian dram sign - 058F) x (afghani sign - 060B) x (bengali rupee mark - 09F2) x (bengali rupee sign - 09F3) @@ -12593,6 +12667,8 @@ * Azerbaijan 20BD RUBLE SIGN * Russia +20BE LARI SIGN + * Georgia @@ 20D0 Combining Diacritical Marks for Symbols 20FF @ Combining diacritical marks for symbols 20D0 COMBINING LEFT HARPOON ABOVE @@ -12766,6 +12842,8 @@ # 0054 0045 004C 2122 TRADE MARK SIGN x (circled wz - 1F12E) + ~ 2122 FE0E text style + ~ 2122 FE0F emoji style # 0054 004D 2123 VERSICLE 2124 DOUBLE-STRUCK CAPITAL Z @@ -12907,7 +12985,7 @@ x (greek small letter digamma - 03DD) @ Biblical editorial symbol 214F SYMBOL FOR SAMARITAN SOURCE -@~ !{FE0E FE0F} Standardized Variation Sequences +@~ ! @@ 2150 Number Forms 218F @ Fractions @+ Other fraction number forms are found in the Latin-1 Supplement block. @@ -13037,6 +13115,14 @@ 2189 VULGAR FRACTION ZERO THIRDS * used in baseball scoring, from ARIB STD B24 # 0030 2044 0033 +@ Turned digits +218A TURNED DIGIT TWO + * digit for 10 in some duodecimal systems +218B TURNED DIGIT THREE + * digit for 11 in some duodecimal systems + x (latin capital letter open e - 0190) + x (euler constant - 2107) + x (latin small letter tresillo - A72B) @@ 2190 Arrows 21FF @ Simple arrows 2190 LEFTWARDS ARROW @@ -13078,6 +13164,7 @@ 219D RIGHTWARDS WAVE ARROW 219E LEFTWARDS TWO HEADED ARROW = fast cursor left + x (leftwards two-headed arrow with triangle arrowheads - 2BEC) 219F UPWARDS TWO HEADED ARROW = fast cursor up 21A0 RIGHTWARDS TWO HEADED ARROW @@ -13239,7 +13326,7 @@ 21FD LEFTWARDS OPEN-HEADED ARROW 21FE RIGHTWARDS OPEN-HEADED ARROW 21FF LEFT RIGHT OPEN-HEADED ARROW -@~ !{FE0E FE0F} Standardized Variation Sequences +@~ ! @@ 2200 Mathematical Operators 22FF @@+ @ Miscellaneous mathematical symbols @@ -13335,10 +13422,13 @@ x (arabic-indic fourth root - 0607) 221D PROPORTIONAL TO x (greek small letter alpha - 03B1) -@ Miscellaneous mathematical symbols +@ Miscellaneous mathematical symbol 221E INFINITY +@ Angles +@+ Other angle symbols are found at 299B-29AF. 221F RIGHT ANGLE 2220 ANGLE + x (acute angle - 299F) 2221 MEASURED ANGLE 2222 SPHERICAL ANGLE = angle arc @@ -13790,7 +13880,7 @@ 2300 DIAMETER SIGN x (empty set - 2205) 2301 ELECTRIC ARROW -@+ * from ISO 2047 +@+ * from ISO 2047 * symbol for End of Transmission 2302 HOUSE 2303 UP ARROWHEAD @@ -13957,7 +14047,7 @@ x (reversed empty set - 29B0) 234A APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR = up tack underbar -@+ * preferred naming for APL tack symbols now follows the London Convention in ISO/IEC 13751:2000 (APL Extended) +@+ * preferred naming for APL tack symbols now follows the London Convention in ISO/IEC 13751:2000 (APL Extended) x (up tack - 22A5) 234B APL FUNCTIONAL SYMBOL DELTA STILE 234C APL FUNCTIONAL SYMBOL QUAD DOWN CARET @@ -14025,19 +14115,19 @@ 237A APL FUNCTIONAL SYMBOL ALPHA @ Graphics for control codes 237B NOT CHECK MARK -@+ * from ISO 2047 +@+ * from ISO 2047 * symbol for Negative Acknowledge @ Miscellaneous technical 237C RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW @ Graphics for control codes 237D SHOULDERED OPEN BOX -@+ * from ISO 9995-7 +@+ * from ISO 9995-7 * keyboard symbol for No Break Space x (open box - 2423) 237E BELL SYMBOL -@+ * from ISO 2047 +@+ * from ISO 2047 237F VERTICAL LINE WITH MIDDLE DOT -@+ * from ISO 2047 +@+ * from ISO 2047 * symbol for End of Medium @ Keyboard symbols from ISO 9995-7 2380 INSERTION SYMBOL @@ -14255,7 +14345,7 @@ 23FA BLACK CIRCLE FOR RECORD = record x (medium black circle - 26AB) -@~ !{FE0E FE0F} Standardized Variation Sequences +@~ ! @@ 2400 Control Pictures 243F @+ The diagonal lettering glyphs are only exemplary; alternate representations may be, and often are used in the visible display of control codes. @ Graphic pictures for control codes @@ -14304,11 +14394,11 @@ 2424 SYMBOL FOR NEWLINE @ Keyboard symbol 2425 SYMBOL FOR DELETE FORM TWO -@+ * from ISO 9995-7 +@+ * from ISO 9995-7 * keyboard symbol for undoable delete @ Specific symbol for control code 2426 SYMBOL FOR SUBSTITUTE FORM TWO -@+ * from ISO 2047 +@+ * from ISO 2047 x (arabic question mark - 061F) @@ 2440 Optical Character Recognition 245F @ OCR-A @@ -14651,7 +14741,7 @@ @ Additional white on black circled number 24FF NEGATIVE CIRCLED DIGIT ZERO x (dingbat negative circled digit one - 2776) -@~ !{FE0E FE0F} Standardized Variation Sequences +@~ ! @@ 2500 Box Drawing 257F @+ All of these characters are intended for compatibility with character cell graphic sets in use prior to 1990. @ Light and heavy solid lines @@ -15071,7 +15161,7 @@ ~ 25FE FE0F emoji style 25FF LOWER RIGHT TRIANGLE x (right triangle - 22BF) -@~ !{FE0E FE0F} Standardized Variation Sequences +@~ ! @@ 2600 Miscellaneous Symbols 26FF @@+ @ Weather and astrological symbols @@ -15160,6 +15250,7 @@ 2619 REVERSED ROTATED FLORAL HEART BULLET * a binding signature mark x (rotated floral heart bullet - 2767) + x (south west pointing vine leaf - 1F659) @ Pointing hand symbols 261A BLACK LEFT POINTING INDEX 261B BLACK RIGHT POINTING INDEX @@ -15283,9 +15374,11 @@ ~ 264A FE0E text style ~ 264A FE0F emoji style 264B CANCER + x (crab - 1F980) ~ 264B FE0E text style ~ 264B FE0F emoji style 264C LEO + x (lion face - 1F981) ~ 264C FE0E text style ~ 264C FE0F emoji style 264D VIRGO @@ -15300,15 +15393,18 @@ 264F SCORPIUS = scorpio = minim, drop + x (scorpion - 1F982) ~ 264F FE0E text style ~ 264F FE0F emoji style 2650 SAGITTARIUS + x (bow and arrow - 1F3F9) ~ 2650 FE0E text style ~ 2650 FE0F emoji style 2651 CAPRICORN ~ 2651 FE0E text style ~ 2651 FE0F emoji style 2652 AQUARIUS + x (amphora - 1F3FA) ~ 2652 FE0E text style ~ 2652 FE0F emoji style 2653 PISCES @@ -15451,6 +15547,7 @@ = medical term * both inclined or upright renderings of this symbol are common x (caduceus - 2624) + x (bowl of hygieia - 1F54F) 2696 SCALES = legal term, jurisprudence x (libra - 264E) @@ -15503,13 +15600,13 @@ * a glyph variant has the two circles on the same line = bisexuality 26A5 MALE AND FEMALE SIGN - = transgendered sexuality + = transgender = hermaphrodite (in entomology) 26A6 MALE WITH STROKE SIGN - = transgendered sexuality + = transgender = alchemical symbol for iron or crocus of iron 26A7 MALE WITH STROKE AND MALE AND FEMALE SIGN - = transgendered sexuality + = transgender 26A8 VERTICAL MALE WITH STROKE SIGN = alchemical symbol for iron 26A9 HORIZONTAL MALE WITH STROKE SIGN @@ -15615,6 +15712,7 @@ = icy road 26D1 HELMET WITH WHITE CROSS = maintenance + x (construction worker - 1F477) 26D2 CIRCLED CROSSING LANES = road closed x (circled times - 2297) @@ -15740,7 +15838,7 @@ x (teacup without handle - 1F375) 26FF WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE = Japanese self-defence force site -@~ !{FE0E FE0F} Standardized Variation Sequences +@~ ! @@ 2700 Dingbats 27BF @+ ITC Zapf dingbats series 100. Some of the ITC Zapf dingbats have been unified with geometric shape characters. Gaps in the chart have subsequently been filled with other dingbat-like symbols. x (black telephone - 260E) @@ -15833,7 +15931,7 @@ 271F OUTLINED LATIN CROSS 2720 MALTESE CROSS * Historically, the Maltese cross took many forms; the shape shown in the Zapf Dingbats is similar to one known as the Cross Formée. -@ Stars, asterisks and snowflakes +@ Stars and asterisks 2721 STAR OF DAVID x (six pointed star with middle dot - 1F52F) 2722 FOUR TEARDROP-SPOKED ASTERISK @@ -15880,6 +15978,7 @@ 273B TEARDROP-SPOKED ASTERISK 273C OPEN CENTRE TEARDROP-SPOKED ASTERISK 273D HEAVY TEARDROP-SPOKED ASTERISK +@ Fleurons 273E SIX PETALLED BLACK AND WHITE FLORETTE 273F BLACK FLORETTE 2740 WHITE FLORETTE @@ -15887,6 +15986,7 @@ x (white flower - 1F4AE) 2741 EIGHT PETALLED OUTLINED BLACK FLORETTE x (black rosette - 1F3F6) +@ Stars, asterisks and snowflakes 2742 CIRCLED OPEN CENTRE EIGHT POINTED STAR 2743 HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK 2744 SNOWFLAKE @@ -15953,11 +16053,13 @@ ~ 2764 FE0E text style ~ 2764 FE0F emoji style 2765 ROTATED HEAVY BLACK HEART BULLET +@ Fleurons 2766 FLORAL HEART = Aldus leaf 2767 ROTATED FLORAL HEART BULLET = hedera, ivy leaf x (reversed rotated floral heart bullet - 2619) + x (south east pointing vine leaf - 1F65B) @ Ornamental brackets 2768 MEDIUM LEFT PARENTHESIS ORNAMENT x (left parenthesis - 0028) @@ -16084,7 +16186,7 @@ 27BE OPEN-OUTLINED RIGHTWARDS ARROW @ Miscellaneous 27BF DOUBLE CURLY LOOP -@~ !{FE0E FE0F} Standardized Variation Sequences +@~ ! @@ 27C0 Miscellaneous Mathematical Symbols-A 27EF @ Miscellaneous symbols 27C0 THREE DIMENSIONAL ANGLE @@ -16710,7 +16812,7 @@ 297D RIGHT FISH TAIL 297E UP FISH TAIL 297F DOWN FISH TAIL -@~ !{FE0E FE0F} Standardized Variation Sequences +@~ ! @@ 2980 Miscellaneous Mathematical Symbols-B 29FF @ Miscellaneous mathematical symbols 2980 TRIPLE VERTICAL BAR DELIMITER @@ -16766,6 +16868,7 @@ 299D MEASURED RIGHT ANGLE WITH DOT 299E ANGLE WITH S INSIDE 299F ACUTE ANGLE + x (angle - 2220) 29A0 SPHERICAL ANGLE OPENING LEFT x (spherical angle - 2222) 29A1 SPHERICAL ANGLE OPENING UP @@ -16794,6 +16897,7 @@ 29B4 EMPTY SET WITH LEFT ARROW ABOVE @ Circle symbols 29B5 CIRCLE WITH HORIZONTAL BAR + * used in superscripted form to mean standard state (chemistry) x (circled minus - 2296) 29B6 CIRCLED VERTICAL BAR x (alchemical symbol for nitre - 1F715) @@ -17653,7 +17757,7 @@ x (black rightwards arrow - 27A1) x (leftwards black arrow - 2B05) @ Arrowheads -@+ These sets of arrowheads are narrower than the dingbats set. +@+ These sets of arrowheads are narrower than the dingbats set. 2B98 THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD 2B99 THREE-D RIGHT-LIGHTED UPWARDS EQUILATERAL ARROWHEAD 2B9A THREE-D TOP-LIGHTED RIGHTWARDS EQUILATERAL ARROWHEAD @@ -17742,7 +17846,18 @@ = query x (apl functional symbol quad question - 2370) x (replacement character - FFFD) -@~ !{FE0E FE0F} Standardized Variation Sequences +@ Two-headed arrow symbols +@+ The following four arrow symbols are the preferred representation for fast cursor direction for ISO 9995-7. +2BEC LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS + = fast cursor left + x (leftwards two headed arrow - 219E) +2BED UPWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS + = fast cursor up +2BEE RIGHTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS + = fast cursor right +2BEF DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS + = fast cursor down +@~ ! @@ 2C00 Glagolitic 2C5F @ Capital letters 2C00 GLAGOLITIC CAPITAL LETTER AZU @@ -18274,6 +18389,7 @@ 2DF3 COMBINING CYRILLIC LETTER SHCHA 2DF4 COMBINING CYRILLIC LETTER FITA 2DF5 COMBINING CYRILLIC LETTER ES-TE + * preferred representation is the sequence: 2DED 2DEE 2DF6 COMBINING CYRILLIC LETTER A x (combining latin small letter a - 0363) 2DF7 COMBINING CYRILLIC LETTER IE @@ -18441,7 +18557,7 @@ * ancestor of the pilcrow sign x (pilcrow sign - 00B6) @ Double hyphen -@+ The double hyphen is used in transcription of old German manuscripts, and occasionally as a non-standard punctuation mark. It is not intended for the representation of normal hyphens, whose doubled forms in Fraktur text are considered glyphic variants. +@+ The double hyphen is used in transcription of old German manuscripts, and occasionally as a non-standard punctuation mark. It is not intended for the representation of normal hyphens, whose doubled forms in Fraktur text are considered glyphic variants. 2E40 DOUBLE HYPHEN x (equals sign - 003D) x (hyphen - 2010) @@ -19244,7 +19360,8 @@ x (mathematical right white square bracket - 27E7) @ CJK symbols and punctuation 301C WAVE DASH -@+ * This character was encoded to match JIS C 6226-1978 1-33 "wave dash". The JIS standards and some industry practice disagree in mapping. +@+ This character was encoded to match JIS C 6226-1978 1-33 "wave dash". + x (swung dash - 2053) x (wavy dash - 3030) x (fullwidth tilde - FF5E) 301D REVERSED DOUBLE PRIME QUOTATION MARK @@ -19282,6 +19399,8 @@ 3030 WAVY DASH x (wavy line - 2307) x (wave dash - 301C) + ~ 3030 FE0E text style + ~ 3030 FE0F emoji style 3031 VERTICAL KANA REPEAT MARK 3032 VERTICAL KANA REPEAT WITH VOICED SOUND MARK * the preceding two semantic characters are preferred to the following three glyphic forms @@ -19314,7 +19433,7 @@ * visual indicator that the following ideograph is to be taken as a variant of the intended character 303F IDEOGRAPHIC HALF FILL SPACE * visual indicator of a screen space for half of an ideograph -@~ !{FE0E FE0F} Standardized Variation Sequences +@~ ! @@ 3040 Hiragana 309F @ Hiragana letters 3041 HIRAGANA LETTER SMALL A @@ -19638,7 +19757,7 @@ 3125 BOPOMOFO LETTER ENG 3126 BOPOMOFO LETTER ER 3127 BOPOMOFO LETTER I - * the horizontal stroke form is considered a vertical variant + * the vertical stroke form is considered a rendering variant 3128 BOPOMOFO LETTER U 3129 BOPOMOFO LETTER IU @ Dialect (non-Mandarin) letters @@ -20581,7 +20700,7 @@ # 30F1 32FE CIRCLED KATAKANA WO # 30F2 -@~ !{FE0E FE0F} Standardized Variation Sequences +@~ ! @@ 3300 CJK Compatibility 33FF @ Squared Katakana words 3300 SQUARE APAATO @@ -21264,7 +21383,7 @@ 4DFD HEXAGRAM FOR SMALL PREPONDERANCE 4DFE HEXAGRAM FOR AFTER COMPLETION 4DFF HEXAGRAM FOR BEFORE COMPLETION -@@ 4E00 CJK Unified Ideographs 9FCC +@@ 4E00 CJK Unified Ideographs 9FD5 @@ A000 Yi Syllables A48F @@+ @ Syllables @@ -23033,7 +23152,8 @@ A69C MODIFIER LETTER CYRILLIC HARD SIGN # 044A A69D MODIFIER LETTER CYRILLIC SOFT SIGN # 044C -@ Combining mark for Old Cyrillic +@ Combining marks for Old Cyrillic +A69E COMBINING CYRILLIC LETTER EF A69F COMBINING CYRILLIC LETTER IOTIFIED E @@ A6A0 Bamum A6FF @ Syllables @@ -23197,6 +23317,7 @@ A728 LATIN CAPITAL LETTER TZ A729 LATIN SMALL LETTER TZ A72A LATIN CAPITAL LETTER TRESILLO A72B LATIN SMALL LETTER TRESILLO + x (turned digit three - 218B) A72C LATIN CAPITAL LETTER CUATRILLO A72D LATIN SMALL LETTER CUATRILLO A72E LATIN CAPITAL LETTER CUATRILLO WITH COMMA @@ -23324,6 +23445,10 @@ A78D LATIN CAPITAL LETTER TURNED H A78E LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT * voiceless lateral retroflex fricative * used to transcribe Toda +@ Transliteration letter +A78F LATIN LETTER SINOLOGICAL DOT + * used for transliteration for Phags-Pa and phonetic transcription for Tangut + x (middle dot - 00B7) @ Additional letters A790 LATIN CAPITAL LETTER N WITH DESCENDER A791 LATIN SMALL LETTER N WITH DESCENDER @@ -23381,6 +23506,20 @@ A7B0 LATIN CAPITAL LETTER TURNED K A7B1 LATIN CAPITAL LETTER TURNED T * lowercase is 0287 * also used in Unifon +@ Letter for African languages +A7B2 LATIN CAPITAL LETTER J WITH CROSSED-TAIL + * lowercase is 029D +@ Letter for German dialectology +A7B3 LATIN CAPITAL LETTER CHI + * lower case is AB53 + x (greek capital letter chi - 03A7) +@ Letters for African languages +A7B4 LATIN CAPITAL LETTER BETA +A7B5 LATIN SMALL LETTER BETA + x (greek small letter beta - 03B2) +A7B6 LATIN CAPITAL LETTER OMEGA +A7B7 LATIN SMALL LETTER OMEGA + x (greek small letter omega - 03C9) @ Additional letter A7F7 LATIN EPIGRAPHIC LETTER SIDEWAYS I * Celtic inscriptions @@ -23731,7 +23870,7 @@ A8D8 SAURASHTRA DIGIT EIGHT A8D9 SAURASHTRA DIGIT NINE @@ A8E0 Devanagari Extended A8FF @ Cantillation marks (svara) for the Samaveda -@+ See the similar set of Grantha svara markers for the Samaveda, encoded in the range 11366-11374. +@+ See the similar set of Grantha svara markers for the Samaveda, encoded in the range 11366-11374. A8E0 COMBINING DEVANAGARI DIGIT ZERO = vaidika saamasvara anka shuunya A8E1 COMBINING DEVANAGARI DIGIT ONE @@ -23797,6 +23936,13 @@ A8FA DEVANAGARI CARET A8FB DEVANAGARI HEADSTROKE = shirorekhaa * used to indicate uncertain manuscript readings + x (sharada headstroke - 111DC) +@ Signs +A8FC DEVANAGARI SIGN SIDDHAM + = siddhirastu + * used at the beginning of texts as an invocation + x (sharada sign siddham - 111DB) +A8FD DEVANAGARI JAIN OM @@ A900 Kayah Li A92F @ Digits A900 KAYAH LI DIGIT ZERO @@ -24453,6 +24599,7 @@ AB50 LATIN SMALL LETTER UI AB51 LATIN SMALL LETTER TURNED UI AB52 LATIN SMALL LETTER U WITH LEFT HOOK AB53 LATIN SMALL LETTER CHI + * uppercase is A7B3 x (greek small letter chi - 03C7) AB54 LATIN SMALL LETTER CHI WITH LOW RIGHT RING AB55 LATIN SMALL LETTER CHI WITH LOW LEFT SERIF @@ -24474,6 +24621,15 @@ AB5E MODIFIER LETTER SMALL L WITH MIDDLE TILDE # 026B AB5F MODIFIER LETTER SMALL U WITH LEFT HOOK # AB52 +@ Historic letters for Sakha (Yakut) +@+ These letters were used from 1917 to 1927 in the official IPA-based Latin orthography of that era. +AB60 LATIN SMALL LETTER SAKHA YAT + x (cyrillic small letter yat - 0463) +AB61 LATIN SMALL LETTER IOTIFIED E + x (cyrillic small letter iotified e - 0465) +AB62 LATIN SMALL LETTER OPEN OE + x (latin small letter open o - 0254) +AB63 LATIN SMALL LETTER UO @ Letters for Americanist orthographies AB64 LATIN SMALL LETTER INVERTED ALPHA x (latin small letter turned alpha - 0252) @@ -24481,6 +24637,89 @@ AB65 GREEK LETTER SMALL CAPITAL OMEGA * obsolete for mid back rounded vowel x (latin small letter closed omega - 0277) x (greek small letter omega - 03C9) +@@ AB70 Cherokee Supplement ABBF +@+ The uppercase Cherokee syllables are encoded in the Cherokee block at 13A0..13FF. Lowercase ye, yi, yo, yu, yv, and mv are encoded in that same block. +@ Lowercase syllables +AB70 CHEROKEE SMALL LETTER A +AB71 CHEROKEE SMALL LETTER E +AB72 CHEROKEE SMALL LETTER I +AB73 CHEROKEE SMALL LETTER O +AB74 CHEROKEE SMALL LETTER U +AB75 CHEROKEE SMALL LETTER V +AB76 CHEROKEE SMALL LETTER GA +AB77 CHEROKEE SMALL LETTER KA +AB78 CHEROKEE SMALL LETTER GE +AB79 CHEROKEE SMALL LETTER GI +AB7A CHEROKEE SMALL LETTER GO +AB7B CHEROKEE SMALL LETTER GU +AB7C CHEROKEE SMALL LETTER GV +AB7D CHEROKEE SMALL LETTER HA +AB7E CHEROKEE SMALL LETTER HE +AB7F CHEROKEE SMALL LETTER HI +AB80 CHEROKEE SMALL LETTER HO +AB81 CHEROKEE SMALL LETTER HU +AB82 CHEROKEE SMALL LETTER HV +AB83 CHEROKEE SMALL LETTER LA +AB84 CHEROKEE SMALL LETTER LE +AB85 CHEROKEE SMALL LETTER LI +AB86 CHEROKEE SMALL LETTER LO +AB87 CHEROKEE SMALL LETTER LU +AB88 CHEROKEE SMALL LETTER LV +AB89 CHEROKEE SMALL LETTER MA +AB8A CHEROKEE SMALL LETTER ME +AB8B CHEROKEE SMALL LETTER MI +AB8C CHEROKEE SMALL LETTER MO +AB8D CHEROKEE SMALL LETTER MU +AB8E CHEROKEE SMALL LETTER NA +AB8F CHEROKEE SMALL LETTER HNA +AB90 CHEROKEE SMALL LETTER NAH +AB91 CHEROKEE SMALL LETTER NE +AB92 CHEROKEE SMALL LETTER NI +AB93 CHEROKEE SMALL LETTER NO +AB94 CHEROKEE SMALL LETTER NU +AB95 CHEROKEE SMALL LETTER NV +AB96 CHEROKEE SMALL LETTER QUA +AB97 CHEROKEE SMALL LETTER QUE +AB98 CHEROKEE SMALL LETTER QUI +AB99 CHEROKEE SMALL LETTER QUO +AB9A CHEROKEE SMALL LETTER QUU +AB9B CHEROKEE SMALL LETTER QUV +AB9C CHEROKEE SMALL LETTER SA +AB9D CHEROKEE SMALL LETTER S +AB9E CHEROKEE SMALL LETTER SE +AB9F CHEROKEE SMALL LETTER SI +ABA0 CHEROKEE SMALL LETTER SO +ABA1 CHEROKEE SMALL LETTER SU +ABA2 CHEROKEE SMALL LETTER SV +ABA3 CHEROKEE SMALL LETTER DA +ABA4 CHEROKEE SMALL LETTER TA +ABA5 CHEROKEE SMALL LETTER DE +ABA6 CHEROKEE SMALL LETTER TE +ABA7 CHEROKEE SMALL LETTER DI +ABA8 CHEROKEE SMALL LETTER TI +ABA9 CHEROKEE SMALL LETTER DO +ABAA CHEROKEE SMALL LETTER DU +ABAB CHEROKEE SMALL LETTER DV +ABAC CHEROKEE SMALL LETTER DLA +ABAD CHEROKEE SMALL LETTER TLA +ABAE CHEROKEE SMALL LETTER TLE +ABAF CHEROKEE SMALL LETTER TLI +ABB0 CHEROKEE SMALL LETTER TLO +ABB1 CHEROKEE SMALL LETTER TLU +ABB2 CHEROKEE SMALL LETTER TLV +ABB3 CHEROKEE SMALL LETTER TSA +ABB4 CHEROKEE SMALL LETTER TSE +ABB5 CHEROKEE SMALL LETTER TSI +ABB6 CHEROKEE SMALL LETTER TSO +ABB7 CHEROKEE SMALL LETTER TSU +ABB8 CHEROKEE SMALL LETTER TSV +ABB9 CHEROKEE SMALL LETTER WA +ABBA CHEROKEE SMALL LETTER WE +ABBB CHEROKEE SMALL LETTER WI +ABBC CHEROKEE SMALL LETTER WO +ABBD CHEROKEE SMALL LETTER WU +ABBE CHEROKEE SMALL LETTER WV +ABBF CHEROKEE SMALL LETTER YA @@ ABC0 Meetei Mayek ABFF @+ The name "Meetei Mayek" is used in official documentation in Manipur. Many linguists also use the name "Meitei Mayek", and other transliterations also occur. @ Letters @@ -25763,7 +26002,7 @@ FB4E HEBREW LETTER PE WITH RAFE FB4F HEBREW LIGATURE ALEF LAMED # 05D0 05DC @@ FB50 Arabic Presentation Forms-A FDFF -@+ Preferred characters are found in the Arabic block 0600 - 06FF. This block also contains 32 noncharacters in the range FDD0 - FDDF. +@+ Preferred characters are found in the Arabic block 0600-06FF. This block also contains 32 noncharacters in the range FDD0-FDEF. @ Glyphs for contextual forms of letters for Persian, Urdu, Sindhi, etc. FB50 ARABIC LETTER ALEF WASLA ISOLATED FORM # 0671 @@ -27089,7 +27328,7 @@ FE26 COMBINING CONJOINING MACRON x (combining macron - 0304) x (combining double macron - 035E) @ Combining half marks below -@+ These are used in combinations to represent a ligature, tilde, or macron that extend underneath more than two characters. +@+ These are used in combinations to represent a ligature, tilde, or macron that extend underneath more than two characters. FE27 COMBINING LIGATURE LEFT HALF BELOW FE28 COMBINING LIGATURE RIGHT HALF BELOW x (combining double breve below - 035C) @@ -27100,6 +27339,10 @@ FE2C COMBINING MACRON RIGHT HALF BELOW FE2D COMBINING CONJOINING MACRON BELOW x (combining macron below - 0331) x (combining double macron below - 035F) +@ Combining half marks +@+ These are used for supralineation in Church Slavonic texts. +FE2E COMBINING CYRILLIC TITLO LEFT HALF +FE2F COMBINING CYRILLIC TITLO RIGHT HALF @@ FE30 CJK Compatibility Forms FE4F @ Glyphs for vertical variants FE30 PRESENTATION FORM FOR VERTICAL TWO DOT LEADER @@ -27534,7 +27777,7 @@ FEFF ZERO WIDTH NO-BREAK SPACE x ( - FFFE) @@ FF00 Halfwidth and Fullwidth Forms FFEF @ Fullwidth ASCII variants -@+ See ASCII 0020 - 007E +@+ See ASCII 0020-007E FF01 FULLWIDTH EXCLAMATION MARK # 0021 FF02 FULLWIDTH QUOTATION MARK @@ -29818,6 +30061,35 @@ FFFF 108AD NABATAEAN NUMBER TEN 108AE NABATAEAN NUMBER TWENTY 108AF NABATAEAN NUMBER ONE HUNDRED +@@ 108E0 Hatran 108FF +@ Letters +108E0 HATRAN LETTER ALEPH +108E1 HATRAN LETTER BETH +108E2 HATRAN LETTER GIMEL +108E3 HATRAN LETTER DALETH-RESH +108E4 HATRAN LETTER HE +108E5 HATRAN LETTER WAW +108E6 HATRAN LETTER ZAYN +108E7 HATRAN LETTER HETH +108E8 HATRAN LETTER TETH +108E9 HATRAN LETTER YODH +108EA HATRAN LETTER KAPH +108EB HATRAN LETTER LAMEDH +108EC HATRAN LETTER MEM +108ED HATRAN LETTER NUN +108EE HATRAN LETTER SAMEKH +108EF HATRAN LETTER AYN +108F0 HATRAN LETTER PE +108F1 HATRAN LETTER SADHE +108F2 HATRAN LETTER QOPH +108F4 HATRAN LETTER SHIN +108F5 HATRAN LETTER TAW +@ Numbers +108FB HATRAN NUMBER ONE +108FC HATRAN NUMBER FIVE +108FD HATRAN NUMBER TEN +108FE HATRAN NUMBER TWENTY +108FF HATRAN NUMBER ONE HUNDRED @@ 10900 Phoenician 1091F @ Letters 10900 PHOENICIAN LETTER ALF @@ -30000,9 +30272,81 @@ FFFF 109B5 MEROITIC CURSIVE LETTER TE 109B6 MEROITIC CURSIVE LETTER TO 109B7 MEROITIC CURSIVE LETTER DA +@ Fractions +109BC MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS +109BD MEROITIC CURSIVE FRACTION ONE HALF @ Logograms 109BE MEROITIC CURSIVE LOGOGRAM RMT 109BF MEROITIC CURSIVE LOGOGRAM IMN +@ Digits +109C0 MEROITIC CURSIVE NUMBER ONE +109C1 MEROITIC CURSIVE NUMBER TWO +109C2 MEROITIC CURSIVE NUMBER THREE +109C3 MEROITIC CURSIVE NUMBER FOUR +109C4 MEROITIC CURSIVE NUMBER FIVE +109C5 MEROITIC CURSIVE NUMBER SIX +109C6 MEROITIC CURSIVE NUMBER SEVEN +109C7 MEROITIC CURSIVE NUMBER EIGHT +109C8 MEROITIC CURSIVE NUMBER NINE +@ Tens +109C9 MEROITIC CURSIVE NUMBER TEN +109CA MEROITIC CURSIVE NUMBER TWENTY +109CB MEROITIC CURSIVE NUMBER THIRTY +109CC MEROITIC CURSIVE NUMBER FORTY +109CD MEROITIC CURSIVE NUMBER FIFTY +109CE MEROITIC CURSIVE NUMBER SIXTY +109CF MEROITIC CURSIVE NUMBER SEVENTY +@ Hundreds +109D2 MEROITIC CURSIVE NUMBER ONE HUNDRED +109D3 MEROITIC CURSIVE NUMBER TWO HUNDRED +109D4 MEROITIC CURSIVE NUMBER THREE HUNDRED +109D5 MEROITIC CURSIVE NUMBER FOUR HUNDRED +109D6 MEROITIC CURSIVE NUMBER FIVE HUNDRED +109D7 MEROITIC CURSIVE NUMBER SIX HUNDRED +109D8 MEROITIC CURSIVE NUMBER SEVEN HUNDRED +109D9 MEROITIC CURSIVE NUMBER EIGHT HUNDRED +109DA MEROITIC CURSIVE NUMBER NINE HUNDRED +@ Thousands +109DB MEROITIC CURSIVE NUMBER ONE THOUSAND +109DC MEROITIC CURSIVE NUMBER TWO THOUSAND +109DD MEROITIC CURSIVE NUMBER THREE THOUSAND +109DE MEROITIC CURSIVE NUMBER FOUR THOUSAND +109DF MEROITIC CURSIVE NUMBER FIVE THOUSAND +109E0 MEROITIC CURSIVE NUMBER SIX THOUSAND +109E1 MEROITIC CURSIVE NUMBER SEVEN THOUSAND +109E2 MEROITIC CURSIVE NUMBER EIGHT THOUSAND +109E3 MEROITIC CURSIVE NUMBER NINE THOUSAND +@ Ten thousands +109E4 MEROITIC CURSIVE NUMBER TEN THOUSAND +109E5 MEROITIC CURSIVE NUMBER TWENTY THOUSAND +109E6 MEROITIC CURSIVE NUMBER THIRTY THOUSAND +109E7 MEROITIC CURSIVE NUMBER FORTY THOUSAND +109E8 MEROITIC CURSIVE NUMBER FIFTY THOUSAND +109E9 MEROITIC CURSIVE NUMBER SIXTY THOUSAND +109EA MEROITIC CURSIVE NUMBER SEVENTY THOUSAND +109EB MEROITIC CURSIVE NUMBER EIGHTY THOUSAND +109EC MEROITIC CURSIVE NUMBER NINETY THOUSAND +@ Hundred thousands +109ED MEROITIC CURSIVE NUMBER ONE HUNDRED THOUSAND +109EE MEROITIC CURSIVE NUMBER TWO HUNDRED THOUSAND +109EF MEROITIC CURSIVE NUMBER THREE HUNDRED THOUSAND +109F0 MEROITIC CURSIVE NUMBER FOUR HUNDRED THOUSAND +109F1 MEROITIC CURSIVE NUMBER FIVE HUNDRED THOUSAND +109F2 MEROITIC CURSIVE NUMBER SIX HUNDRED THOUSAND +109F3 MEROITIC CURSIVE NUMBER SEVEN HUNDRED THOUSAND +109F4 MEROITIC CURSIVE NUMBER EIGHT HUNDRED THOUSAND +109F5 MEROITIC CURSIVE NUMBER NINE HUNDRED THOUSAND +@ Fractions +109F6 MEROITIC CURSIVE FRACTION ONE TWELFTH +109F7 MEROITIC CURSIVE FRACTION TWO TWELFTHS +109F8 MEROITIC CURSIVE FRACTION THREE TWELFTHS +109F9 MEROITIC CURSIVE FRACTION FOUR TWELFTHS +109FA MEROITIC CURSIVE FRACTION FIVE TWELFTHS +109FB MEROITIC CURSIVE FRACTION SIX TWELFTHS +109FC MEROITIC CURSIVE FRACTION SEVEN TWELFTHS +109FD MEROITIC CURSIVE FRACTION EIGHT TWELFTHS +109FE MEROITIC CURSIVE FRACTION NINE TWELFTHS +109FF MEROITIC CURSIVE FRACTION TEN TWELFTHS @@ 10A00 Kharoshthi 10A5F @ Vowels 10A00 KHAROSHTHI LETTER A @@ -30322,7 +30666,9 @@ FFFF 10AC3 MANICHAEAN LETTER GIMEL 10AC4 MANICHAEAN LETTER GHIMEL 10AC5 MANICHAEAN LETTER DALETH + ~ 10AC5 FE00 alternate form (isolate) 10AC6 MANICHAEAN LETTER HE + ~ 10AC6 FE00 alternate form (isolate) 10AC7 MANICHAEAN LETTER WAW 10AC8 MANICHAEAN SIGN UD 10AC9 MANICHAEAN LETTER ZAYIN @@ -30339,7 +30685,10 @@ FFFF 10AD4 MANICHAEAN LETTER DHAMEDH 10AD5 MANICHAEAN LETTER THAMEDH 10AD6 MANICHAEAN LETTER MEM + ~ 10AD6 FE00 alternate form (isolate) + ~ 10AD6 FE00 alternate form (final) 10AD7 MANICHAEAN LETTER NUN + ~ 10AD7 FE00 alternate form (isolate) 10AD8 MANICHAEAN LETTER SAMEKH 10AD9 MANICHAEAN LETTER AYIN 10ADA MANICHAEAN LETTER AAYIN @@ -30350,10 +30699,11 @@ FFFF 10ADF MANICHAEAN LETTER XOPH 10AE0 MANICHAEAN LETTER QHOPH 10AE1 MANICHAEAN LETTER RESH + ~ 10AE1 FE00 alternate form (isolate) 10AE2 MANICHAEAN LETTER SHIN 10AE3 MANICHAEAN LETTER SSHIN 10AE4 MANICHAEAN LETTER TAW -@ Combining marks +@ Combining marks 10AE5 MANICHAEAN ABBREVIATION MARK ABOVE 10AE6 MANICHAEAN ABBREVIATION MARK BELOW @ Numbers @@ -30370,6 +30720,7 @@ FFFF 10AF4 MANICHAEAN PUNCTUATION DOT 10AF5 MANICHAEAN PUNCTUATION TWO DOTS 10AF6 MANICHAEAN PUNCTUATION LINE FILLER +@~ Standardized Variation Sequences @@ 10B00 Avestan 10B3F @ Vowels 10B00 AVESTAN LETTER A @@ -30610,6 +30961,200 @@ FFFF 10C46 OLD TURKIC LETTER YENISEI AET 10C47 OLD TURKIC LETTER ORKHON OT 10C48 OLD TURKIC LETTER ORKHON BASH +@@ 10C80 Old Hungarian 10CFF +@ Uppercase letters +@+ The use of uppercase letters is a modern innovation. +10C80 OLD HUNGARIAN CAPITAL LETTER A +10C81 OLD HUNGARIAN CAPITAL LETTER AA + = Á +10C82 OLD HUNGARIAN CAPITAL LETTER EB + = B +10C83 OLD HUNGARIAN CAPITAL LETTER AMB +10C84 OLD HUNGARIAN CAPITAL LETTER EC + = C +10C85 OLD HUNGARIAN CAPITAL LETTER ENC +10C86 OLD HUNGARIAN CAPITAL LETTER ECS + = Cs +10C87 OLD HUNGARIAN CAPITAL LETTER ED + = D +10C88 OLD HUNGARIAN CAPITAL LETTER AND +10C89 OLD HUNGARIAN CAPITAL LETTER E +10C8A OLD HUNGARIAN CAPITAL LETTER CLOSE E + = Ë +10C8B OLD HUNGARIAN CAPITAL LETTER EE + = É +10C8C OLD HUNGARIAN CAPITAL LETTER EF + = F +10C8D OLD HUNGARIAN CAPITAL LETTER EG + = G +10C8E OLD HUNGARIAN CAPITAL LETTER EGY + = Gy +10C8F OLD HUNGARIAN CAPITAL LETTER EH + = H +10C90 OLD HUNGARIAN CAPITAL LETTER I +10C91 OLD HUNGARIAN CAPITAL LETTER II + = Í +10C92 OLD HUNGARIAN CAPITAL LETTER EJ + = J +10C93 OLD HUNGARIAN CAPITAL LETTER EK + = K +10C94 OLD HUNGARIAN CAPITAL LETTER AK +10C95 OLD HUNGARIAN CAPITAL LETTER UNK +10C96 OLD HUNGARIAN CAPITAL LETTER EL + = L +10C97 OLD HUNGARIAN CAPITAL LETTER ELY + = Ly +10C98 OLD HUNGARIAN CAPITAL LETTER EM + = M +10C99 OLD HUNGARIAN CAPITAL LETTER EN + = N +10C9A OLD HUNGARIAN CAPITAL LETTER ENY + = Ny +10C9B OLD HUNGARIAN CAPITAL LETTER O + = O +10C9C OLD HUNGARIAN CAPITAL LETTER OO + = Ó +10C9D OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG OE + = Ö +10C9E OLD HUNGARIAN CAPITAL LETTER RUDIMENTA OE + = Ö +10C9F OLD HUNGARIAN CAPITAL LETTER OEE + = O with double acute +10CA0 OLD HUNGARIAN CAPITAL LETTER EP + = P +10CA1 OLD HUNGARIAN CAPITAL LETTER EMP +10CA2 OLD HUNGARIAN CAPITAL LETTER ER + = R +10CA3 OLD HUNGARIAN CAPITAL LETTER SHORT ER +10CA4 OLD HUNGARIAN CAPITAL LETTER ES + = S +10CA5 OLD HUNGARIAN CAPITAL LETTER ESZ + = Sz +10CA6 OLD HUNGARIAN CAPITAL LETTER ET + = T +10CA7 OLD HUNGARIAN CAPITAL LETTER ENT + * also used for Ant and Int +10CA8 OLD HUNGARIAN CAPITAL LETTER ETY + = Ty +10CA9 OLD HUNGARIAN CAPITAL LETTER ECH +10CAA OLD HUNGARIAN CAPITAL LETTER U +10CAB OLD HUNGARIAN CAPITAL LETTER UU + = Ú +10CAC OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG UE + = Ü + * also used for Ö + * used for U with double acute in Sándor Forrai's orthography +10CAD OLD HUNGARIAN CAPITAL LETTER RUDIMENTA UE + = Ü, U with double acute + * used for Ü in Sándor Forrai's orthography +10CAE OLD HUNGARIAN CAPITAL LETTER EV + = V +10CAF OLD HUNGARIAN CAPITAL LETTER EZ + = Z +10CB0 OLD HUNGARIAN CAPITAL LETTER EZS + = Zs +10CB1 OLD HUNGARIAN CAPITAL LETTER ENT-SHAPED SIGN +10CB2 OLD HUNGARIAN CAPITAL LETTER US +@ Lowercase letters +10CC0 OLD HUNGARIAN SMALL LETTER A +10CC1 OLD HUNGARIAN SMALL LETTER AA + = á +10CC2 OLD HUNGARIAN SMALL LETTER EB + = b +10CC3 OLD HUNGARIAN SMALL LETTER AMB +10CC4 OLD HUNGARIAN SMALL LETTER EC + = c +10CC5 OLD HUNGARIAN SMALL LETTER ENC +10CC6 OLD HUNGARIAN SMALL LETTER ECS + = cs +10CC7 OLD HUNGARIAN SMALL LETTER ED + = d +10CC8 OLD HUNGARIAN SMALL LETTER AND +10CC9 OLD HUNGARIAN SMALL LETTER E +10CCA OLD HUNGARIAN SMALL LETTER CLOSE E + = ë +10CCB OLD HUNGARIAN SMALL LETTER EE + = é +10CCC OLD HUNGARIAN SMALL LETTER EF + = f +10CCD OLD HUNGARIAN SMALL LETTER EG + = g +10CCE OLD HUNGARIAN SMALL LETTER EGY + = gy +10CCF OLD HUNGARIAN SMALL LETTER EH + = h +10CD0 OLD HUNGARIAN SMALL LETTER I +10CD1 OLD HUNGARIAN SMALL LETTER II + = í +10CD2 OLD HUNGARIAN SMALL LETTER EJ + = j +10CD3 OLD HUNGARIAN SMALL LETTER EK + = k +10CD4 OLD HUNGARIAN SMALL LETTER AK +10CD5 OLD HUNGARIAN SMALL LETTER UNK +10CD6 OLD HUNGARIAN SMALL LETTER EL + = l +10CD7 OLD HUNGARIAN SMALL LETTER ELY + = ly +10CD8 OLD HUNGARIAN SMALL LETTER EM + = m +10CD9 OLD HUNGARIAN SMALL LETTER EN + = n +10CDA OLD HUNGARIAN SMALL LETTER ENY + = ny +10CDB OLD HUNGARIAN SMALL LETTER O +10CDC OLD HUNGARIAN SMALL LETTER OO + = ó +10CDD OLD HUNGARIAN SMALL LETTER NIKOLSBURG OE + = ö + * also used for ü +10CDE OLD HUNGARIAN SMALL LETTER RUDIMENTA OE + = ö +10CDF OLD HUNGARIAN SMALL LETTER OEE + = o with double acute +10CE0 OLD HUNGARIAN SMALL LETTER EP + = p +10CE1 OLD HUNGARIAN SMALL LETTER EMP +10CE2 OLD HUNGARIAN SMALL LETTER ER + = r +10CE3 OLD HUNGARIAN SMALL LETTER SHORT ER +10CE4 OLD HUNGARIAN SMALL LETTER ES + = s +10CE5 OLD HUNGARIAN SMALL LETTER ESZ + = sz +10CE6 OLD HUNGARIAN SMALL LETTER ET + = t +10CE7 OLD HUNGARIAN SMALL LETTER ENT + * also used for ant and int +10CE8 OLD HUNGARIAN SMALL LETTER ETY + = ty +10CE9 OLD HUNGARIAN SMALL LETTER ECH +10CEA OLD HUNGARIAN SMALL LETTER U +10CEB OLD HUNGARIAN SMALL LETTER UU + = ú +10CEC OLD HUNGARIAN SMALL LETTER NIKOLSBURG UE + = ü + * also used for ö + * used for u with double acute in Sándor Forrai's orthography +10CED OLD HUNGARIAN SMALL LETTER RUDIMENTA UE + = ü, u with double acute + * used for ü in Sándor Forrai's orthography +10CEE OLD HUNGARIAN SMALL LETTER EV + = v +10CEF OLD HUNGARIAN SMALL LETTER EZ + = z +10CF0 OLD HUNGARIAN SMALL LETTER EZS + = zs +10CF1 OLD HUNGARIAN SMALL LETTER ENT-SHAPED SIGN + * in earlier literature called "tprus" (later recognized as an abbreviation for "temperius") +10CF2 OLD HUNGARIAN SMALL LETTER US +@ Numbers +10CFA OLD HUNGARIAN NUMBER ONE +10CFB OLD HUNGARIAN NUMBER FIVE +10CFC OLD HUNGARIAN NUMBER TEN +10CFD OLD HUNGARIAN NUMBER FIFTY +10CFE OLD HUNGARIAN NUMBER ONE HUNDRED +10CFF OLD HUNGARIAN NUMBER ONE THOUSAND @@ 10E60 Rumi Numeral Symbols 10E7F @ Digits 10E60 RUMI DIGIT ONE @@ -31147,6 +31692,16 @@ FFFF 111C6 SHARADA DOUBLE DANDA 111C7 SHARADA ABBREVIATION SIGN 111C8 SHARADA SEPARATOR +111C9 SHARADA SANDHI MARK + * indicates external sandhi in Sanskrit documents +@ Signs for Kashmiri +111CA SHARADA SIGN NUKTA + * for extending the alphabet to new letters +111CB SHARADA VOWEL MODIFIER MARK + * represents regressive metaphony +111CC SHARADA EXTRA SHORT VOWEL MARK + * used for writing "matra-vowels" +@ Punctuation 111CD SHARADA SUTRA MARK * used for indicating the end of a sutra in the Bakhshali manuscript @ Digits @@ -31163,8 +31718,20 @@ FFFF @ Punctuation 111DA SHARADA EKAM * invocation symbol used at the beginning or end of texts +111DB SHARADA SIGN SIDDHAM + = siddhirastu + * used at the beginning of texts as an invocation + x (devanagari sign siddham - A8FC) +111DC SHARADA HEADSTROKE + * used for joining words across imperfections + x (devanagari headstroke - A8FB) +111DD SHARADA CONTINUATION SIGN + * indicates a breaking opportunity within a word +@ Section marks +111DE SHARADA SECTION MARK-1 +111DF SHARADA SECTION MARK-2 @@ 111E0 Sinhala Archaic Numbers 111FF -@+ This number system is also known as Sinhala Illakkam. This number system does not have a zero place holder concept, unlike the Sinhala astrological numbers, Sinhala Lith Illakkam, encoded in the range 0DE6-0DEF. +@+ This number system is also known as Sinhala Illakkam. This number system does not have a zero place holder concept, unlike the Sinhala astrological numbers, Sinhala Lith Illakkam, encoded in the range 0DE6-0DEF. @ Historical digits 111E1 SINHALA ARCHAIC DIGIT ONE 111E2 SINHALA ARCHAIC DIGIT TWO @@ -31258,6 +31825,49 @@ FFFF * delimits larger chunks of text, such as paragraphs x (kaithi double section mark - 110BF) 1123D KHOJKI ABBREVIATION SIGN +@@ 11280 Multani 112AF +@ Vowels +11280 MULTANI LETTER A +11281 MULTANI LETTER I +11282 MULTANI LETTER U +11283 MULTANI LETTER E +@ Consonants +11284 MULTANI LETTER KA +11285 MULTANI LETTER KHA +11286 MULTANI LETTER GA +11288 MULTANI LETTER GHA +1128A MULTANI LETTER CA +1128B MULTANI LETTER CHA +1128C MULTANI LETTER JA +1128D MULTANI LETTER JJA +1128F MULTANI LETTER NYA +11290 MULTANI LETTER TTA +11291 MULTANI LETTER TTHA +11292 MULTANI LETTER DDA +11293 MULTANI LETTER DDDA + = tra +11294 MULTANI LETTER DDHA +11295 MULTANI LETTER NNA +11296 MULTANI LETTER TA +11297 MULTANI LETTER THA +11298 MULTANI LETTER DA +11299 MULTANI LETTER DHA +1129A MULTANI LETTER NA +1129B MULTANI LETTER PA +1129C MULTANI LETTER PHA +1129D MULTANI LETTER BA +1129F MULTANI LETTER BHA +112A0 MULTANI LETTER MA +112A1 MULTANI LETTER YA +112A2 MULTANI LETTER RA +112A3 MULTANI LETTER LA +112A4 MULTANI LETTER VA +112A5 MULTANI LETTER SA +112A6 MULTANI LETTER HA +112A7 MULTANI LETTER RRA +112A8 MULTANI LETTER RHA +@ Punctuation +112A9 MULTANI SECTION MARK @@ 112B0 Khudawadi 112FF @ Independent vowels 112B0 KHUDAWADI LETTER A @@ -31336,8 +31946,11 @@ FFFF 112F9 KHUDAWADI DIGIT NINE @@ 11300 Grantha 1137F @ Various signs +11300 GRANTHA SIGN COMBINING ANUSVARA ABOVE + * used in Prakrit language Jain texts for the linguistic anusvara 11301 GRANTHA SIGN CANDRABINDU 11302 GRANTHA SIGN ANUSVARA + * used in Prakrit language Jain texts to indicate gemination of the following consonant 11303 GRANTHA SIGN VISARGA @ Independent vowels 11305 GRANTHA LETTER A @@ -31407,6 +32020,8 @@ FFFF : 11347 11357 @ Virama 1134D GRANTHA SIGN VIRAMA +@ Sign +11350 GRANTHA OM @ Dependent vowel sign 11357 GRANTHA AU LENGTH MARK @ Sign @@ -31422,7 +32037,7 @@ FFFF 11362 GRANTHA VOWEL SIGN VOCALIC L 11363 GRANTHA VOWEL SIGN VOCALIC LL @ Cantillation marks (svara) for the Samaveda -@+ See the similar set of Devanagari svara markers for the Samaveda, encoded in the range A8E0-A8F1. +@+ See the similar set of Devanagari svara markers for the Samaveda, encoded in the range A8E0-A8F1. 11366 COMBINING GRANTHA DIGIT ZERO 11367 COMBINING GRANTHA DIGIT ONE 11368 COMBINING GRANTHA DIGIT TWO @@ -31436,7 +32051,7 @@ FFFF 11373 COMBINING GRANTHA LETTER VI 11374 COMBINING GRANTHA LETTER PA @@ 11480 Tirhuta 114DF -@+ The Tirhuta script is also known by the names 'Mithilakshara' and 'Maithili'. +@+ The Tirhuta script is also known by the names 'Mithilakshara' and 'Maithili'. @ Sign 11480 TIRHUTA ANJI @ Independent vowels @@ -31620,6 +32235,34 @@ FFFF @ Terminal mark 115C9 SIDDHAM END OF TEXT MARK * indicates the completion of a text +@ Section marks +@+ These characters are used at the end of a section or text. +115CA SIDDHAM SECTION MARK WITH TRIDENT AND U-SHAPED ORNAMENTS +115CB SIDDHAM SECTION MARK WITH TRIDENT AND DOTTED CRESCENTS +115CC SIDDHAM SECTION MARK WITH RAYS AND DOTTED CRESCENTS +115CD SIDDHAM SECTION MARK WITH RAYS AND DOTTED DOUBLE CRESCENTS +115CE SIDDHAM SECTION MARK WITH RAYS AND DOTTED TRIPLE CRESCENTS +115CF SIDDHAM SECTION MARK DOUBLE RING +115D0 SIDDHAM SECTION MARK DOUBLE RING WITH RAYS +115D1 SIDDHAM SECTION MARK WITH DOUBLE CRESCENTS +115D2 SIDDHAM SECTION MARK WITH TRIPLE CRESCENTS +115D3 SIDDHAM SECTION MARK WITH QUADRUPLE CRESCENTS +115D4 SIDDHAM SECTION MARK WITH SEPTUPLE CRESCENTS +115D5 SIDDHAM SECTION MARK WITH CIRCLES AND RAYS +115D6 SIDDHAM SECTION MARK WITH CIRCLES AND TWO ENCLOSURES +115D7 SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES +@ Alternate letters +115D8 SIDDHAM LETTER THREE-CIRCLE ALTERNATE I + x (siddham letter i - 11582) +115D9 SIDDHAM LETTER TWO-CIRCLE ALTERNATE I +115DA SIDDHAM LETTER TWO-CIRCLE ALTERNATE II + x (siddham letter ii - 11583) +115DB SIDDHAM LETTER ALTERNATE U + x (siddham letter u - 11584) +@ Alternate vowel signs +@+ These alternate vowel signs are the 'warbler' forms while the regular vowel signs are the 'cloud' forms. +115DC SIDDHAM VOWEL SIGN ALTERNATE U +115DD SIDDHAM VOWEL SIGN ALTERNATE UU @@ 11600 Modi 1165F @ Independent vowels 11600 MODI LETTER A @@ -31784,6 +32427,70 @@ FFFF 116C7 TAKRI DIGIT SEVEN 116C8 TAKRI DIGIT EIGHT 116C9 TAKRI DIGIT NINE +@@ 11700 Ahom 1173F +@ Consonants +11700 AHOM LETTER KA +11701 AHOM LETTER KHA +11702 AHOM LETTER NGA +11703 AHOM LETTER NA +11704 AHOM LETTER TA +11705 AHOM LETTER ALTERNATE TA +11706 AHOM LETTER PA +11707 AHOM LETTER PHA +11708 AHOM LETTER BA +11709 AHOM LETTER MA +1170A AHOM LETTER JA +1170B AHOM LETTER CHA +1170C AHOM LETTER THA +1170D AHOM LETTER RA +1170E AHOM LETTER LA +1170F AHOM LETTER SA +11710 AHOM LETTER NYA +11711 AHOM LETTER HA +11712 AHOM LETTER A +11713 AHOM LETTER DA +11714 AHOM LETTER DHA +11715 AHOM LETTER GA +11716 AHOM LETTER ALTERNATE GA +11717 AHOM LETTER GHA +11718 AHOM LETTER BHA +11719 AHOM LETTER JHA +@ Medials +1171D AHOM CONSONANT SIGN MEDIAL LA +1171E AHOM CONSONANT SIGN MEDIAL RA +1171F AHOM CONSONANT SIGN MEDIAL LIGATING RA +@ Vowel signs +11720 AHOM VOWEL SIGN A +11721 AHOM VOWEL SIGN AA +11722 AHOM VOWEL SIGN I +11723 AHOM VOWEL SIGN II +11724 AHOM VOWEL SIGN U +11725 AHOM VOWEL SIGN UU +11726 AHOM VOWEL SIGN E +11727 AHOM VOWEL SIGN AW +11728 AHOM VOWEL SIGN O +11729 AHOM VOWEL SIGN AI +1172A AHOM VOWEL SIGN AM +1172B AHOM SIGN KILLER +@ Digits +11730 AHOM DIGIT ZERO +11731 AHOM DIGIT ONE +11732 AHOM DIGIT TWO +11733 AHOM DIGIT THREE +11734 AHOM DIGIT FOUR +11735 AHOM DIGIT FIVE +11736 AHOM DIGIT SIX +11737 AHOM DIGIT SEVEN +11738 AHOM DIGIT EIGHT +11739 AHOM DIGIT NINE +@ Numbers +1173A AHOM NUMBER TEN +1173B AHOM NUMBER TWENTY +@ Punctuation +1173C AHOM SIGN SMALL SECTION +1173D AHOM SIGN SECTION +1173E AHOM SIGN RULAI +1173F AHOM SYMBOL VI @@ 118A0 Warang Citi 118FF @ Uppercase vowels 118A0 WARANG CITI CAPITAL LETTER NGAA @@ -32867,6 +33574,7 @@ FFFF 12396 CUNEIFORM SIGN SAG TIMES IGI GUNU 12397 CUNEIFORM SIGN TI2 12398 CUNEIFORM SIGN UM TIMES ME +12399 CUNEIFORM SIGN U U @@ 12400 Cuneiform Numbers and Punctuation 1247F @ Numeric signs 12400 CUNEIFORM NUMERIC SIGN TWO ASH @@ -32992,6 +33700,204 @@ FFFF 12472 CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON 12473 CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON 12474 CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON +@@ 12480 Early Dynastic Cuneiform 1254F +@ Signs +12480 CUNEIFORM SIGN AB TIMES NUN TENU +12481 CUNEIFORM SIGN AB TIMES SHU2 +12482 CUNEIFORM SIGN AD TIMES ESH2 +12483 CUNEIFORM SIGN BAD TIMES DISH TENU +12484 CUNEIFORM SIGN BAHAR2 TIMES AB2 +12485 CUNEIFORM SIGN BAHAR2 TIMES NI +12486 CUNEIFORM SIGN BAHAR2 TIMES ZA +12487 CUNEIFORM SIGN BU OVER BU TIMES NA2 +12488 CUNEIFORM SIGN DA TIMES TAK4 +12489 CUNEIFORM SIGN DAG TIMES KUR +1248A CUNEIFORM SIGN DIM TIMES IGI +1248B CUNEIFORM SIGN DIM TIMES U U U +1248C CUNEIFORM SIGN DIM2 TIMES UD +1248D CUNEIFORM SIGN DUG TIMES ANSHE +1248E CUNEIFORM SIGN DUG TIMES ASH +1248F CUNEIFORM SIGN DUG TIMES ASH AT LEFT +12490 CUNEIFORM SIGN DUG TIMES DIN +12491 CUNEIFORM SIGN DUG TIMES DUN +12492 CUNEIFORM SIGN DUG TIMES ERIN2 +12493 CUNEIFORM SIGN DUG TIMES GA +12494 CUNEIFORM SIGN DUG TIMES GI +12495 CUNEIFORM SIGN DUG TIMES GIR2 GUNU +12496 CUNEIFORM SIGN DUG TIMES GISH +12497 CUNEIFORM SIGN DUG TIMES HA +12498 CUNEIFORM SIGN DUG TIMES HI +12499 CUNEIFORM SIGN DUG TIMES IGI GUNU +1249A CUNEIFORM SIGN DUG TIMES KASKAL +1249B CUNEIFORM SIGN DUG TIMES KUR +1249C CUNEIFORM SIGN DUG TIMES KUSHU2 +1249D CUNEIFORM SIGN DUG TIMES KUSHU2 PLUS KASKAL +1249E CUNEIFORM SIGN DUG TIMES LAK-020 +1249F CUNEIFORM SIGN DUG TIMES LAM +124A0 CUNEIFORM SIGN DUG TIMES LAM TIMES KUR +124A1 CUNEIFORM SIGN DUG TIMES LUH PLUS GISH +124A2 CUNEIFORM SIGN DUG TIMES MASH +124A3 CUNEIFORM SIGN DUG TIMES MES +124A4 CUNEIFORM SIGN DUG TIMES MI +124A5 CUNEIFORM SIGN DUG TIMES NI +124A6 CUNEIFORM SIGN DUG TIMES PI +124A7 CUNEIFORM SIGN DUG TIMES SHE +124A8 CUNEIFORM SIGN DUG TIMES SI GUNU +124A9 CUNEIFORM SIGN E2 TIMES KUR +124AA CUNEIFORM SIGN E2 TIMES PAP +124AB CUNEIFORM SIGN ERIN2 X +124AC CUNEIFORM SIGN ESH2 CROSSING ESH2 +124AD CUNEIFORM SIGN EZEN SHESHIG TIMES ASH +124AE CUNEIFORM SIGN EZEN SHESHIG TIMES HI +124AF CUNEIFORM SIGN EZEN SHESHIG TIMES IGI GUNU +124B0 CUNEIFORM SIGN EZEN SHESHIG TIMES LA +124B1 CUNEIFORM SIGN EZEN SHESHIG TIMES LAL +124B2 CUNEIFORM SIGN EZEN SHESHIG TIMES ME +124B3 CUNEIFORM SIGN EZEN SHESHIG TIMES MES +124B4 CUNEIFORM SIGN EZEN SHESHIG TIMES SU +124B5 CUNEIFORM SIGN EZEN TIMES SU +124B6 CUNEIFORM SIGN GA2 TIMES BAHAR2 +124B7 CUNEIFORM SIGN GA2 TIMES DIM GUNU +124B8 CUNEIFORM SIGN GA2 TIMES DUG TIMES IGI GUNU +124B9 CUNEIFORM SIGN GA2 TIMES DUG TIMES KASKAL +124BA CUNEIFORM SIGN GA2 TIMES EREN +124BB CUNEIFORM SIGN GA2 TIMES GA +124BC CUNEIFORM SIGN GA2 TIMES GAR PLUS DI +124BD CUNEIFORM SIGN GA2 TIMES GAR PLUS NE +124BE CUNEIFORM SIGN GA2 TIMES HA PLUS A +124BF CUNEIFORM SIGN GA2 TIMES KUSHU2 PLUS KASKAL +124C0 CUNEIFORM SIGN GA2 TIMES LAM +124C1 CUNEIFORM SIGN GA2 TIMES LAM TIMES KUR +124C2 CUNEIFORM SIGN GA2 TIMES LUH +124C3 CUNEIFORM SIGN GA2 TIMES MUSH +124C4 CUNEIFORM SIGN GA2 TIMES NE +124C5 CUNEIFORM SIGN GA2 TIMES NE PLUS E2 +124C6 CUNEIFORM SIGN GA2 TIMES NE PLUS GI +124C7 CUNEIFORM SIGN GA2 TIMES SHIM +124C8 CUNEIFORM SIGN GA2 TIMES ZIZ2 +124C9 CUNEIFORM SIGN GABA ROTATED NINETY DEGREES +124CA CUNEIFORM SIGN GESHTIN TIMES U +124CB CUNEIFORM SIGN GISH TIMES GISH CROSSING GISH +124CC CUNEIFORM SIGN GU2 TIMES IGI GUNU +124CD CUNEIFORM SIGN GUD PLUS GISH TIMES TAK4 +124CE CUNEIFORM SIGN HA TENU GUNU +124CF CUNEIFORM SIGN HI TIMES ASH OVER HI TIMES ASH +124D0 CUNEIFORM SIGN KA TIMES BU +124D1 CUNEIFORM SIGN KA TIMES KA +124D2 CUNEIFORM SIGN KA TIMES U U U +124D3 CUNEIFORM SIGN KA TIMES UR +124D4 CUNEIFORM SIGN LAGAB TIMES ZU OVER ZU +124D5 CUNEIFORM SIGN LAK-003 +124D6 CUNEIFORM SIGN LAK-021 +124D7 CUNEIFORM SIGN LAK-025 +124D8 CUNEIFORM SIGN LAK-030 +124D9 CUNEIFORM SIGN LAK-050 +124DA CUNEIFORM SIGN LAK-051 +124DB CUNEIFORM SIGN LAK-062 +124DC CUNEIFORM SIGN LAK-079 OVER LAK-079 GUNU +124DD CUNEIFORM SIGN LAK-080 +124DE CUNEIFORM SIGN LAK-081 OVER LAK-081 +124DF CUNEIFORM SIGN LAK-092 +124E0 CUNEIFORM SIGN LAK-130 +124E1 CUNEIFORM SIGN LAK-142 +124E2 CUNEIFORM SIGN LAK-210 +124E3 CUNEIFORM SIGN LAK-219 +124E4 CUNEIFORM SIGN LAK-220 +124E5 CUNEIFORM SIGN LAK-225 +124E6 CUNEIFORM SIGN LAK-228 +124E7 CUNEIFORM SIGN LAK-238 +124E8 CUNEIFORM SIGN LAK-265 +124E9 CUNEIFORM SIGN LAK-266 +124EA CUNEIFORM SIGN LAK-343 +124EB CUNEIFORM SIGN LAK-347 +124EC CUNEIFORM SIGN LAK-348 +124ED CUNEIFORM SIGN LAK-383 +124EE CUNEIFORM SIGN LAK-384 +124EF CUNEIFORM SIGN LAK-390 +124F0 CUNEIFORM SIGN LAK-441 +124F1 CUNEIFORM SIGN LAK-449 +124F2 CUNEIFORM SIGN LAK-449 TIMES GU +124F3 CUNEIFORM SIGN LAK-449 TIMES IGI +124F4 CUNEIFORM SIGN LAK-449 TIMES PAP PLUS LU3 +124F5 CUNEIFORM SIGN LAK-449 TIMES PAP PLUS PAP PLUS LU3 +124F6 CUNEIFORM SIGN LAK-449 TIMES U2 PLUS BA +124F7 CUNEIFORM SIGN LAK-450 +124F8 CUNEIFORM SIGN LAK-457 +124F9 CUNEIFORM SIGN LAK-470 +124FA CUNEIFORM SIGN LAK-483 +124FB CUNEIFORM SIGN LAK-490 +124FC CUNEIFORM SIGN LAK-492 +124FD CUNEIFORM SIGN LAK-493 +124FE CUNEIFORM SIGN LAK-495 +124FF CUNEIFORM SIGN LAK-550 +12500 CUNEIFORM SIGN LAK-608 +12501 CUNEIFORM SIGN LAK-617 +12502 CUNEIFORM SIGN LAK-617 TIMES ASH +12503 CUNEIFORM SIGN LAK-617 TIMES BAD +12504 CUNEIFORM SIGN LAK-617 TIMES DUN3 GUNU GUNU +12505 CUNEIFORM SIGN LAK-617 TIMES KU3 +12506 CUNEIFORM SIGN LAK-617 TIMES LA +12507 CUNEIFORM SIGN LAK-617 TIMES TAR +12508 CUNEIFORM SIGN LAK-617 TIMES TE +12509 CUNEIFORM SIGN LAK-617 TIMES U2 +1250A CUNEIFORM SIGN LAK-617 TIMES UD +1250B CUNEIFORM SIGN LAK-617 TIMES URUDA +1250C CUNEIFORM SIGN LAK-636 +1250D CUNEIFORM SIGN LAK-648 +1250E CUNEIFORM SIGN LAK-648 TIMES DUB +1250F CUNEIFORM SIGN LAK-648 TIMES GA +12510 CUNEIFORM SIGN LAK-648 TIMES IGI +12511 CUNEIFORM SIGN LAK-648 TIMES IGI GUNU +12512 CUNEIFORM SIGN LAK-648 TIMES NI +12513 CUNEIFORM SIGN LAK-648 TIMES PAP PLUS PAP PLUS LU3 +12514 CUNEIFORM SIGN LAK-648 TIMES SHESH PLUS KI +12515 CUNEIFORM SIGN LAK-648 TIMES UD +12516 CUNEIFORM SIGN LAK-648 TIMES URUDA +12517 CUNEIFORM SIGN LAK-724 +12518 CUNEIFORM SIGN LAK-749 +12519 CUNEIFORM SIGN LU2 GUNU TIMES ASH +1251A CUNEIFORM SIGN LU2 TIMES DISH +1251B CUNEIFORM SIGN LU2 TIMES HAL +1251C CUNEIFORM SIGN LU2 TIMES PAP +1251D CUNEIFORM SIGN LU2 TIMES PAP PLUS PAP PLUS LU3 +1251E CUNEIFORM SIGN LU2 TIMES TAK4 +1251F CUNEIFORM SIGN MI PLUS ZA7 +12520 CUNEIFORM SIGN MUSH OVER MUSH TIMES GA +12521 CUNEIFORM SIGN MUSH OVER MUSH TIMES KAK +12522 CUNEIFORM SIGN NINDA2 TIMES DIM GUNU +12523 CUNEIFORM SIGN NINDA2 TIMES GISH +12524 CUNEIFORM SIGN NINDA2 TIMES GUL +12525 CUNEIFORM SIGN NINDA2 TIMES HI +12526 CUNEIFORM SIGN NINDA2 TIMES KESH2 +12527 CUNEIFORM SIGN NINDA2 TIMES LAK-050 +12528 CUNEIFORM SIGN NINDA2 TIMES MASH +12529 CUNEIFORM SIGN NINDA2 TIMES PAP PLUS PAP +1252A CUNEIFORM SIGN NINDA2 TIMES U +1252B CUNEIFORM SIGN NINDA2 TIMES U PLUS U +1252C CUNEIFORM SIGN NINDA2 TIMES URUDA +1252D CUNEIFORM SIGN SAG GUNU TIMES HA +1252E CUNEIFORM SIGN SAG TIMES EN +1252F CUNEIFORM SIGN SAG TIMES SHE AT LEFT +12530 CUNEIFORM SIGN SAG TIMES TAK4 +12531 CUNEIFORM SIGN SHA6 TENU +12532 CUNEIFORM SIGN SHE OVER SHE +12533 CUNEIFORM SIGN SHE PLUS HUB2 +12534 CUNEIFORM SIGN SHE PLUS NAM2 +12535 CUNEIFORM SIGN SHE PLUS SAR +12536 CUNEIFORM SIGN SHU2 PLUS DUG TIMES NI +12537 CUNEIFORM SIGN SHU2 PLUS E2 TIMES AN +12538 CUNEIFORM SIGN SI TIMES TAK4 +12539 CUNEIFORM SIGN TAK4 PLUS SAG +1253A CUNEIFORM SIGN TUM TIMES GAN2 TENU +1253B CUNEIFORM SIGN TUM TIMES THREE DISH +1253C CUNEIFORM SIGN UR2 INVERTED +1253D CUNEIFORM SIGN UR2 TIMES UD +1253E CUNEIFORM SIGN URU TIMES DARA3 +1253F CUNEIFORM SIGN URU TIMES LAK-668 +12540 CUNEIFORM SIGN URU TIMES LU3 +12541 CUNEIFORM SIGN ZA7 +12542 CUNEIFORM SIGN ZU OVER ZU PLUS SAR +12543 CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU @@ 13000 Egyptian Hieroglyphs 1342F @+ The characters in this block are taken primarily from Alan Gardiner's works on Middle Egyptian. @ A. Man and his occupations @@ -34244,6 +35150,1033 @@ FFFF 1342C EGYPTIAN HIEROGLYPH AA030 1342D EGYPTIAN HIEROGLYPH AA031 1342E EGYPTIAN HIEROGLYPH AA032 +@@ 14400 Anatolian Hieroglyphs 1467F +@+ In the names list, most of the comments are in Latin. Those which have a Luwian phonetic value are identified as syllabic. +@ A. The human body and clothing +14400 ANATOLIAN HIEROGLYPH A001 + = ego +14401 ANATOLIAN HIEROGLYPH A002 + = ego2 +14402 ANATOLIAN HIEROGLYPH A003 +14403 ANATOLIAN HIEROGLYPH A004 + = mons2 +14404 ANATOLIAN HIEROGLYPH A005 +14405 ANATOLIAN HIEROGLYPH A006 + = adorare +14406 ANATOLIAN HIEROGLYPH A007 + = edere +14407 ANATOLIAN HIEROGLYPH A008 + = bibere +14408 ANATOLIAN HIEROGLYPH A009 + = amplecti +14409 ANATOLIAN HIEROGLYPH A010 + = caput +1440A ANATOLIAN HIEROGLYPH A010A + = caput+scalprum +1440B ANATOLIAN HIEROGLYPH A011 +1440C ANATOLIAN HIEROGLYPH A012 + = statua +1440D ANATOLIAN HIEROGLYPH A013 +1440E ANATOLIAN HIEROGLYPH A014 + = prae + = logosyllabic pari +1440F ANATOLIAN HIEROGLYPH A015 + = domina +14410 ANATOLIAN HIEROGLYPH A016 + = magnus.domina +14411 ANATOLIAN HIEROGLYPH A017 + = rex +14412 ANATOLIAN HIEROGLYPH A018 + = magnus.rex +14413 ANATOLIAN HIEROGLYPH A019 + = syllabic á +14414 ANATOLIAN HIEROGLYPH A020 +14415 ANATOLIAN HIEROGLYPH A021 + = heros +14416 ANATOLIAN HIEROGLYPH A022 + = loqui +14417 ANATOLIAN HIEROGLYPH A023 +14418 ANATOLIAN HIEROGLYPH A024 + = lis +14419 ANATOLIAN HIEROGLYPH A025 + = oculus +1441A ANATOLIAN HIEROGLYPH A026 + = frons +1441B ANATOLIAN HIEROGLYPH A026A + = versus +1441C ANATOLIAN HIEROGLYPH A027 + = libare +1441D ANATOLIAN HIEROGLYPH A028 + = fortis +1441E ANATOLIAN HIEROGLYPH A029 + = syllabic tá +1441F ANATOLIAN HIEROGLYPH A030 +14420 ANATOLIAN HIEROGLYPH A031 + = ligare, pugnus+pugnus +14421 ANATOLIAN HIEROGLYPH A032 + = bracchium +14422 ANATOLIAN HIEROGLYPH A033 +14423 ANATOLIAN HIEROGLYPH A034 + = post +14424 ANATOLIAN HIEROGLYPH A035 + = syllabic na +14425 ANATOLIAN HIEROGLYPH A036 + = lituus+na +14426 ANATOLIAN HIEROGLYPH A037 +14427 ANATOLIAN HIEROGLYPH A038 +14428 ANATOLIAN HIEROGLYPH A039 + = pugnus +14429 ANATOLIAN HIEROGLYPH A039A + = pugnus+x +1442A ANATOLIAN HIEROGLYPH A040 +1442B ANATOLIAN HIEROGLYPH A041 + = capere + = syllabic tà +1442C ANATOLIAN HIEROGLYPH A041A + = syllabic tà +1442D ANATOLIAN HIEROGLYPH A042 + = capere2.capere2 + = syllabic ta-x? +1442E ANATOLIAN HIEROGLYPH A043 + = capere2 +1442F ANATOLIAN HIEROGLYPH A044 +14430 ANATOLIAN HIEROGLYPH A045 + = infans, filius, frater +14431 ANATOLIAN HIEROGLYPH A045A + = filia +14432 ANATOLIAN HIEROGLYPH A046 + = rex.infans, rex.filius +14433 ANATOLIAN HIEROGLYPH A046A + = rex.filia +14434 ANATOLIAN HIEROGLYPH A046B + = magnus.filia +14435 ANATOLIAN HIEROGLYPH A047 +14436 ANATOLIAN HIEROGLYPH A048 +14437 ANATOLIAN HIEROGLYPH A049 + = syllabic a+tá +14438 ANATOLIAN HIEROGLYPH A050 +14439 ANATOLIAN HIEROGLYPH A051 +1443A ANATOLIAN HIEROGLYPH A052 + = manus.culter +1443B ANATOLIAN HIEROGLYPH A053 + = manus+culter, ensis +1443C ANATOLIAN HIEROGLYPH A054 +1443D ANATOLIAN HIEROGLYPH A055 + = syllabic nì +1443E ANATOLIAN HIEROGLYPH A056 + = syllabic ká +1443F ANATOLIAN HIEROGLYPH A057 + = infra, sub + = syllabic ká +14440 ANATOLIAN HIEROGLYPH A058 + = cum +14441 ANATOLIAN HIEROGLYPH A059 + = manus +14442 ANATOLIAN HIEROGLYPH A060 +14443 ANATOLIAN HIEROGLYPH A061 +14444 ANATOLIAN HIEROGLYPH A062 + = longus, manus+minus? +14445 ANATOLIAN HIEROGLYPH A063 +14446 ANATOLIAN HIEROGLYPH A064 +14447 ANATOLIAN HIEROGLYPH A065 + = ponere +14448 ANATOLIAN HIEROGLYPH A066 + = dare + = syllabic pi +14449 ANATOLIAN HIEROGLYPH A066A + = syllabic pi +1444A ANATOLIAN HIEROGLYPH A066B + = mandare, dare.dare +1444B ANATOLIAN HIEROGLYPH A066C + = mandare2 +1444C ANATOLIAN HIEROGLYPH A067 +1444D ANATOLIAN HIEROGLYPH A068 +1444E ANATOLIAN HIEROGLYPH A069 +1444F ANATOLIAN HIEROGLYPH A070 + = super + = logosyllabic sara/i +14450 ANATOLIAN HIEROGLYPH A071 +14451 ANATOLIAN HIEROGLYPH A072 +14452 ANATOLIAN HIEROGLYPH A073 + = audire, auris+tu+mi +14453 ANATOLIAN HIEROGLYPH A074 +14454 ANATOLIAN HIEROGLYPH A075 +14455 ANATOLIAN HIEROGLYPH A076 +14456 ANATOLIAN HIEROGLYPH A077 +14457 ANATOLIAN HIEROGLYPH A078 + = ala +14458 ANATOLIAN HIEROGLYPH A079 + = femina, mater +14459 ANATOLIAN HIEROGLYPH A080 + = Sarma +1445A ANATOLIAN HIEROGLYPH A081 + = Sarma2 +1445B ANATOLIAN HIEROGLYPH A082 + = crus + = syllabic ta6 +1445C ANATOLIAN HIEROGLYPH A083 + = crus+flumen +1445D ANATOLIAN HIEROGLYPH A084 + = crus2 + = syllabic nà +1445E ANATOLIAN HIEROGLYPH A085 + = genuflectere +1445F ANATOLIAN HIEROGLYPH A086 + = crus.crus +14460 ANATOLIAN HIEROGLYPH A087 +14461 ANATOLIAN HIEROGLYPH A088 +14462 ANATOLIAN HIEROGLYPH A089 + = syllabic tu +14463 ANATOLIAN HIEROGLYPH A090 + = pes + = syllabic ti +14464 ANATOLIAN HIEROGLYPH A091 + = pes.scala.rotae +14465 ANATOLIAN HIEROGLYPH A092 +14466 ANATOLIAN HIEROGLYPH A093 + = pes2 +14467 ANATOLIAN HIEROGLYPH A094 +14468 ANATOLIAN HIEROGLYPH A095 + = pes2.pes2 +14469 ANATOLIAN HIEROGLYPH A096 + = pes2.pes +@ B. Animals +1446A ANATOLIAN HIEROGLYPH A097 + = leo, bestia +1446B ANATOLIAN HIEROGLYPH A097A + = leo2 +1446C ANATOLIAN HIEROGLYPH A098 + = canis +1446D ANATOLIAN HIEROGLYPH A098A + = canis2 +1446E ANATOLIAN HIEROGLYPH A099 + = equus +1446F ANATOLIAN HIEROGLYPH A100 + = asinus + = syllabic ta +14470 ANATOLIAN HIEROGLYPH A100A + = syllabic ta +14471 ANATOLIAN HIEROGLYPH A101 + = asinus2 +14472 ANATOLIAN HIEROGLYPH A101A + = asinus2a +14473 ANATOLIAN HIEROGLYPH A102 + = cervus + = syllabic rú +14474 ANATOLIAN HIEROGLYPH A102A + = cervus2 + = syllabic rú +14475 ANATOLIAN HIEROGLYPH A103 + = cervus3 + = syllabic rú +14476 ANATOLIAN HIEROGLYPH A104 + = capra + = syllabic sà +14477 ANATOLIAN HIEROGLYPH A104A + = syllabic sà +14478 ANATOLIAN HIEROGLYPH A104B + = capra2 + = syllabic sà +14479 ANATOLIAN HIEROGLYPH A104C + = capra2a + = syllabic sà +1447A ANATOLIAN HIEROGLYPH A105 + = bos + = syllabic u +1447B ANATOLIAN HIEROGLYPH A105A + = bos + = syllabic u +1447C ANATOLIAN HIEROGLYPH A105B + = bos2 + = syllabic u +1447D ANATOLIAN HIEROGLYPH A106 +1447E ANATOLIAN HIEROGLYPH A107 + = bos+mi + = syllabic mu + = logosyllabic muwa +1447F ANATOLIAN HIEROGLYPH A107A + = syllabic mu + = logosyllabic muwa +14480 ANATOLIAN HIEROGLYPH A107B + = bos.mi + = syllabic mu + = logosyllabic muwa +14481 ANATOLIAN HIEROGLYPH A107C + = bos2.mi + = syllabic mu + = logosyllabic muwa +14482 ANATOLIAN HIEROGLYPH A108 + = cornu + = sú +14483 ANATOLIAN HIEROGLYPH A109 + = vitellus + = syllabic ma-x +14484 ANATOLIAN HIEROGLYPH A110 + = ovis + = syllabic ma +14485 ANATOLIAN HIEROGLYPH A110A + = syllabic ma +14486 ANATOLIAN HIEROGLYPH A110B + = ovis2 + = syllabic ma +14487 ANATOLIAN HIEROGLYPH A111 + = ovis3 +14488 ANATOLIAN HIEROGLYPH A112 + = lingere + = syllabic za4 +14489 ANATOLIAN HIEROGLYPH A113 +1448A ANATOLIAN HIEROGLYPH A114 + = lituus+u +1448B ANATOLIAN HIEROGLYPH A115 + = lepus + = logosyllabic tapa +1448C ANATOLIAN HIEROGLYPH A115A + = lepus2 + = logosyllabic tapa +1448D ANATOLIAN HIEROGLYPH A116 +1448E ANATOLIAN HIEROGLYPH A117 +1448F ANATOLIAN HIEROGLYPH A118 +14490 ANATOLIAN HIEROGLYPH A119 +14491 ANATOLIAN HIEROGLYPH A120 + = gryllus +14492 ANATOLIAN HIEROGLYPH A121 + = sphinx +14493 ANATOLIAN HIEROGLYPH A122 +14494 ANATOLIAN HIEROGLYPH A123 +14495 ANATOLIAN HIEROGLYPH A124 +14496 ANATOLIAN HIEROGLYPH A125 + = syllabic lí +14497 ANATOLIAN HIEROGLYPH A125A + = ungula + = syllabic li-x +14498 ANATOLIAN HIEROGLYPH A126 +14499 ANATOLIAN HIEROGLYPH A127 +1449A ANATOLIAN HIEROGLYPH A128 + = avis + = zi4 +1449B ANATOLIAN HIEROGLYPH A129 +1449C ANATOLIAN HIEROGLYPH A130 + = avis3 +1449D ANATOLIAN HIEROGLYPH A131 + = avis5 +1449E ANATOLIAN HIEROGLYPH A132 + = avis2 +1449F ANATOLIAN HIEROGLYPH A133 + = aquila, avis4 + = syllabic ara/i +144A0 ANATOLIAN HIEROGLYPH A134 + = syllabic ara/i + * 1449F anatolian hieroglyph a133 + 145B1 anatolian hieroglyph a383 ra or ri +144A1 ANATOLIAN HIEROGLYPH A135 + = avis-x +144A2 ANATOLIAN HIEROGLYPH A135A +144A3 ANATOLIAN HIEROGLYPH A136 +144A4 ANATOLIAN HIEROGLYPH A137 + = libatio +144A5 ANATOLIAN HIEROGLYPH A138 + = piscis +144A6 ANATOLIAN HIEROGLYPH A139 +144A7 ANATOLIAN HIEROGLYPH A140 +144A8 ANATOLIAN HIEROGLYPH A141 +144A9 ANATOLIAN HIEROGLYPH A142 +144AA ANATOLIAN HIEROGLYPH A143 +144AB ANATOLIAN HIEROGLYPH A144 +144AC ANATOLIAN HIEROGLYPH A145 +144AD ANATOLIAN HIEROGLYPH A146 +144AE ANATOLIAN HIEROGLYPH A147 +144AF ANATOLIAN HIEROGLYPH A148 + = Janus +@ C. Plants +144B0 ANATOLIAN HIEROGLYPH A149 +144B1 ANATOLIAN HIEROGLYPH A150 +144B2 ANATOLIAN HIEROGLYPH A151 + = Telipinu +144B3 ANATOLIAN HIEROGLYPH A152 +144B4 ANATOLIAN HIEROGLYPH A153 + = syllabic nu +144B5 ANATOLIAN HIEROGLYPH A154 +144B6 ANATOLIAN HIEROGLYPH A155 +144B7 ANATOLIAN HIEROGLYPH A156 +144B8 ANATOLIAN HIEROGLYPH A157 +144B9 ANATOLIAN HIEROGLYPH A158 +144BA ANATOLIAN HIEROGLYPH A159 +144BB ANATOLIAN HIEROGLYPH A160 + = vitis + = syllabic wi(ya) +144BC ANATOLIAN HIEROGLYPH A161 +144BD ANATOLIAN HIEROGLYPH A162 +144BE ANATOLIAN HIEROGLYPH A163 +144BF ANATOLIAN HIEROGLYPH A164 +144C0 ANATOLIAN HIEROGLYPH A165 + = bonus + = syllabic wà/ì +144C1 ANATOLIAN HIEROGLYPH A166 + = syllabic wá/í +144C2 ANATOLIAN HIEROGLYPH A167 +144C3 ANATOLIAN HIEROGLYPH A168 +144C4 ANATOLIAN HIEROGLYPH A169 +144C5 ANATOLIAN HIEROGLYPH A170 +144C6 ANATOLIAN HIEROGLYPH A171 +144C7 ANATOLIAN HIEROGLYPH A172 + = syllabic ta/i5, lá/í +144C8 ANATOLIAN HIEROGLYPH A173 + = hastarius +144C9 ANATOLIAN HIEROGLYPH A174 + = syllabic si +144CA ANATOLIAN HIEROGLYPH A175 + = lingua + = syllabic la +144CB ANATOLIAN HIEROGLYPH A176 + = syllabic la+la +144CC ANATOLIAN HIEROGLYPH A177 + = lingua+clavus +144CD ANATOLIAN HIEROGLYPH A178 + = syllabic la+ra+a +144CE ANATOLIAN HIEROGLYPH A179 + = hordeum + = syllabic hwi-x +144CF ANATOLIAN HIEROGLYPH A180 +144D0 ANATOLIAN HIEROGLYPH A181 + = panis + = syllabic pa-x +@ D. Nature +144D1 ANATOLIAN HIEROGLYPH A182 + = caelum +144D2 ANATOLIAN HIEROGLYPH A183 +144D3 ANATOLIAN HIEROGLYPH A184 +144D4 ANATOLIAN HIEROGLYPH A185 +144D5 ANATOLIAN HIEROGLYPH A186 +144D6 ANATOLIAN HIEROGLYPH A187 +144D7 ANATOLIAN HIEROGLYPH A188 +144D8 ANATOLIAN HIEROGLYPH A189 +144D9 ANATOLIAN HIEROGLYPH A190 + = sol2 +144DA ANATOLIAN HIEROGLYPH A191 + = sol +144DB ANATOLIAN HIEROGLYPH A192 + = oriens +144DC ANATOLIAN HIEROGLYPH A193 + = luna +144DD ANATOLIAN HIEROGLYPH A194 +144DE ANATOLIAN HIEROGLYPH A195 +144DF ANATOLIAN HIEROGLYPH A196 + = Hatti + = syllabic há +144E0 ANATOLIAN HIEROGLYPH A197 + = Hatti+li, Hattusili + = logosyllabic há-li +144E1 ANATOLIAN HIEROGLYPH A198 +144E2 ANATOLIAN HIEROGLYPH A199 + = tonitrus +144E3 ANATOLIAN HIEROGLYPH A200 + = fulgur +144E4 ANATOLIAN HIEROGLYPH A201 + = terra, locus + = syllabic wa/i6 +144E5 ANATOLIAN HIEROGLYPH A202 + = via+terra.scalprum +144E6 ANATOLIAN HIEROGLYPH A202A + = via+terra+scalprum +144E7 ANATOLIAN HIEROGLYPH A202B + = (deus)via+terra +144E8 ANATOLIAN HIEROGLYPH A203 +144E9 ANATOLIAN HIEROGLYPH A204 + = syllabic wa/i5 +144EA ANATOLIAN HIEROGLYPH A205 +144EB ANATOLIAN HIEROGLYPH A206 +144EC ANATOLIAN HIEROGLYPH A207 + = mons + = syllabic wa/i5 +144ED ANATOLIAN HIEROGLYPH A207A + = leo+mons.tu+leo +144EE ANATOLIAN HIEROGLYPH A208 +144EF ANATOLIAN HIEROGLYPH A209 + = syllabic i, i(a) +144F0 ANATOLIAN HIEROGLYPH A209A + = syllabic i+ra/i, ri+i + * 144EF anatolian hieroglyph a209 + 145B1 anatolian hieroglyph a383 ra or ri +144F1 ANATOLIAN HIEROGLYPH A210 + = syllabic ia +144F2 ANATOLIAN HIEROGLYPH A211 +144F3 ANATOLIAN HIEROGLYPH A212 + = flumen +144F4 ANATOLIAN HIEROGLYPH A213 +144F5 ANATOLIAN HIEROGLYPH A214 + = syllabic ní +144F6 ANATOLIAN HIEROGLYPH A215 + = fons +144F7 ANATOLIAN HIEROGLYPH A215A + = syllabic ha +144F8 ANATOLIAN HIEROGLYPH A216 + = fines + = syllabic arha +144F9 ANATOLIAN HIEROGLYPH A216A + = fines+ha, arha +144FA ANATOLIAN HIEROGLYPH A217 +144FB ANATOLIAN HIEROGLYPH A218 +144FC ANATOLIAN HIEROGLYPH A219 +144FD ANATOLIAN HIEROGLYPH A220 +144FE ANATOLIAN HIEROGLYPH A221 + = via +144FF ANATOLIAN HIEROGLYPH A222 +14500 ANATOLIAN HIEROGLYPH A223 + = syllabic sa6 +14501 ANATOLIAN HIEROGLYPH A224 + = syllabic ha? pa? +@ E. Buildings +14502 ANATOLIAN HIEROGLYPH A225 + = urbs +14503 ANATOLIAN HIEROGLYPH A226 + = Ishuwa +14504 ANATOLIAN HIEROGLYPH A227 + = urbs+ra/i?+li, urbs+ra/i?-li +14505 ANATOLIAN HIEROGLYPH A227A + = urbs+li, urbs-li, Mursili +14506 ANATOLIAN HIEROGLYPH A228 + = regio + = syllabic tu4 +14507 ANATOLIAN HIEROGLYPH A229 + = syllabic mí.regio +14508 ANATOLIAN HIEROGLYPH A230 +14509 ANATOLIAN HIEROGLYPH A231 + = castrum +1450A ANATOLIAN HIEROGLYPH A232 +1450B ANATOLIAN HIEROGLYPH A233 +1450C ANATOLIAN HIEROGLYPH A234 +1450D ANATOLIAN HIEROGLYPH A235 + = turris? +1450E ANATOLIAN HIEROGLYPH A236 + = murus? +1450F ANATOLIAN HIEROGLYPH A237 + = porta +14510 ANATOLIAN HIEROGLYPH A238 +14511 ANATOLIAN HIEROGLYPH A239 + = porta2 +14512 ANATOLIAN HIEROGLYPH A240 +14513 ANATOLIAN HIEROGLYPH A241 + = syllabic ki-x +14514 ANATOLIAN HIEROGLYPH A242 +14515 ANATOLIAN HIEROGLYPH A243 + = cubitum +14516 ANATOLIAN HIEROGLYPH A244 + = aedificium +14517 ANATOLIAN HIEROGLYPH A245 + = vacuus, aedificium+minus +14518 ANATOLIAN HIEROGLYPH A246 + = aedificare, aedificium.ponere +14519 ANATOLIAN HIEROGLYPH A247 + = domus +1451A ANATOLIAN HIEROGLYPH A248 + = delere, domus+minus +1451B ANATOLIAN HIEROGLYPH A249 + = deus.domus +1451C ANATOLIAN HIEROGLYPH A250 + = magnus.domus +1451D ANATOLIAN HIEROGLYPH A251 + = domus+x +1451E ANATOLIAN HIEROGLYPH A252 + = domus+scala +1451F ANATOLIAN HIEROGLYPH A253 +14520 ANATOLIAN HIEROGLYPH A254 + = eunuchus2 +14521 ANATOLIAN HIEROGLYPH A255 + = horreum +14522 ANATOLIAN HIEROGLYPH A256 +14523 ANATOLIAN HIEROGLYPH A257 + = argentum +14524 ANATOLIAN HIEROGLYPH A258 +14525 ANATOLIAN HIEROGLYPH A259 +14526 ANATOLIAN HIEROGLYPH A260 +14527 ANATOLIAN HIEROGLYPH A261 +14528 ANATOLIAN HIEROGLYPH A262 +14529 ANATOLIAN HIEROGLYPH A263 +1452A ANATOLIAN HIEROGLYPH A264 + = podium +1452B ANATOLIAN HIEROGLYPH A265 +1452C ANATOLIAN HIEROGLYPH A266 + = pes.regio +1452D ANATOLIAN HIEROGLYPH A267 + = stele, lapis+scalprum +1452E ANATOLIAN HIEROGLYPH A267A + = lapis +1452F ANATOLIAN HIEROGLYPH A268 + = scalprum +@ F. Arms, tools, furniture, and other instruments +14530 ANATOLIAN HIEROGLYPH A269 + = exercitus +14531 ANATOLIAN HIEROGLYPH A270 +14532 ANATOLIAN HIEROGLYPH A271 +14533 ANATOLIAN HIEROGLYPH A272 + = scutum +14534 ANATOLIAN HIEROGLYPH A273 +14535 ANATOLIAN HIEROGLYPH A274 +14536 ANATOLIAN HIEROGLYPH A275 +14537 ANATOLIAN HIEROGLYPH A276 + = frater2 +14538 ANATOLIAN HIEROGLYPH A277 + = iudex.la, iudex+la +14539 ANATOLIAN HIEROGLYPH A278 + = syllabic li +1453A ANATOLIAN HIEROGLYPH A279 +1453B ANATOLIAN HIEROGLYPH A280 + = malleus + = syllabic wa/i9 +1453C ANATOLIAN HIEROGLYPH A281 + = ascia +1453D ANATOLIAN HIEROGLYPH A282 +1453E ANATOLIAN HIEROGLYPH A283 + = logosyllabic tuzzi +1453F ANATOLIAN HIEROGLYPH A284 +14540 ANATOLIAN HIEROGLYPH A285 + = iaculum + = syllabic zu? + = logosyllabic zuwa +14541 ANATOLIAN HIEROGLYPH A286 + = syllabic wa/i7 +14542 ANATOLIAN HIEROGLYPH A287 +14543 ANATOLIAN HIEROGLYPH A288 + = currus +14544 ANATOLIAN HIEROGLYPH A289 + = auriga +14545 ANATOLIAN HIEROGLYPH A289A + = auriga2 +14546 ANATOLIAN HIEROGLYPH A290 + = syllabic hara/i + * 14548 anatolian hieroglyph a292 + 145B1 anatolian hieroglyph a383 ra or ri +14547 ANATOLIAN HIEROGLYPH A291 + = syllabic lì +14548 ANATOLIAN HIEROGLYPH A292 + = rota + = logosyllabic hala/i +14549 ANATOLIAN HIEROGLYPH A293 +1454A ANATOLIAN HIEROGLYPH A294 + = thronus, mensa +1454B ANATOLIAN HIEROGLYPH A294A + = thronus, mensa2 + = Sarpa +1454C ANATOLIAN HIEROGLYPH A295 + = sol2.thronus/mensa +1454D ANATOLIAN HIEROGLYPH A296 + = (deus)mons.Sarpa, (deus)mons.mensa + = thronus +1454E ANATOLIAN HIEROGLYPH A297 +1454F ANATOLIAN HIEROGLYPH A298 + = thronus2 +14550 ANATOLIAN HIEROGLYPH A299 + = solium + = syllabic í +14551 ANATOLIAN HIEROGLYPH A299A + = syllabic iá +14552 ANATOLIAN HIEROGLYPH A300 + = nepos +14553 ANATOLIAN HIEROGLYPH A301 + = lectus +14554 ANATOLIAN HIEROGLYPH A302 +14555 ANATOLIAN HIEROGLYPH A303 + = syllabic sara/i + * 1456E anatolian hieroglyph a327 + 145B1 anatolian hieroglyph a383 ra or ri +14556 ANATOLIAN HIEROGLYPH A304 + = syllabic mà +14557 ANATOLIAN HIEROGLYPH A305 + = fusus +14558 ANATOLIAN HIEROGLYPH A306 + = syllabic hí +14559 ANATOLIAN HIEROGLYPH A307 + = syllabic hu +1455A ANATOLIAN HIEROGLYPH A308 +1455B ANATOLIAN HIEROGLYPH A309 + = crux +1455C ANATOLIAN HIEROGLYPH A309A + = crux2 +1455D ANATOLIAN HIEROGLYPH A310 +1455E ANATOLIAN HIEROGLYPH A311 +1455F ANATOLIAN HIEROGLYPH A312 +14560 ANATOLIAN HIEROGLYPH A313 + = vir + = syllabic zí +14561 ANATOLIAN HIEROGLYPH A314 + = syllabic ha-x +14562 ANATOLIAN HIEROGLYPH A315 + = syllabic kar + * 14561 anatolian hieroglyph a314 + 145B1 anatolian hieroglyph a383 ra or ri +14563 ANATOLIAN HIEROGLYPH A316 + = syllabic sa7 +14564 ANATOLIAN HIEROGLYPH A317 +14565 ANATOLIAN HIEROGLYPH A318 + = Teshub +14566 ANATOLIAN HIEROGLYPH A319 + = syllabic ta/i4, la/i +14567 ANATOLIAN HIEROGLYPH A320 +14568 ANATOLIAN HIEROGLYPH A321 +14569 ANATOLIAN HIEROGLYPH A322 + = purus +1456A ANATOLIAN HIEROGLYPH A323 +1456B ANATOLIAN HIEROGLYPH A324 +1456C ANATOLIAN HIEROGLYPH A325 + = syllabic tú +1456D ANATOLIAN HIEROGLYPH A326 + = scriba + = syllabic tù +1456E ANATOLIAN HIEROGLYPH A327 + = sigillum + = syllabic sa5 +1456F ANATOLIAN HIEROGLYPH A328 + = syllabic pu +14570 ANATOLIAN HIEROGLYPH A329 + = relative + = syllabic kwi/a +14571 ANATOLIAN HIEROGLYPH A329A +14572 ANATOLIAN HIEROGLYPH A330 + = capere+scalprum +14573 ANATOLIAN HIEROGLYPH A331 + = avus +14574 ANATOLIAN HIEROGLYPH A332A + = negative +14575 ANATOLIAN HIEROGLYPH A332B + = negative2 + = syllabic ná +14576 ANATOLIAN HIEROGLYPH A332C + = negative3 +@ G. Vases and receptacles +14577 ANATOLIAN HIEROGLYPH A333 +14578 ANATOLIAN HIEROGLYPH A334 + = syllabic pa +14579 ANATOLIAN HIEROGLYPH A335 + = syllabic zá +1457A ANATOLIAN HIEROGLYPH A336 + = annus, pithos.scutella, pithos + = syllabic zì +1457B ANATOLIAN HIEROGLYPH A336A + = syllabic zì +1457C ANATOLIAN HIEROGLYPH A336B + = syllabic zà +1457D ANATOLIAN HIEROGLYPH A336C + = syllabic za-x +1457E ANATOLIAN HIEROGLYPH A337 + = pithos +1457F ANATOLIAN HIEROGLYPH A338 + = culter +14580 ANATOLIAN HIEROGLYPH A339 +14581 ANATOLIAN HIEROGLYPH A340 + = annus+annus +14582 ANATOLIAN HIEROGLYPH A341 + = vas +14583 ANATOLIAN HIEROGLYPH A342 +14584 ANATOLIAN HIEROGLYPH A343 + = pithos +14585 ANATOLIAN HIEROGLYPH A344 + = contractus +14586 ANATOLIAN HIEROGLYPH A345 + = urceus +14587 ANATOLIAN HIEROGLYPH A346 + = poculum +14588 ANATOLIAN HIEROGLYPH A347 + = syllabic hú +14589 ANATOLIAN HIEROGLYPH A348 +1458A ANATOLIAN HIEROGLYPH A349 +1458B ANATOLIAN HIEROGLYPH A350 +1458C ANATOLIAN HIEROGLYPH A351 +1458D ANATOLIAN HIEROGLYPH A352 +1458E ANATOLIAN HIEROGLYPH A353 +1458F ANATOLIAN HIEROGLYPH A354 +14590 ANATOLIAN HIEROGLYPH A355 + = sacerdos +14591 ANATOLIAN HIEROGLYPH A356 +14592 ANATOLIAN HIEROGLYPH A357 +14593 ANATOLIAN HIEROGLYPH A358 + = dies +14594 ANATOLIAN HIEROGLYPH A359 +14595 ANATOLIAN HIEROGLYPH A359A +@ H. Symbols +14596 ANATOLIAN HIEROGLYPH A360 + = deus +14597 ANATOLIAN HIEROGLYPH A361 +14598 ANATOLIAN HIEROGLYPH A362 + = syllabic má +14599 ANATOLIAN HIEROGLYPH A363 + = magnus + = syllabic ur +1459A ANATOLIAN HIEROGLYPH A364 + = syllabic u +1459B ANATOLIAN HIEROGLYPH A364A + = syllabic mu +1459C ANATOLIAN HIEROGLYPH A365 +1459D ANATOLIAN HIEROGLYPH A366 + = omnis(+mi) +1459E ANATOLIAN HIEROGLYPH A367 + = logosyllabic tala +1459F ANATOLIAN HIEROGLYPH A368 + = malus +145A0 ANATOLIAN HIEROGLYPH A368A + = malus2 +145A1 ANATOLIAN HIEROGLYPH A369 + = vita +145A2 ANATOLIAN HIEROGLYPH A370 + = bonus2 + = syllabic su +145A3 ANATOLIAN HIEROGLYPH A371 + = iustitia, iudex +145A4 ANATOLIAN HIEROGLYPH A371A + = iudex+ra/i, tara/i-x + * 145A3 anatolian hieroglyph a371 + 145B1 anatolian hieroglyph a383 ra or ri +145A5 ANATOLIAN HIEROGLYPH A372 + = sacerdos2 +145A6 ANATOLIAN HIEROGLYPH A373 +145A7 ANATOLIAN HIEROGLYPH A374 +145A8 ANATOLIAN HIEROGLYPH A375 +145A9 ANATOLIAN HIEROGLYPH A376 + = syllabic zi, zi/a +145AA ANATOLIAN HIEROGLYPH A377 + = syllabic za +145AB ANATOLIAN HIEROGLYPH A378 + = lituus +145AC ANATOLIAN HIEROGLYPH A379 + = occidens + = syllabic ià +@ J. Lines, numbers, and geometric shapes +145AD ANATOLIAN HIEROGLYPH A380 + = one + = unus + = syllabic sa8 +145AE ANATOLIAN HIEROGLYPH A381 + = minus +145AF ANATOLIAN HIEROGLYPH A381A + = mori, vir2.minus +145B0 ANATOLIAN HIEROGLYPH A382 + = lignum +145B1 ANATOLIAN HIEROGLYPH A383 RA OR RI + x (anatolian hieroglyph a134 - 144A0) + x (anatolian hieroglyph a209a - 144F0) + x (anatolian hieroglyph a290 - 14546) + x (anatolian hieroglyph a303 - 14555) + x (anatolian hieroglyph a315 - 14562) + x (anatolian hieroglyph a371a - 145A4) + x (anatolian hieroglyph a389 - 145B9) + x (anatolian hieroglyph a450a - 145F8) +145B2 ANATOLIAN HIEROGLYPH A383A + = personal determinative +145B3 ANATOLIAN HIEROGLYPH A384 + = two +145B4 ANATOLIAN HIEROGLYPH A385 + = two +145B5 ANATOLIAN HIEROGLYPH A386 + = vir2 + = word divider +145B6 ANATOLIAN HIEROGLYPH A386A + = vir2a +145B7 ANATOLIAN HIEROGLYPH A387 + = servus + = syllabic mì +145B8 ANATOLIAN HIEROGLYPH A388 + = three + = tara/i +145B9 ANATOLIAN HIEROGLYPH A389 + = tara/i + * 145B8 anatolian hieroglyph a388 + 145B1 anatolian hieroglyph a383 ra or ri +145BA ANATOLIAN HIEROGLYPH A390 + = dominus +145BB ANATOLIAN HIEROGLYPH A391 + = four + = syllabic mi +145BC ANATOLIAN HIEROGLYPH A392 + = five +145BD ANATOLIAN HIEROGLYPH A393 EIGHT + = eight +145BE ANATOLIAN HIEROGLYPH A394 +145BF ANATOLIAN HIEROGLYPH A395 + = nine + = syllabic nú +145C0 ANATOLIAN HIEROGLYPH A396 +145C1 ANATOLIAN HIEROGLYPH A397 + = ten + = decem +145C2 ANATOLIAN HIEROGLYPH A398 +145C3 ANATOLIAN HIEROGLYPH A399 + = hundred + = centum +145C4 ANATOLIAN HIEROGLYPH A400 + = thousand + = mille +145C5 ANATOLIAN HIEROGLYPH A401 +145C6 ANATOLIAN HIEROGLYPH A402 + = scutella + = syllabic sa4 +145C7 ANATOLIAN HIEROGLYPH A403 +145C8 ANATOLIAN HIEROGLYPH A404 + = animal +145C9 ANATOLIAN HIEROGLYPH A405 +145CA ANATOLIAN HIEROGLYPH A406 +145CB ANATOLIAN HIEROGLYPH A407 +145CC ANATOLIAN HIEROGLYPH A408 +145CD ANATOLIAN HIEROGLYPH A409 +145CE ANATOLIAN HIEROGLYPH A410 BEGIN LOGOGRAM MARK +145CF ANATOLIAN HIEROGLYPH A410A END LOGOGRAM MARK +145D0 ANATOLIAN HIEROGLYPH A411 + = syllabic ni +145D1 ANATOLIAN HIEROGLYPH A412 + = syllabic ru +145D2 ANATOLIAN HIEROGLYPH A413 + = syllabic hi +145D3 ANATOLIAN HIEROGLYPH A414 +145D4 ANATOLIAN HIEROGLYPH A415 + = syllabic sa +145D5 ANATOLIAN HIEROGLYPH A416 +145D6 ANATOLIAN HIEROGLYPH A417 + = syllabic sa-x +145D7 ANATOLIAN HIEROGLYPH A418 +145D8 ANATOLIAN HIEROGLYPH A419 + = syllabic mí + = logosyllabic urhi +145D9 ANATOLIAN HIEROGLYPH A420 +145DA ANATOLIAN HIEROGLYPH A421 + = syllabic us +145DB ANATOLIAN HIEROGLYPH A422 + = panis.scutella +145DC ANATOLIAN HIEROGLYPH A423 + = syllabic ku +145DD ANATOLIAN HIEROGLYPH A424 +145DE ANATOLIAN HIEROGLYPH A425 +145DF ANATOLIAN HIEROGLYPH A426 +145E0 ANATOLIAN HIEROGLYPH A427 +145E1 ANATOLIAN HIEROGLYPH A428 +145E2 ANATOLIAN HIEROGLYPH A429 + = syllabic tana +145E3 ANATOLIAN HIEROGLYPH A430 + = omnis2 + = syllabic pú +145E4 ANATOLIAN HIEROGLYPH A431 +145E5 ANATOLIAN HIEROGLYPH A432 + = syllabic zu? +@ K. Varia +145E6 ANATOLIAN HIEROGLYPH A433 + = syllabic sá +145E7 ANATOLIAN HIEROGLYPH A434 + = syllabic ka +145E8 ANATOLIAN HIEROGLYPH A435 + = syllabic a-x? +145E9 ANATOLIAN HIEROGLYPH A436 +145EA ANATOLIAN HIEROGLYPH A437 +145EB ANATOLIAN HIEROGLYPH A438 + = pastor +145EC ANATOLIAN HIEROGLYPH A439 + = syllabic wa/i +145ED ANATOLIAN HIEROGLYPH A440 +145EE ANATOLIAN HIEROGLYPH A441 +145EF ANATOLIAN HIEROGLYPH A442 +145F0 ANATOLIAN HIEROGLYPH A443 +145F1 ANATOLIAN HIEROGLYPH A444 +145F2 ANATOLIAN HIEROGLYPH A445 + = syllabic la, li, lu +145F3 ANATOLIAN HIEROGLYPH A446 + = syllabic ki +145F4 ANATOLIAN HIEROGLYPH A447 + = syllabic ni-x +145F5 ANATOLIAN HIEROGLYPH A448 + = syllabic sù?, zú? +145F6 ANATOLIAN HIEROGLYPH A449 +145F7 ANATOLIAN HIEROGLYPH A450 + = syllabic a + = end of a word +145F8 ANATOLIAN HIEROGLYPH A450A + = a+ra/i, ra+a + * 145F7 anatolian hieroglyph a450 + 145B1 anatolian hieroglyph a383 ra or ri +145F9 ANATOLIAN HIEROGLYPH A451 + = logosyllabic huru +145FA ANATOLIAN HIEROGLYPH A452 +145FB ANATOLIAN HIEROGLYPH A453 +145FC ANATOLIAN HIEROGLYPH A454 +145FD ANATOLIAN HIEROGLYPH A455 + = syllabic la-x +145FE ANATOLIAN HIEROGLYPH A456 + = syllabic sí? +145FF ANATOLIAN HIEROGLYPH A457 +14600 ANATOLIAN HIEROGLYPH A457A +14601 ANATOLIAN HIEROGLYPH A458 +14602 ANATOLIAN HIEROGLYPH A459 +14603 ANATOLIAN HIEROGLYPH A460 +14604 ANATOLIAN HIEROGLYPH A461 +14605 ANATOLIAN HIEROGLYPH A462 + = syllabic ma-x? +14606 ANATOLIAN HIEROGLYPH A463 +14607 ANATOLIAN HIEROGLYPH A464 +14608 ANATOLIAN HIEROGLYPH A465 +14609 ANATOLIAN HIEROGLYPH A466 +1460A ANATOLIAN HIEROGLYPH A467 +1460B ANATOLIAN HIEROGLYPH A468 +1460C ANATOLIAN HIEROGLYPH A469 +1460D ANATOLIAN HIEROGLYPH A470 + = twelve +1460E ANATOLIAN HIEROGLYPH A471 +1460F ANATOLIAN HIEROGLYPH A472 +14610 ANATOLIAN HIEROGLYPH A473 +14611 ANATOLIAN HIEROGLYPH A474 + = eunuchus +14612 ANATOLIAN HIEROGLYPH A475 +14613 ANATOLIAN HIEROGLYPH A476 +14614 ANATOLIAN HIEROGLYPH A477 + = flammae? +14615 ANATOLIAN HIEROGLYPH A478 +14616 ANATOLIAN HIEROGLYPH A479 +14617 ANATOLIAN HIEROGLYPH A480 +14618 ANATOLIAN HIEROGLYPH A481 +14619 ANATOLIAN HIEROGLYPH A482 +1461A ANATOLIAN HIEROGLYPH A483 +1461B ANATOLIAN HIEROGLYPH A484 +1461C ANATOLIAN HIEROGLYPH A485 +1461D ANATOLIAN HIEROGLYPH A486 + = falx? +1461E ANATOLIAN HIEROGLYPH A487 +1461F ANATOLIAN HIEROGLYPH A488 + = syllabic tí +14620 ANATOLIAN HIEROGLYPH A489 +14621 ANATOLIAN HIEROGLYPH A490 +14622 ANATOLIAN HIEROGLYPH A491 +14623 ANATOLIAN HIEROGLYPH A492 +14624 ANATOLIAN HIEROGLYPH A493 +14625 ANATOLIAN HIEROGLYPH A494 +14626 ANATOLIAN HIEROGLYPH A495 +14627 ANATOLIAN HIEROGLYPH A496 +14628 ANATOLIAN HIEROGLYPH A497 +@ M. Additional signs +14629 ANATOLIAN HIEROGLYPH A501 +1462A ANATOLIAN HIEROGLYPH A502 +1462B ANATOLIAN HIEROGLYPH A503 +1462C ANATOLIAN HIEROGLYPH A504 +1462D ANATOLIAN HIEROGLYPH A505 +1462E ANATOLIAN HIEROGLYPH A506 + = syllabic hana +1462F ANATOLIAN HIEROGLYPH A507 +14630 ANATOLIAN HIEROGLYPH A508 + = currere + = syllabic hwi/a +14631 ANATOLIAN HIEROGLYPH A509 +14632 ANATOLIAN HIEROGLYPH A510 +14633 ANATOLIAN HIEROGLYPH A511 +14634 ANATOLIAN HIEROGLYPH A512 +14635 ANATOLIAN HIEROGLYPH A513 +14636 ANATOLIAN HIEROGLYPH A514 +14637 ANATOLIAN HIEROGLYPH A515 +14638 ANATOLIAN HIEROGLYPH A516 +14639 ANATOLIAN HIEROGLYPH A517 +1463A ANATOLIAN HIEROGLYPH A518 +1463B ANATOLIAN HIEROGLYPH A519 +1463C ANATOLIAN HIEROGLYPH A520 +1463D ANATOLIAN HIEROGLYPH A521 +1463E ANATOLIAN HIEROGLYPH A522 +1463F ANATOLIAN HIEROGLYPH A523 +14640 ANATOLIAN HIEROGLYPH A524 + = propheta?, cornu+caput +14641 ANATOLIAN HIEROGLYPH A525 + = princeps +14642 ANATOLIAN HIEROGLYPH A526 + = Güterbock G195 +14643 ANATOLIAN HIEROGLYPH A527 + = aper +14644 ANATOLIAN HIEROGLYPH A528 + = tì +14645 ANATOLIAN HIEROGLYPH A529 + = lingua+x +14646 ANATOLIAN HIEROGLYPH A530 @@ 16800 Bamum Supplement 16A3F @ Characters found through Phase A 16800 BAMUM LETTER PHASE-A NGKUE MFON @@ -34939,7 +36872,7 @@ FFFF @ Punctuation 16AF5 BASSA VAH FULL STOP @@ 16B00 Pahawh Hmong 16B8F -@+ The character names used for Pahawh Hmong vowel rimes and consonant onsets follow the Third Stage Reduced Version orthography. Annotations give the character names in the Second Stage Reduced Version orthography. +@+ The character names used for Pahawh Hmong vowel rimes and consonant onsets follow the Third Stage Reduced Version orthography. Annotations give the character names in the Second Stage Reduced Version orthography. @ Vowel rimes 16B00 PAHAWH HMONG VOWEL KEEB = keem @@ -35633,7 +37566,7 @@ FFFF 1BC60 DUPLOYAN LETTER WOW * Salishan @ Basic nasal vowels -@+ These nasal vowel characters position diacritically, as an orientating vowel, or as an invariant vowel. +@+ These nasal vowel characters position diacritically, as an orientating vowel, or as an invariant vowel. 1BC61 DUPLOYAN LETTER NASAL U * secondary orientating; invariant direction downwards * French number 1 @@ -35668,7 +37601,7 @@ FFFF * primary orientating vowel * Perrault am, em, im, um (with accents) @ Attached affixes -@+ The dots in the chart glyphs for these attached affixes show the position on and relative orientation to the base glyph they are attached to, and are not visibly rendered. +@+ The dots in the chart glyphs for these attached affixes show the position on and relative orientation to the base glyph they are attached to, and are not visibly rendered. 1BC70 DUPLOYAN AFFIX LEFT HORIZONTAL SECANT * Pernin Reporters' extra- x (duployan letter d - 1BC08) @@ -36340,6 +38273,8 @@ FFFF 1D1B4 MUSICAL SYMBOL DAMP 1D1B5 MUSICAL SYMBOL DAMP ALL @ Mensural notation +@+ The following range is specific to Mensural notation. +@ Mensural notes 1D1B6 MUSICAL SYMBOL MAXIMA 1D1B7 MUSICAL SYMBOL LONGA 1D1B8 MUSICAL SYMBOL BREVIS @@ -36376,9 +38311,13 @@ FFFF @ Miscellaneous symbol 1D1CF MUSICAL SYMBOL CROIX @ Gregorian notation +@+ The following range is specific to Gregorian notation. +@ Clefs 1D1D0 MUSICAL SYMBOL GREGORIAN C CLEF 1D1D1 MUSICAL SYMBOL GREGORIAN F CLEF +@ Accidental 1D1D2 MUSICAL SYMBOL SQUARE B +@ Notes 1D1D3 MUSICAL SYMBOL VIRGA 1D1D4 MUSICAL SYMBOL PODATUS 1D1D5 MUSICAL SYMBOL CLIVIS @@ -36390,6 +38329,28 @@ FFFF 1D1DB MUSICAL SYMBOL SCANDICUS FLEXUS 1D1DC MUSICAL SYMBOL TORCULUS RESUPINUS 1D1DD MUSICAL SYMBOL PES SUBPUNCTIS +@ Kievan notation +@+ The following range is specific to Kievan notation. +@ Clef +1D1DE MUSICAL SYMBOL KIEVAN C CLEF + * Tsefaut (do or fa) clef +@ Ornamentation +1D1DF MUSICAL SYMBOL KIEVAN END OF PIECE +@ Notes +1D1E0 MUSICAL SYMBOL KIEVAN FINAL NOTE + * nominal note located between the two rectangles +1D1E1 MUSICAL SYMBOL KIEVAN RECITATIVE MARK + * nominal note located between the two rectangles +1D1E2 MUSICAL SYMBOL KIEVAN WHOLE NOTE + * nominal note located between the two diamonds +1D1E3 MUSICAL SYMBOL KIEVAN HALF NOTE +1D1E4 MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM DOWN +1D1E5 MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM UP +1D1E6 MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM DOWN + * nominal note located on the top diamond +1D1E7 MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM UP +@ Accidental +1D1E8 MUSICAL SYMBOL KIEVAN FLAT SIGN @@ 1D200 Ancient Greek Musical Notation 1D24F @ Ancient Greek vocalic notation @+ In a few instances vocalic and instrumental symbols have been unified with each other. In other instances they have been unified with regular Greek letters. @@ -38769,6 +40730,701 @@ FFFF # 0038 digit eight 1D7FF MATHEMATICAL MONOSPACE DIGIT NINE # 0039 digit nine +@@ 1D800 Sutton SignWriting 1DAAF +@ Hand shapes with index finger +1D800 SIGNWRITING HAND-FIST INDEX +1D801 SIGNWRITING HAND-CIRCLE INDEX +1D802 SIGNWRITING HAND-CUP INDEX +1D803 SIGNWRITING HAND-OVAL INDEX +1D804 SIGNWRITING HAND-HINGE INDEX +1D805 SIGNWRITING HAND-ANGLE INDEX +1D806 SIGNWRITING HAND-FIST INDEX BENT +1D807 SIGNWRITING HAND-CIRCLE INDEX BENT +1D808 SIGNWRITING HAND-FIST THUMB UNDER INDEX BENT +1D809 SIGNWRITING HAND-FIST INDEX RAISED KNUCKLE +1D80A SIGNWRITING HAND-FIST INDEX CUPPED +1D80B SIGNWRITING HAND-FIST INDEX HINGED +1D80C SIGNWRITING HAND-FIST INDEX HINGED LOW +1D80D SIGNWRITING HAND-CIRCLE INDEX HINGE +@ Hand shapes with index and middle fingers +1D80E SIGNWRITING HAND-FIST INDEX MIDDLE +1D80F SIGNWRITING HAND-CIRCLE INDEX MIDDLE +1D810 SIGNWRITING HAND-FIST INDEX MIDDLE BENT +1D811 SIGNWRITING HAND-FIST INDEX MIDDLE RAISED KNUCKLES +1D812 SIGNWRITING HAND-FIST INDEX MIDDLE HINGED +1D813 SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED +1D814 SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP +1D815 SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED +1D816 SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED INDEX BENT +1D817 SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED MIDDLE BENT +1D818 SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED +1D819 SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED +1D81A SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED +1D81B SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSSED +1D81C SIGNWRITING HAND-FIST MIDDLE BENT OVER INDEX +1D81D SIGNWRITING HAND-FIST INDEX BENT OVER MIDDLE +@ Hand shapes with index and middle fingers and thumb +1D81E SIGNWRITING HAND-FIST INDEX MIDDLE THUMB +1D81F SIGNWRITING HAND-CIRCLE INDEX MIDDLE THUMB +1D820 SIGNWRITING HAND-FIST INDEX MIDDLE STRAIGHT THUMB BENT +1D821 SIGNWRITING HAND-FIST INDEX MIDDLE BENT THUMB STRAIGHT +1D822 SIGNWRITING HAND-FIST INDEX MIDDLE THUMB BENT +1D823 SIGNWRITING HAND-FIST INDEX MIDDLE HINGED SPREAD THUMB SIDE +1D824 SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB SIDE +1D825 SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB CONJOINED +1D826 SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP THUMB SIDE +1D827 SIGNWRITING HAND-FIST INDEX MIDDLE UP SPREAD THUMB FORWARD +1D828 SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CUPPED +1D829 SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CIRCLED +1D82A SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HOOKED +1D82B SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HINGED +1D82C SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE STRAIGHT +1D82D SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE +1D82E SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE CONJOINED +1D82F SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE BENT +1D830 SIGNWRITING HAND-FIST MIDDLE THUMB HOOKED INDEX UP +1D831 SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE UP +1D832 SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED THUMB SIDE +1D833 SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED THUMB SIDE +1D834 SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB FORWARD +1D835 SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED THUMB FORWARD +1D836 SIGNWRITING HAND-FIST MIDDLE THUMB CUPPED INDEX UP +1D837 SIGNWRITING HAND-FIST INDEX THUMB CUPPED MIDDLE UP +1D838 SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX UP +1D839 SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX HINGED +1D83A SIGNWRITING HAND-FIST INDEX THUMB ANGLED OUT MIDDLE UP +1D83B SIGNWRITING HAND-FIST INDEX THUMB ANGLED IN MIDDLE UP +1D83C SIGNWRITING HAND-FIST INDEX THUMB CIRCLED MIDDLE UP +1D83D SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CONJOINED HINGED +1D83E SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED OUT +1D83F SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED +1D840 SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX UP +1D841 SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX CROSSED +1D842 SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED INDEX UP +1D843 SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE HINGED +@ Hand shapes with four fingers +1D844 SIGNWRITING HAND-FLAT FOUR FINGERS +1D845 SIGNWRITING HAND-FLAT FOUR FINGERS BENT +1D846 SIGNWRITING HAND-FLAT FOUR FINGERS HINGED +1D847 SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED +1D848 SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED SPLIT +1D849 SIGNWRITING HAND-CLAW FOUR FINGERS CONJOINED +1D84A SIGNWRITING HAND-FIST FOUR FINGERS CONJOINED BENT +1D84B SIGNWRITING HAND-HINGE FOUR FINGERS CONJOINED +@ Hand shapes with five fingers +1D84C SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD +1D84D SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD +1D84E SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD FOUR BENT +1D84F SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD FOUR BENT +1D850 SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD BENT +1D851 SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD BENT +1D852 SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD THUMB FORWARD +1D853 SIGNWRITING HAND-CUP FIVE FINGERS SPREAD +1D854 SIGNWRITING HAND-CUP FIVE FINGERS SPREAD OPEN +1D855 SIGNWRITING HAND-HINGE FIVE FINGERS SPREAD OPEN +1D856 SIGNWRITING HAND-OVAL FIVE FINGERS SPREAD +1D857 SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED +1D858 SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED THUMB SIDE +1D859 SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED NO THUMB +1D85A SIGNWRITING HAND-FLAT +1D85B SIGNWRITING HAND-FLAT BETWEEN PALM FACINGS +1D85C SIGNWRITING HAND-FLAT HEEL +1D85D SIGNWRITING HAND-FLAT THUMB SIDE +1D85E SIGNWRITING HAND-FLAT HEEL THUMB SIDE +1D85F SIGNWRITING HAND-FLAT THUMB BENT +1D860 SIGNWRITING HAND-FLAT THUMB FORWARD +1D861 SIGNWRITING HAND-FLAT SPLIT INDEX THUMB SIDE +1D862 SIGNWRITING HAND-FLAT SPLIT CENTRE +1D863 SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE +1D864 SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE BENT +1D865 SIGNWRITING HAND-FLAT SPLIT LITTLE +1D866 SIGNWRITING HAND-CLAW +1D867 SIGNWRITING HAND-CLAW THUMB SIDE +1D868 SIGNWRITING HAND-CLAW NO THUMB +1D869 SIGNWRITING HAND-CLAW THUMB FORWARD +1D86A SIGNWRITING HAND-HOOK CURLICUE +1D86B SIGNWRITING HAND-HOOK +1D86C SIGNWRITING HAND-CUP OPEN +1D86D SIGNWRITING HAND-CUP +1D86E SIGNWRITING HAND-CUP OPEN THUMB SIDE +1D86F SIGNWRITING HAND-CUP THUMB SIDE +1D870 SIGNWRITING HAND-CUP OPEN NO THUMB +1D871 SIGNWRITING HAND-CUP NO THUMB +1D872 SIGNWRITING HAND-CUP OPEN THUMB FORWARD +1D873 SIGNWRITING HAND-CUP THUMB FORWARD +1D874 SIGNWRITING HAND-CURLICUE OPEN +1D875 SIGNWRITING HAND-CURLICUE +1D876 SIGNWRITING HAND-CIRCLE +1D877 SIGNWRITING HAND-OVAL +1D878 SIGNWRITING HAND-OVAL THUMB SIDE +1D879 SIGNWRITING HAND-OVAL NO THUMB +1D87A SIGNWRITING HAND-OVAL THUMB FORWARD +1D87B SIGNWRITING HAND-HINGE OPEN +1D87C SIGNWRITING HAND-HINGE OPEN THUMB FORWARD +1D87D SIGNWRITING HAND-HINGE +1D87E SIGNWRITING HAND-HINGE SMALL +1D87F SIGNWRITING HAND-HINGE OPEN THUMB SIDE +1D880 SIGNWRITING HAND-HINGE THUMB SIDE +1D881 SIGNWRITING HAND-HINGE OPEN NO THUMB +1D882 SIGNWRITING HAND-HINGE NO THUMB +1D883 SIGNWRITING HAND-HINGE THUMB SIDE TOUCHING INDEX +1D884 SIGNWRITING HAND-HINGE THUMB BETWEEN MIDDLE RING +1D885 SIGNWRITING HAND-ANGLE +@ Hand shapes with little finger +1D886 SIGNWRITING HAND-FIST INDEX MIDDLE RING +1D887 SIGNWRITING HAND-CIRCLE INDEX MIDDLE RING +1D888 SIGNWRITING HAND-HINGE INDEX MIDDLE RING +1D889 SIGNWRITING HAND-ANGLE INDEX MIDDLE RING +1D88A SIGNWRITING HAND-HINGE LITTLE +1D88B SIGNWRITING HAND-FIST INDEX MIDDLE RING BENT +1D88C SIGNWRITING HAND-FIST INDEX MIDDLE RING CONJOINED +1D88D SIGNWRITING HAND-HINGE INDEX MIDDLE RING CONJOINED +1D88E SIGNWRITING HAND-FIST LITTLE DOWN +1D88F SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE STRAIGHT +1D890 SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE CURVED +1D891 SIGNWRITING HAND-FIST LITTLE DOWN OTHERS CIRCLED +1D892 SIGNWRITING HAND-FIST LITTLE UP +1D893 SIGNWRITING HAND-FIST THUMB UNDER LITTLE UP +1D894 SIGNWRITING HAND-CIRCLE LITTLE UP +1D895 SIGNWRITING HAND-OVAL LITTLE UP +1D896 SIGNWRITING HAND-ANGLE LITTLE UP +1D897 SIGNWRITING HAND-FIST LITTLE RAISED KNUCKLE +1D898 SIGNWRITING HAND-FIST LITTLE BENT +1D899 SIGNWRITING HAND-FIST LITTLE TOUCHES THUMB +1D89A SIGNWRITING HAND-FIST LITTLE THUMB +1D89B SIGNWRITING HAND-HINGE LITTLE THUMB +1D89C SIGNWRITING HAND-FIST LITTLE INDEX THUMB +1D89D SIGNWRITING HAND-HINGE LITTLE INDEX THUMB +1D89E SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB OUT +1D89F SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB +1D8A0 SIGNWRITING HAND-FIST LITTLE INDEX +1D8A1 SIGNWRITING HAND-CIRCLE LITTLE INDEX +1D8A2 SIGNWRITING HAND-HINGE LITTLE INDEX +1D8A3 SIGNWRITING HAND-ANGLE LITTLE INDEX +@ Hand shapes with ring finger +1D8A4 SIGNWRITING HAND-FIST INDEX MIDDLE LITTLE +1D8A5 SIGNWRITING HAND-CIRCLE INDEX MIDDLE LITTLE +1D8A6 SIGNWRITING HAND-HINGE INDEX MIDDLE LITTLE +1D8A7 SIGNWRITING HAND-HINGE RING +1D8A8 SIGNWRITING HAND-ANGLE INDEX MIDDLE LITTLE +1D8A9 SIGNWRITING HAND-FIST INDEX MIDDLE CROSS LITTLE +1D8AA SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSS LITTLE +1D8AB SIGNWRITING HAND-FIST RING DOWN +1D8AC SIGNWRITING HAND-HINGE RING DOWN INDEX THUMB HOOK MIDDLE +1D8AD SIGNWRITING HAND-ANGLE RING DOWN MIDDLE THUMB INDEX CROSS +1D8AE SIGNWRITING HAND-FIST RING UP +1D8AF SIGNWRITING HAND-FIST RING RAISED KNUCKLE +1D8B0 SIGNWRITING HAND-FIST RING LITTLE +1D8B1 SIGNWRITING HAND-CIRCLE RING LITTLE +1D8B2 SIGNWRITING HAND-OVAL RING LITTLE +1D8B3 SIGNWRITING HAND-ANGLE RING LITTLE +1D8B4 SIGNWRITING HAND-FIST RING MIDDLE +1D8B5 SIGNWRITING HAND-FIST RING MIDDLE CONJOINED +1D8B6 SIGNWRITING HAND-FIST RING MIDDLE RAISED KNUCKLES +1D8B7 SIGNWRITING HAND-FIST RING INDEX +1D8B8 SIGNWRITING HAND-FIST RING THUMB +1D8B9 SIGNWRITING HAND-HOOK RING THUMB +@ Hand shapes with middle finger +1D8BA SIGNWRITING HAND-FIST INDEX RING LITTLE +1D8BB SIGNWRITING HAND-CIRCLE INDEX RING LITTLE +1D8BC SIGNWRITING HAND-CURLICUE INDEX RING LITTLE ON +1D8BD SIGNWRITING HAND-HOOK INDEX RING LITTLE OUT +1D8BE SIGNWRITING HAND-HOOK INDEX RING LITTLE IN +1D8BF SIGNWRITING HAND-HOOK INDEX RING LITTLE UNDER +1D8C0 SIGNWRITING HAND-CUP INDEX RING LITTLE +1D8C1 SIGNWRITING HAND-HINGE INDEX RING LITTLE +1D8C2 SIGNWRITING HAND-ANGLE INDEX RING LITTLE OUT +1D8C3 SIGNWRITING HAND-ANGLE INDEX RING LITTLE +1D8C4 SIGNWRITING HAND-FIST MIDDLE DOWN +1D8C5 SIGNWRITING HAND-HINGE MIDDLE +1D8C6 SIGNWRITING HAND-FIST MIDDLE UP +1D8C7 SIGNWRITING HAND-CIRCLE MIDDLE UP +1D8C8 SIGNWRITING HAND-FIST MIDDLE RAISED KNUCKLE +1D8C9 SIGNWRITING HAND-FIST MIDDLE UP THUMB SIDE +1D8CA SIGNWRITING HAND-HOOK MIDDLE THUMB +1D8CB SIGNWRITING HAND-FIST MIDDLE THUMB LITTLE +1D8CC SIGNWRITING HAND-FIST MIDDLE LITTLE +@ Hand shapes with index finger and thumb +1D8CD SIGNWRITING HAND-FIST MIDDLE RING LITTLE +1D8CE SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE +1D8CF SIGNWRITING HAND-CURLICUE MIDDLE RING LITTLE ON +1D8D0 SIGNWRITING HAND-CUP MIDDLE RING LITTLE +1D8D1 SIGNWRITING HAND-HINGE MIDDLE RING LITTLE +1D8D2 SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE OUT +1D8D3 SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE IN +1D8D4 SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE +1D8D5 SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE BENT +1D8D6 SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED +1D8D7 SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED SIDE +1D8D8 SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED OUT +1D8D9 SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED IN +1D8DA SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED +1D8DB SIGNWRITING HAND-HINGE INDEX HINGED +1D8DC SIGNWRITING HAND-FIST INDEX THUMB SIDE +1D8DD SIGNWRITING HAND-HINGE INDEX THUMB SIDE +1D8DE SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB DIAGONAL +1D8DF SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB CONJOINED +1D8E0 SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB BENT +1D8E1 SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX BENT +1D8E2 SIGNWRITING HAND-FIST INDEX THUMB SIDE BOTH BENT +1D8E3 SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX HINGE +1D8E4 SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX STRAIGHT +1D8E5 SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX BENT +1D8E6 SIGNWRITING HAND-FIST INDEX THUMB HOOK +1D8E7 SIGNWRITING HAND-FIST INDEX THUMB CURLICUE +1D8E8 SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB INSIDE +1D8E9 SIGNWRITING HAND-CLAW INDEX THUMB CURVE THUMB INSIDE +1D8EA SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB UNDER +1D8EB SIGNWRITING HAND-FIST INDEX THUMB CIRCLE +1D8EC SIGNWRITING HAND-CUP INDEX THUMB +1D8ED SIGNWRITING HAND-CUP INDEX THUMB OPEN +1D8EE SIGNWRITING HAND-HINGE INDEX THUMB OPEN +1D8EF SIGNWRITING HAND-HINGE INDEX THUMB LARGE +1D8F0 SIGNWRITING HAND-HINGE INDEX THUMB +1D8F1 SIGNWRITING HAND-HINGE INDEX THUMB SMALL +1D8F2 SIGNWRITING HAND-ANGLE INDEX THUMB OUT +1D8F3 SIGNWRITING HAND-ANGLE INDEX THUMB IN +1D8F4 SIGNWRITING HAND-ANGLE INDEX THUMB +@ Hand shapes with thumb +1D8F5 SIGNWRITING HAND-FIST THUMB +1D8F6 SIGNWRITING HAND-FIST THUMB HEEL +1D8F7 SIGNWRITING HAND-FIST THUMB SIDE DIAGONAL +1D8F8 SIGNWRITING HAND-FIST THUMB SIDE CONJOINED +1D8F9 SIGNWRITING HAND-FIST THUMB SIDE BENT +1D8FA SIGNWRITING HAND-FIST THUMB FORWARD +1D8FB SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE +1D8FC SIGNWRITING HAND-FIST THUMB BETWEEN MIDDLE RING +1D8FD SIGNWRITING HAND-FIST THUMB BETWEEN RING LITTLE +1D8FE SIGNWRITING HAND-FIST THUMB UNDER TWO FINGERS +1D8FF SIGNWRITING HAND-FIST THUMB OVER TWO FINGERS +1D900 SIGNWRITING HAND-FIST THUMB UNDER THREE FINGERS +1D901 SIGNWRITING HAND-FIST THUMB UNDER FOUR FINGERS +1D902 SIGNWRITING HAND-FIST THUMB OVER FOUR RAISED KNUCKLES +1D903 SIGNWRITING HAND-FIST +1D904 SIGNWRITING HAND-FIST HEEL +@ Contact movement indicators +1D905 SIGNWRITING TOUCH SINGLE +1D906 SIGNWRITING TOUCH MULTIPLE +1D907 SIGNWRITING TOUCH BETWEEN +1D908 SIGNWRITING GRASP SINGLE +1D909 SIGNWRITING GRASP MULTIPLE +1D90A SIGNWRITING GRASP BETWEEN +1D90B SIGNWRITING STRIKE SINGLE +1D90C SIGNWRITING STRIKE MULTIPLE +1D90D SIGNWRITING STRIKE BETWEEN +1D90E SIGNWRITING BRUSH SINGLE +1D90F SIGNWRITING BRUSH MULTIPLE +1D910 SIGNWRITING BRUSH BETWEEN +1D911 SIGNWRITING RUB SINGLE +1D912 SIGNWRITING RUB MULTIPLE +1D913 SIGNWRITING RUB BETWEEN +1D914 SIGNWRITING SURFACE SYMBOLS +1D915 SIGNWRITING SURFACE BETWEEN +@ Finger movement indicators +1D916 SIGNWRITING SQUEEZE LARGE SINGLE +1D917 SIGNWRITING SQUEEZE SMALL SINGLE +1D918 SIGNWRITING SQUEEZE LARGE MULTIPLE +1D919 SIGNWRITING SQUEEZE SMALL MULTIPLE +1D91A SIGNWRITING SQUEEZE SEQUENTIAL +1D91B SIGNWRITING FLICK LARGE SINGLE +1D91C SIGNWRITING FLICK SMALL SINGLE +1D91D SIGNWRITING FLICK LARGE MULTIPLE +1D91E SIGNWRITING FLICK SMALL MULTIPLE +1D91F SIGNWRITING FLICK SEQUENTIAL +1D920 SIGNWRITING SQUEEZE FLICK ALTERNATING +1D921 SIGNWRITING MOVEMENT-HINGE UP DOWN LARGE +1D922 SIGNWRITING MOVEMENT-HINGE UP DOWN SMALL +1D923 SIGNWRITING MOVEMENT-HINGE UP SEQUENTIAL +1D924 SIGNWRITING MOVEMENT-HINGE DOWN SEQUENTIAL +1D925 SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING LARGE +1D926 SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING SMALL +1D927 SIGNWRITING MOVEMENT-HINGE SIDE TO SIDE SCISSORS +1D928 SIGNWRITING MOVEMENT-WALLPLANE FINGER CONTACT +1D929 SIGNWRITING MOVEMENT-FLOORPLANE FINGER CONTACT +@ Movement indicators +1D92A SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT SMALL +1D92B SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT MEDIUM +1D92C SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGE +1D92D SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGEST +1D92E SIGNWRITING MOVEMENT-WALLPLANE SINGLE WRIST FLEX +1D92F SIGNWRITING MOVEMENT-WALLPLANE DOUBLE STRAIGHT +1D930 SIGNWRITING MOVEMENT-WALLPLANE DOUBLE WRIST FLEX +1D931 SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING +1D932 SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING WRIST FLEX +1D933 SIGNWRITING MOVEMENT-WALLPLANE CROSS +1D934 SIGNWRITING MOVEMENT-WALLPLANE TRIPLE STRAIGHT MOVEMENT +1D935 SIGNWRITING MOVEMENT-WALLPLANE TRIPLE WRIST FLEX +1D936 SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING +1D937 SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING WRIST FLEX +1D938 SIGNWRITING MOVEMENT-WALLPLANE BEND SMALL +1D939 SIGNWRITING MOVEMENT-WALLPLANE BEND MEDIUM +1D93A SIGNWRITING MOVEMENT-WALLPLANE BEND LARGE +1D93B SIGNWRITING MOVEMENT-WALLPLANE CORNER SMALL +1D93C SIGNWRITING MOVEMENT-WALLPLANE CORNER MEDIUM +1D93D SIGNWRITING MOVEMENT-WALLPLANE CORNER LARGE +1D93E SIGNWRITING MOVEMENT-WALLPLANE CORNER ROTATION +1D93F SIGNWRITING MOVEMENT-WALLPLANE CHECK SMALL +1D940 SIGNWRITING MOVEMENT-WALLPLANE CHECK MEDIUM +1D941 SIGNWRITING MOVEMENT-WALLPLANE CHECK LARGE +1D942 SIGNWRITING MOVEMENT-WALLPLANE BOX SMALL +1D943 SIGNWRITING MOVEMENT-WALLPLANE BOX MEDIUM +1D944 SIGNWRITING MOVEMENT-WALLPLANE BOX LARGE +1D945 SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG SMALL +1D946 SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG MEDIUM +1D947 SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG LARGE +1D948 SIGNWRITING MOVEMENT-WALLPLANE PEAKS SMALL +1D949 SIGNWRITING MOVEMENT-WALLPLANE PEAKS MEDIUM +1D94A SIGNWRITING MOVEMENT-WALLPLANE PEAKS LARGE +1D94B SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE SINGLE +1D94C SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE DOUBLE +1D94D SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE ALTERNATING +1D94E SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE SINGLE +1D94F SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE DOUBLE +1D950 SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE ALTERNATING +1D951 SIGNWRITING TRAVEL-WALLPLANE SHAKING +1D952 SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL SINGLE +1D953 SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL DOUBLE +1D954 SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL TRIPLE +1D955 SIGNWRITING MOVEMENT-DIAGONAL AWAY SMALL +1D956 SIGNWRITING MOVEMENT-DIAGONAL AWAY MEDIUM +1D957 SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGE +1D958 SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGEST +1D959 SIGNWRITING MOVEMENT-DIAGONAL TOWARDS SMALL +1D95A SIGNWRITING MOVEMENT-DIAGONAL TOWARDS MEDIUM +1D95B SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGE +1D95C SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGEST +1D95D SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY SMALL +1D95E SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY MEDIUM +1D95F SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGE +1D960 SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGEST +1D961 SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS SMALL +1D962 SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS MEDIUM +1D963 SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGE +1D964 SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGEST +1D965 SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT SMALL +1D966 SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT MEDIUM +1D967 SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGE +1D968 SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGEST +1D969 SIGNWRITING MOVEMENT-FLOORPLANE SINGLE WRIST FLEX +1D96A SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE STRAIGHT +1D96B SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE WRIST FLEX +1D96C SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING +1D96D SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING WRIST FLEX +1D96E SIGNWRITING MOVEMENT-FLOORPLANE CROSS +1D96F SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE STRAIGHT MOVEMENT +1D970 SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE WRIST FLEX +1D971 SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING MOVEMENT +1D972 SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING WRIST FLEX +1D973 SIGNWRITING MOVEMENT-FLOORPLANE BEND +1D974 SIGNWRITING MOVEMENT-FLOORPLANE CORNER SMALL +1D975 SIGNWRITING MOVEMENT-FLOORPLANE CORNER MEDIUM +1D976 SIGNWRITING MOVEMENT-FLOORPLANE CORNER LARGE +1D977 SIGNWRITING MOVEMENT-FLOORPLANE CHECK +1D978 SIGNWRITING MOVEMENT-FLOORPLANE BOX SMALL +1D979 SIGNWRITING MOVEMENT-FLOORPLANE BOX MEDIUM +1D97A SIGNWRITING MOVEMENT-FLOORPLANE BOX LARGE +1D97B SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG SMALL +1D97C SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG MEDIUM +1D97D SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG LARGE +1D97E SIGNWRITING MOVEMENT-FLOORPLANE PEAKS SMALL +1D97F SIGNWRITING MOVEMENT-FLOORPLANE PEAKS MEDIUM +1D980 SIGNWRITING MOVEMENT-FLOORPLANE PEAKS LARGE +1D981 SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE SINGLE +1D982 SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE DOUBLE +1D983 SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE ALTERNATING +1D984 SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE SINGLE +1D985 SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE DOUBLE +1D986 SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE ALTERNATING +1D987 SIGNWRITING TRAVEL-FLOORPLANE SHAKING +1D988 SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER SMALL +1D989 SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER MEDIUM +1D98A SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGE +1D98B SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGEST +1D98C SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE SMALL +1D98D SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE MEDIUM +1D98E SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGE +1D98F SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGEST +1D990 SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE SMALL +1D991 SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE MEDIUM +1D992 SIGNWRITING MOVEMENT-WALLPLANE HUMP SMALL +1D993 SIGNWRITING MOVEMENT-WALLPLANE HUMP MEDIUM +1D994 SIGNWRITING MOVEMENT-WALLPLANE HUMP LARGE +1D995 SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL +1D996 SIGNWRITING MOVEMENT-WALLPLANE LOOP MEDIUM +1D997 SIGNWRITING MOVEMENT-WALLPLANE LOOP LARGE +1D998 SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL DOUBLE +1D999 SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE SMALL +1D99A SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE MEDIUM +1D99B SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE LARGE +1D99C SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE SMALL +1D99D SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE MEDIUM +1D99E SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE LARGE +1D99F SIGNWRITING MOVEMENT-WALLPLANE CURVE THEN STRAIGHT +1D9A0 SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS SMALL +1D9A1 SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS MEDIUM +1D9A2 SIGNWRITING ROTATION-WALLPLANE SINGLE +1D9A3 SIGNWRITING ROTATION-WALLPLANE DOUBLE +1D9A4 SIGNWRITING ROTATION-WALLPLANE ALTERNATE +1D9A5 SIGNWRITING MOVEMENT-WALLPLANE SHAKING +1D9A6 SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING FRONT WALL +1D9A7 SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING FRONT WALL +1D9A8 SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING FRONT WALL +1D9A9 SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING FRONT WALL +1D9AA SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING FRONT WALL +1D9AB SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING FRONT WALL +1D9AC SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING FRONT WALL +1D9AD SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING CHEST +1D9AE SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING CHEST +1D9AF SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING CHEST +1D9B0 SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING CHEST +1D9B1 SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING CHEST +1D9B2 SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING CHEST +1D9B3 SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING CHEST +1D9B4 SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH SMALL +1D9B5 SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH MEDIUM +1D9B6 SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH LARGE +1D9B7 SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING SMALL +1D9B8 SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING LARGE +1D9B9 SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL DOUBLE +1D9BA SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE DOUBLE +1D9BB SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL TRIPLE +1D9BC SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE TRIPLE +1D9BD SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL SINGLE +1D9BE SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE SINGLE +1D9BF SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL DOUBLE +1D9C0 SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE DOUBLE +1D9C1 SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING SMALL +1D9C2 SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING LARGE +1D9C3 SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING CEILING +1D9C4 SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING CEILING +1D9C5 SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING CEILING +1D9C6 SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR SMALL +1D9C7 SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR LARGE +1D9C8 SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR SMALL DOUBLE +1D9C9 SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR LARGE DOUBLE +1D9CA SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE SMALL TRIPLE +1D9CB SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE LARGE TRIPLE +1D9CC SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL SINGLE +1D9CD SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE SINGLE +1D9CE SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL DOUBLE +1D9CF SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE DOUBLE +1D9D0 SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR SMALL +1D9D1 SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR LARGE +1D9D2 SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING FLOOR +1D9D3 SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING FLOOR +1D9D4 SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING FLOOR +1D9D5 SIGNWRITING MOVEMENT-FLOORPLANE CURVE SMALL +1D9D6 SIGNWRITING MOVEMENT-FLOORPLANE CURVE MEDIUM +1D9D7 SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGE +1D9D8 SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGEST +1D9D9 SIGNWRITING MOVEMENT-FLOORPLANE CURVE COMBINED +1D9DA SIGNWRITING MOVEMENT-FLOORPLANE HUMP SMALL +1D9DB SIGNWRITING MOVEMENT-FLOORPLANE LOOP SMALL +1D9DC SIGNWRITING MOVEMENT-FLOORPLANE WAVE SNAKE +1D9DD SIGNWRITING MOVEMENT-FLOORPLANE WAVE SMALL +1D9DE SIGNWRITING MOVEMENT-FLOORPLANE WAVE LARGE +1D9DF SIGNWRITING ROTATION-FLOORPLANE SINGLE +1D9E0 SIGNWRITING ROTATION-FLOORPLANE DOUBLE +1D9E1 SIGNWRITING ROTATION-FLOORPLANE ALTERNATING +1D9E2 SIGNWRITING MOVEMENT-FLOORPLANE SHAKING PARALLEL +1D9E3 SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL SINGLE +1D9E4 SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM SINGLE +1D9E5 SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL DOUBLE +1D9E6 SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM DOUBLE +1D9E7 SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL SINGLE +1D9E8 SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM SINGLE +1D9E9 SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE SINGLE +1D9EA SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL DOUBLE +1D9EB SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM DOUBLE +1D9EC SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE DOUBLE +1D9ED SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT SINGLE +1D9EE SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT DOUBLE +1D9EF SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL SINGLE +1D9F0 SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL DOUBLE +1D9F1 SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES SINGLE +1D9F2 SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES DOUBLE +1D9F3 SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL SINGLE +1D9F4 SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL DOUBLE +@ Dynamics indicators +1D9F5 SIGNWRITING DYNAMIC ARROWHEAD SMALL +1D9F6 SIGNWRITING DYNAMIC ARROWHEAD LARGE +1D9F7 SIGNWRITING DYNAMIC FAST +1D9F8 SIGNWRITING DYNAMIC SLOW +1D9F9 SIGNWRITING DYNAMIC TENSE +1D9FA SIGNWRITING DYNAMIC RELAXED +1D9FB SIGNWRITING DYNAMIC SIMULTANEOUS +1D9FC SIGNWRITING DYNAMIC SIMULTANEOUS ALTERNATING +1D9FD SIGNWRITING DYNAMIC EVERY OTHER TIME +1D9FE SIGNWRITING DYNAMIC GRADUAL +@ Head shapes +1D9FF SIGNWRITING HEAD +1DA00 SIGNWRITING HEAD RIM +1DA01 SIGNWRITING HEAD MOVEMENT-WALLPLANE STRAIGHT +1DA02 SIGNWRITING HEAD MOVEMENT-WALLPLANE TILT +1DA03 SIGNWRITING HEAD MOVEMENT-FLOORPLANE STRAIGHT +1DA04 SIGNWRITING HEAD MOVEMENT-WALLPLANE CURVE +1DA05 SIGNWRITING HEAD MOVEMENT-FLOORPLANE CURVE +1DA06 SIGNWRITING HEAD MOVEMENT CIRCLE +1DA07 SIGNWRITING FACE DIRECTION POSITION NOSE FORWARD TILTING +1DA08 SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN +1DA09 SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN TILTING +1DA0A SIGNWRITING EYEBROWS STRAIGHT UP +1DA0B SIGNWRITING EYEBROWS STRAIGHT NEUTRAL +1DA0C SIGNWRITING EYEBROWS STRAIGHT DOWN +1DA0D SIGNWRITING DREAMY EYEBROWS NEUTRAL DOWN +1DA0E SIGNWRITING DREAMY EYEBROWS DOWN NEUTRAL +1DA0F SIGNWRITING DREAMY EYEBROWS UP NEUTRAL +1DA10 SIGNWRITING DREAMY EYEBROWS NEUTRAL UP +1DA11 SIGNWRITING FOREHEAD NEUTRAL +1DA12 SIGNWRITING FOREHEAD CONTACT +1DA13 SIGNWRITING FOREHEAD WRINKLED +1DA14 SIGNWRITING EYES OPEN +1DA15 SIGNWRITING EYES SQUEEZED +1DA16 SIGNWRITING EYES CLOSED +1DA17 SIGNWRITING EYE BLINK SINGLE +1DA18 SIGNWRITING EYE BLINK MULTIPLE +1DA19 SIGNWRITING EYES HALF OPEN +1DA1A SIGNWRITING EYES WIDE OPEN +1DA1B SIGNWRITING EYES HALF CLOSED +1DA1C SIGNWRITING EYES WIDENING MOVEMENT +1DA1D SIGNWRITING EYE WINK + * squeezed eye blink +1DA1E SIGNWRITING EYELASHES UP +1DA1F SIGNWRITING EYELASHES DOWN +1DA20 SIGNWRITING EYELASHES FLUTTERING +1DA21 SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT +1DA22 SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT DOUBLE +1DA23 SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT ALTERNATING +1DA24 SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT +1DA25 SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT DOUBLE +1DA26 SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT ALTERNATING +1DA27 SIGNWRITING EYEGAZE-WALLPLANE CURVED +1DA28 SIGNWRITING EYEGAZE-FLOORPLANE CURVED +1DA29 SIGNWRITING EYEGAZE-WALLPLANE CIRCLING +1DA2A SIGNWRITING CHEEKS PUFFED +1DA2B SIGNWRITING CHEEKS NEUTRAL +1DA2C SIGNWRITING CHEEKS SUCKED +1DA2D SIGNWRITING TENSE CHEEKS HIGH +1DA2E SIGNWRITING TENSE CHEEKS MIDDLE +1DA2F SIGNWRITING TENSE CHEEKS LOW +1DA30 SIGNWRITING EARS +1DA31 SIGNWRITING NOSE NEUTRAL +1DA32 SIGNWRITING NOSE CONTACT +1DA33 SIGNWRITING NOSE WRINKLES +1DA34 SIGNWRITING NOSE WIGGLES +1DA35 SIGNWRITING AIR BLOWING OUT +1DA36 SIGNWRITING AIR SUCKING IN +1DA37 SIGNWRITING AIR BLOW SMALL ROTATIONS +1DA38 SIGNWRITING AIR SUCK SMALL ROTATIONS +1DA39 SIGNWRITING BREATH INHALE +1DA3A SIGNWRITING BREATH EXHALE +1DA3B SIGNWRITING MOUTH CLOSED NEUTRAL +1DA3C SIGNWRITING MOUTH CLOSED FORWARD +1DA3D SIGNWRITING MOUTH CLOSED CONTACT +1DA3E SIGNWRITING MOUTH SMILE +1DA3F SIGNWRITING MOUTH SMILE WRINKLED +1DA40 SIGNWRITING MOUTH SMILE OPEN +1DA41 SIGNWRITING MOUTH FROWN +1DA42 SIGNWRITING MOUTH FROWN WRINKLED +1DA43 SIGNWRITING MOUTH FROWN OPEN +1DA44 SIGNWRITING MOUTH OPEN CIRCLE +1DA45 SIGNWRITING MOUTH OPEN FORWARD +1DA46 SIGNWRITING MOUTH OPEN WRINKLED +1DA47 SIGNWRITING MOUTH OPEN OVAL +1DA48 SIGNWRITING MOUTH OPEN OVAL WRINKLED +1DA49 SIGNWRITING MOUTH OPEN OVAL YAWN +1DA4A SIGNWRITING MOUTH OPEN RECTANGLE +1DA4B SIGNWRITING MOUTH OPEN RECTANGLE WRINKLED +1DA4C SIGNWRITING MOUTH OPEN RECTANGLE YAWN +1DA4D SIGNWRITING MOUTH KISS +1DA4E SIGNWRITING MOUTH KISS FORWARD +1DA4F SIGNWRITING MOUTH KISS WRINKLED +1DA50 SIGNWRITING MOUTH TENSE +1DA51 SIGNWRITING MOUTH TENSE FORWARD +1DA52 SIGNWRITING MOUTH TENSE SUCKED +1DA53 SIGNWRITING LIPS PRESSED TOGETHER +1DA54 SIGNWRITING LIP LOWER OVER UPPER +1DA55 SIGNWRITING LIP UPPER OVER LOWER +1DA56 SIGNWRITING MOUTH CORNERS +1DA57 SIGNWRITING MOUTH WRINKLES SINGLE +1DA58 SIGNWRITING MOUTH WRINKLES DOUBLE +1DA59 SIGNWRITING TONGUE STICKING OUT FAR +1DA5A SIGNWRITING TONGUE LICKING LIPS +1DA5B SIGNWRITING TONGUE TIP BETWEEN LIPS +1DA5C SIGNWRITING TONGUE TIP TOUCHING INSIDE MOUTH +1DA5D SIGNWRITING TONGUE INSIDE MOUTH RELAXED +1DA5E SIGNWRITING TONGUE MOVES AGAINST CHEEK +1DA5F SIGNWRITING TONGUE CENTRE STICKING OUT +1DA60 SIGNWRITING TONGUE CENTRE INSIDE MOUTH +1DA61 SIGNWRITING TEETH +1DA62 SIGNWRITING TEETH MOVEMENT +1DA63 SIGNWRITING TEETH ON TONGUE +1DA64 SIGNWRITING TEETH ON TONGUE MOVEMENT +1DA65 SIGNWRITING TEETH ON LIPS +1DA66 SIGNWRITING TEETH ON LIPS MOVEMENT +1DA67 SIGNWRITING TEETH BITE LIPS +1DA68 SIGNWRITING MOVEMENT-WALLPLANE JAW +1DA69 SIGNWRITING MOVEMENT-FLOORPLANE JAW +1DA6A SIGNWRITING NECK +1DA6B SIGNWRITING HAIR +1DA6C SIGNWRITING EXCITEMENT +@ Body shapes +1DA6D SIGNWRITING SHOULDER HIP SPINE +1DA6E SIGNWRITING SHOULDER HIP POSITIONS +1DA6F SIGNWRITING WALLPLANE SHOULDER HIP MOVE +1DA70 SIGNWRITING FLOORPLANE SHOULDER HIP MOVE +1DA71 SIGNWRITING SHOULDER TILTING FROM WAIST +1DA72 SIGNWRITING TORSO-WALLPLANE STRAIGHT STRETCH +1DA73 SIGNWRITING TORSO-WALLPLANE CURVED BEND +1DA74 SIGNWRITING TORSO-FLOORPLANE TWISTING +1DA75 SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA76 SIGNWRITING LIMB COMBINATION +1DA77 SIGNWRITING LIMB LENGTH-1 +1DA78 SIGNWRITING LIMB LENGTH-2 +1DA79 SIGNWRITING LIMB LENGTH-3 +1DA7A SIGNWRITING LIMB LENGTH-4 +1DA7B SIGNWRITING LIMB LENGTH-5 +1DA7C SIGNWRITING LIMB LENGTH-6 +1DA7D SIGNWRITING LIMB LENGTH-7 +1DA7E SIGNWRITING FINGER +@ Location bases +1DA7F SIGNWRITING LOCATION-WALLPLANE SPACE +1DA80 SIGNWRITING LOCATION-FLOORPLANE SPACE +1DA81 SIGNWRITING LOCATION HEIGHT +1DA82 SIGNWRITING LOCATION WIDTH +1DA83 SIGNWRITING LOCATION DEPTH +1DA84 SIGNWRITING LOCATION HEAD NECK +1DA85 SIGNWRITING LOCATION TORSO +1DA86 SIGNWRITING LOCATION LIMBS DIGITS +@ Punctuation +1DA87 SIGNWRITING COMMA +1DA88 SIGNWRITING FULL STOP +1DA89 SIGNWRITING SEMICOLON +1DA8A SIGNWRITING COLON +1DA8B SIGNWRITING PARENTHESIS + * is a closing parenthesis when used with 1DAA4 signwriting rotation modifier-5 +@ Fill modifiers +1DA9B SIGNWRITING FILL MODIFIER-2 +1DA9C SIGNWRITING FILL MODIFIER-3 +1DA9D SIGNWRITING FILL MODIFIER-4 +1DA9E SIGNWRITING FILL MODIFIER-5 +1DA9F SIGNWRITING FILL MODIFIER-6 +@ Rotation modifiers +1DAA1 SIGNWRITING ROTATION MODIFIER-2 +1DAA2 SIGNWRITING ROTATION MODIFIER-3 +1DAA3 SIGNWRITING ROTATION MODIFIER-4 +1DAA4 SIGNWRITING ROTATION MODIFIER-5 +1DAA5 SIGNWRITING ROTATION MODIFIER-6 +1DAA6 SIGNWRITING ROTATION MODIFIER-7 +1DAA7 SIGNWRITING ROTATION MODIFIER-8 +1DAA8 SIGNWRITING ROTATION MODIFIER-9 +1DAA9 SIGNWRITING ROTATION MODIFIER-10 +1DAAA SIGNWRITING ROTATION MODIFIER-11 +1DAAB SIGNWRITING ROTATION MODIFIER-12 +1DAAC SIGNWRITING ROTATION MODIFIER-13 +1DAAD SIGNWRITING ROTATION MODIFIER-14 +1DAAE SIGNWRITING ROTATION MODIFIER-15 +1DAAF SIGNWRITING ROTATION MODIFIER-16 @@ 1E800 Mende Kikakui 1E8DF @ Syllables in k- 1E800 MENDE KIKAKUI SYLLABLE M001 KI @@ -39450,7 +42106,7 @@ FFFF 1F02A MAHJONG TILE JOKER = baida 1F02B MAHJONG TILE BACK -@~ !{FE0E FE0F} Standardized Variation Sequences +@~ ! @@ 1F030 Domino Tiles 1F09F @ Horizontal tiles 1F030 DOMINO TILE HORIZONTAL BACK @@ -39934,8 +42590,12 @@ FFFF @+ The square edges may be slightly rounded. 1F170 NEGATIVE SQUARED LATIN CAPITAL LETTER A = blood type A + ~ 1F170 FE0E text style + ~ 1F170 FE0F emoji style 1F171 NEGATIVE SQUARED LATIN CAPITAL LETTER B = blood type B + ~ 1F171 FE0E text style + ~ 1F171 FE0F emoji style 1F172 NEGATIVE SQUARED LATIN CAPITAL LETTER C = centre, city centre 1F173 NEGATIVE SQUARED LATIN CAPITAL LETTER D @@ -39957,6 +42617,8 @@ FFFF 1F17D NEGATIVE SQUARED LATIN CAPITAL LETTER N 1F17E NEGATIVE SQUARED LATIN CAPITAL LETTER O = blood type O + ~ 1F17E FE0E text style + ~ 1F17E FE0F emoji style 1F17F NEGATIVE SQUARED LATIN CAPITAL LETTER P = parking space empty-full (ARIB STD B24) ~ 1F17F FE0E text style @@ -40005,7 +42667,7 @@ FFFF 1F19A SQUARED VS = versus @ Regional indicator symbols -@+ These characters can be used in pairs to represent regional codes. In some emoji implementations, certain pairs may be recognized and displayed by alternate means; for instance, an implementation might recognize F + R and display this combination with a symbol representing the flag of France. +@+ These characters can be used in pairs to represent regional codes. In some emoji implementations, certain pairs may be recognized and displayed by alternate means; for instance, an implementation might recognize F + R and display this combination with a symbol representing the flag of France. 1F1E6 REGIONAL INDICATOR SYMBOL LETTER A 1F1E7 REGIONAL INDICATOR SYMBOL LETTER B 1F1E8 REGIONAL INDICATOR SYMBOL LETTER C @@ -40032,7 +42694,7 @@ FFFF 1F1FD REGIONAL INDICATOR SYMBOL LETTER X 1F1FE REGIONAL INDICATOR SYMBOL LETTER Y 1F1FF REGIONAL INDICATOR SYMBOL LETTER Z -@~ !{FE0E FE0F} Standardized Variation Sequences +@~ ! @@ 1F200 Enclosed Ideographic Supplement 1F2FF @ Squared hiragana from ARIB STD B24 1F200 SQUARE HIRAGANA HOKA @@ -40045,6 +42707,8 @@ FFFF 1F202 SQUARED KATAKANA SA = service sign x (circled katakana sa - 32DA) + ~ 1F202 FE0E text style + ~ 1F202 FE0F emoji style # 30B5 @ Squared ideographs and kana from ARIB STD B24 1F210 SQUARED CJK UNIFIED IDEOGRAPH-624B @@ -40176,6 +42840,8 @@ FFFF 1F237 SQUARED CJK UNIFIED IDEOGRAPH-6708 = monthly sign x (circled ideograph moon - 328A) + ~ 1F237 FE0E text style + ~ 1F237 FE0F emoji style # 6708 1F238 SQUARED CJK UNIFIED IDEOGRAPH-7533 = application sign @@ -40221,7 +42887,7 @@ FFFF 1F251 CIRCLED IDEOGRAPH ACCEPT = accept sign # 53EF -@~ !{FE0E FE0F} Standardized Variation Sequences +@~ ! @@ 1F300 Miscellaneous Symbols and Pictographs 1F5FF @ Weather, landscape, and sky symbols 1F300 CYCLONE @@ -40301,6 +42967,10 @@ FFFF x (foggy - 1F301) 1F32C WIND BLOWING FACE = wind +@ Food symbols +1F32D HOT DOG +1F32E TACO +1F32F BURRITO @ Plant symbols 1F330 CHESTNUT 1F331 SEEDLING @@ -40411,6 +43081,9 @@ FFFF 1F37D FORK AND KNIFE WITH PLATE = dining x (fork and knife - 1F374) +@ Beverage and food symbols +1F37E BOTTLE WITH POPPING CORK +1F37F POPCORN @ Celebration symbols 1F380 RIBBON 1F381 WRAPPED PRESENT @@ -40518,6 +43191,7 @@ FFFF x (bullseye - 25CE) 1F3B0 SLOT MACHINE 1F3B1 BILLIARDS + * sometimes depicted as just an 8-ball 1F3B2 GAME DIE 1F3B3 BOWLING 1F3B4 FLOWER PLAYING CARDS @@ -40565,8 +43239,14 @@ FFFF 1F3CC GOLFER 1F3CD RACING MOTORCYCLE = motorcycle + * may be depicted as an ordinary motorcycle, especially in emoji presentation 1F3CE RACING CAR = race car +1F3CF CRICKET BAT AND BALL +1F3D0 VOLLEYBALL +1F3D1 FIELD HOCKEY STICK AND BALL +1F3D2 ICE HOCKEY STICK AND PUCK +1F3D3 TABLE TENNIS PADDLE AND BALL @ Buiding and map symbols 1F3D4 SNOW CAPPED MOUNTAIN x (mountain - 26F0) @@ -40595,6 +43275,7 @@ FFFF = island x (palm tree - 1F334) 1F3DE NATIONAL PARK + * by semantic extension has come to connote saving trees, and hence is also used as a symbol meaning "do not print this (email, document)" x (evergreen tree - 1F332) 1F3DF STADIUM 1F3E0 HOUSE BUILDING @@ -40644,6 +43325,21 @@ FFFF 1F3F7 LABEL = price, price tag x (bookmark - 1F516) +@ Sport symbols +1F3F8 BADMINTON RACQUET AND SHUTTLECOCK +1F3F9 BOW AND ARROW + * used for Sagittarius + x (sagittarius - 2650) +@ Miscellaneous symbol +1F3FA AMPHORA + * used for Aquarius + x (aquarius - 2652) +@ Emoji modifiers +1F3FB EMOJI MODIFIER FITZPATRICK TYPE-1-2 +1F3FC EMOJI MODIFIER FITZPATRICK TYPE-3 +1F3FD EMOJI MODIFIER FITZPATRICK TYPE-4 +1F3FE EMOJI MODIFIER FITZPATRICK TYPE-5 +1F3FF EMOJI MODIFIER FITZPATRICK TYPE-6 @ Animal symbols 1F400 RAT * first of the signs of the Asian zodiac @@ -40822,14 +43518,18 @@ FFFF 1F46D TWO WOMEN HOLDING HANDS 1F46E POLICE OFFICER 1F46F WOMAN WITH BUNNY EARS + * most popularly depicted as two women dancing 1F470 BRIDE WITH VEIL 1F471 PERSON WITH BLOND HAIR 1F472 MAN WITH GUA PI MAO 1F473 MAN WITH TURBAN + * may be shown with or without a beard 1F474 OLDER MAN 1F475 OLDER WOMAN 1F476 BABY 1F477 CONSTRUCTION WORKER + * the helmet may show a green cross, used as a safety reminder in Japan + x (helmet with white cross - 26D1) @ Fairy tale symbols 1F478 PRINCESS 1F479 JAPANESE OGRE @@ -40838,12 +43538,16 @@ FFFF 1F47C BABY ANGEL 1F47D EXTRATERRESTRIAL ALIEN 1F47E ALIEN MONSTER + x (robot face - 1F916) 1F47F IMP + * commonly depicted as a frowning/angry version of 1F608 smiling face with horns 1F480 SKULL @ Role symbols 1F481 INFORMATION DESK PERSON + * often used to indicate "sassy" or "carefree" 1F482 GUARDSMAN 1F483 DANCER + * also used for "let's party" @ Personal care symbols 1F484 LIPSTICK 1F485 NAIL POLISH @@ -40909,6 +43613,7 @@ FFFF = running dash, briffits 1F4A9 PILE OF POO = dog dirt + * may be depicted with a friendly face 1F4AA FLEXED BICEPS = strong, muscled 1F4AB DIZZY SYMBOL @@ -40938,6 +43643,7 @@ FFFF 1F4B9 CHART WITH UPWARDS TREND AND YEN SIGN @ Office symbols 1F4BA SEAT + * intended to denote a reserved or ticketed seat, as for an airplane, train, or theater 1F4BB PERSONAL COMPUTER x (old personal computer - 1F5B3) 1F4BC BRIEFCASE @@ -40993,6 +43699,7 @@ FFFF @ Communication symbols 1F4DD MEMO 1F4DE TELEPHONE RECEIVER + * commonly oriented rightwards, so that a face emoticon can be positioned to the right x (left hand telephone receiver - 1F57B) x (right hand telephone receiver - 1F57D) 1F4DF PAGER @@ -41011,7 +43718,7 @@ FFFF 1F4E6 PACKAGE x (wrapped present - 1F381) 1F4E7 E-MAIL SYMBOL - * glyph may show an @-sign instead of an E + * glyph may show an E instead of an @-sign x (envelope with lightning - 1F584) 1F4E8 INCOMING ENVELOPE x (envelope - 2709) @@ -41052,6 +43759,8 @@ FFFF x (cinema - 1F3A6) 1F4FE PORTABLE STEREO = stereo +@ Religious symbol +1F4FF PRAYER BEADS @ User interface symbols 1F500 TWISTED RIGHTWARDS ARROWS = shuffle @@ -41101,6 +43810,7 @@ FFFF x (ringing bell - 1F56D) 1F515 BELL WITH CANCELLATION STROKE 1F516 BOOKMARK + * indicates a bookmark, not a price tag x (label - 1F3F7) 1F517 LINK SYMBOL 1F518 RADIO BUTTON @@ -41199,6 +43909,14 @@ FFFF x (devanagari om - 0950) 1F54A DOVE OF PEACE = peace +1F54B KAABA +1F54C MOSQUE +1F54D SYNAGOGUE +1F54E MENORAH WITH NINE BRANCHES + = hanukiah +@ Miscellaneous symbol +1F54F BOWL OF HYGIEIA + x (staff of aesculapius - 2695) @ Clock face symbols 1F550 CLOCK FACE ONE OCLOCK x (watch - 231A) @@ -41530,7 +44248,7 @@ FFFF 1F5FF MOYAI * Japanese stone statue like Moai on Easter Island @@ 1F600 Emoticons 1F64F -@+ The emoticons have been organized by mouth shape to make it easier to locate the different characters in the code chart. +@+ The emoticons have been organized by mouth shape to make it easier to locate the different characters in the code chart. @ Faces 1F600 GRINNING FACE 1F601 GRINNING FACE WITH SMILING EYES @@ -41542,10 +44260,12 @@ FFFF 1F606 SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES 1F607 SMILING FACE WITH HALO 1F608 SMILING FACE WITH HORNS + * commonly depicted as a (sinister) smiling version of 1F47F imp 1F609 WINKING FACE 1F60A SMILING FACE WITH SMILING EYES 1F60B FACE SAVOURING DELICIOUS FOOD 1F60C RELIEVED FACE + * indicates relief, not sleeping 1F60D SMILING FACE WITH HEART-SHAPED EYES 1F60E SMILING FACE WITH SUNGLASSES 1F60F SMIRKING FACE @@ -41571,17 +44291,22 @@ FFFF 1F61F WORRIED FACE 1F620 ANGRY FACE 1F621 POUTING FACE + * intended to depict pouting rather than simply anger 1F622 CRYING FACE 1F623 PERSEVERING FACE 1F624 FACE WITH LOOK OF TRIUMPH + * indicates triumph, not anger 1F625 DISAPPOINTED BUT RELIEVED FACE 1F626 FROWNING FACE WITH OPEN MOUTH + * frowning, not shocked or surprised 1F627 ANGUISHED FACE 1F628 FEARFUL FACE 1F629 WEARY FACE 1F62A SLEEPY FACE 1F62B TIRED FACE 1F62C GRIMACING FACE + * should not be depicted with zipper mouth + x (zipper-mouth face - 1F910) 1F62D LOUDLY CRYING FACE 1F62E FACE WITH OPEN MOUTH 1F62F HUSHED FACE @@ -41589,6 +44314,7 @@ FFFF 1F631 FACE SCREAMING IN FEAR 1F632 ASTONISHED FACE 1F633 FLUSHED FACE + * embarrassed 1F634 SLEEPING FACE 1F635 DIZZY FACE 1F636 FACE WITHOUT MOUTH @@ -41603,15 +44329,20 @@ FFFF 1F63C CAT FACE WITH WRY SMILE 1F63D KISSING CAT FACE WITH CLOSED EYES 1F63E POUTING CAT FACE + * intended to depict pouting rather than simply anger 1F63F CRYING CAT FACE 1F640 WEARY CAT FACE + * indicates tired, not horrified @ Faces 1F641 SLIGHTLY FROWNING FACE x (white frowning face - 2639) 1F642 SLIGHTLY SMILING FACE x (white smiling face - 263A) +1F643 UPSIDE-DOWN FACE +1F644 FACE WITH ROLLING EYES @ Gesture symbols 1F645 FACE WITH NO GOOD GESTURE + * conveys "no deal" or "not ok", not anger; the inverse of 1F646 face with ok gesture 1F646 FACE WITH OK GESTURE 1F647 PERSON BOWING DEEPLY 1F648 SEE-NO-EVIL MONKEY @@ -41622,11 +44353,13 @@ FFFF = banzai! 1F64D PERSON FROWNING 1F64E PERSON WITH POUTING FACE + * intended to depict pouting rather than simply anger 1F64F PERSON WITH FOLDED HANDS * can indicate sorrow or regret - * can indicate pleading + * can also indicate pleading, praying, bowing, or thanking @@ 1F650 Ornamental Dingbats 1F67F -@ Leaf ornaments +@ Fleurons +@+ Fleurons are leaf or floral-shaped ornaments used for text decoration. 1F650 NORTH WEST POINTING LEAF 1F651 SOUTH WEST POINTING LEAF 1F652 NORTH EAST POINTING LEAF @@ -41635,16 +44368,16 @@ FFFF 1F655 TURNED SOUTH WEST POINTING LEAF 1F656 TURNED NORTH EAST POINTING LEAF 1F657 TURNED SOUTH EAST POINTING LEAF -@ Vine leaf ornaments 1F658 NORTH WEST POINTING VINE LEAF 1F659 SOUTH WEST POINTING VINE LEAF + x (reversed rotated floral heart bullet - 2619) 1F65A NORTH EAST POINTING VINE LEAF 1F65B SOUTH EAST POINTING VINE LEAF + x (rotated floral heart bullet - 2767) 1F65C HEAVY NORTH WEST POINTING VINE LEAF 1F65D HEAVY SOUTH WEST POINTING VINE LEAF 1F65E HEAVY NORTH EAST POINTING VINE LEAF 1F65F HEAVY SOUTH EAST POINTING VINE LEAF -@ Pointing bud ornaments 1F660 NORTH WEST POINTING BUD 1F661 SOUTH WEST POINTING BUD 1F662 NORTH EAST POINTING BUD @@ -41661,6 +44394,7 @@ FFFF 1F66B SOLID QUILT SQUARE ORNAMENT IN BLACK SQUARE = inverse fourfold knot ornament @ Rocket ornaments +@+ The rocket ornaments function similarly to fleurons for text decoration, and are not intended as pictographs for spaceships. 1F66C LEFTWARDS ROCKET x (rocket - 1F680) 1F66D UPWARDS ROCKET @@ -41823,6 +44557,8 @@ FFFF 1F6CE BELLHOP BELL = reception, services 1F6CF BED +@ Signage +1F6D0 PLACE OF WORSHIP @ Miscellaneous symbols 1F6E0 HAMMER AND WRENCH = tools, repair facility @@ -42087,7 +44823,7 @@ FFFF = uncia semis x (ounce sign - 2125) @@ 1F780 Geometric Shapes Extended 1F7FF -@+ These geometric shapes originate from the Webdings/Wingdings collections. +@+ These geometric shapes originate from the Webdings/Wingdings collections. @ Isosceles right triangles 1F780 BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE x (black medium left-pointing triangle - 23F4) @@ -42098,11 +44834,11 @@ FFFF 1F783 BLACK DOWN-POINTING ISOSCELES RIGHT TRIANGLE x (black medium down-pointing triangle - 23F7) @ Black circles -@+ Constitute a set as follows: 22C5, 2219, 1F784, 2022, 2981, 26AB, 25CF, and 2B24 +@+ Constitute a set as follows: 22C5, 2219, 1F784, 2022, 2981, 26AB, 25CF, and 2B24 1F784 BLACK SLIGHTLY SMALL CIRCLE @ White circles -@+ Adjective refers to the thickness of the ring. -@+ Constitute a set as follows: 25CB, 2B58, 1F785..1F789. +@+ Adjective refers to the thickness of the ring. +@+ Constitute a set as follows: 25CB, 2B58, 1F785-1F789. 1F785 MEDIUM BOLD WHITE CIRCLE x (medium white circle - 26AA) 1F786 BOLD WHITE CIRCLE @@ -42111,7 +44847,7 @@ FFFF 1F788 VERY HEAVY WHITE CIRCLE 1F789 EXTREMELY HEAVY WHITE CIRCLE @ White circles containing another black circle -@+ Constitute a set as follows: 2299, 1F78A, and 29BF +@+ Constitute a set as follows: 2299, 1F78A, and 29BF 1F78A WHITE CIRCLE CONTAINING BLACK SMALL CIRCLE @ Target symbol 1F78B ROUND TARGET @@ -42119,11 +44855,11 @@ FFFF x (circled white bullet - 29BE) x (heavy circle with circle inside - 2B57) @ Black squares -@+ Constitute a set as follows: 1F78C, 2B1D, 1F78D, 25AA, 25FE, 25FC, 25A0, and 2B1B +@+ Constitute a set as follows: 1F78C, 2B1D, 1F78D, 25AA, 25FE, 25FC, 25A0, and 2B1B 1F78C BLACK TINY SQUARE 1F78D BLACK SLIGHTLY SMALL SQUARE @ White squares -@+ Constitute a set as follows: 25A1, 1F78E..1F792 +@+ Constitute a set as follows: 25A1, 1F78E-1F793 1F78E LIGHT WHITE SQUARE 1F78F MEDIUM WHITE SQUARE 1F790 BOLD WHITE SQUARE @@ -42132,24 +44868,24 @@ FFFF 1F792 VERY HEAVY WHITE SQUARE 1F793 EXTREMELY HEAVY WHITE SQUARE @ White squares containing another black square -@+ Constitute a set as follows: 1F794, 25A3, and 1F795 +@+ Constitute a set as follows: 1F794, 25A3, and 1F795 1F794 WHITE SQUARE CONTAINING BLACK VERY SMALL SQUARE 1F795 WHITE SQUARE CONTAINING BLACK MEDIUM SQUARE @ Target symbol 1F796 SQUARE TARGET @ Black diamonds -@+ Constitute a set as follows: 1F797, 1F798, 2B29, 1F799, 2B25, and 25C6 +@+ Constitute a set as follows: 1F797, 1F798, 2B29, 1F799, 2B25, and 25C6 1F797 BLACK TINY DIAMOND 1F798 BLACK VERY SMALL DIAMOND 1F799 BLACK MEDIUM SMALL DIAMOND @ White diamonds containing another black diamond -@+ Constitute a set as follows: 1F79A, 25C8, and 1F79B +@+ Constitute a set as follows: 1F79A, 25C8, and 1F79B 1F79A WHITE DIAMOND CONTAINING BLACK VERY SMALL DIAMOND 1F79B WHITE DIAMOND CONTAINING BLACK MEDIUM DIAMOND @ Target symbol 1F79C DIAMOND TARGET -@ Lozenges -@+ Constitute a set as follows: 1F79D, 1F79E, 2B2A, 1F79F, 2B27, 29EB, and 25CA +@ Black lozenges +@+ Constitute a set as follows: 1F79D, 1F79E, 2B2A, 1F79F, 2B27, and 29EB 1F79D BLACK TINY LOZENGE 1F79E BLACK VERY SMALL LOZENGE 1F79F BLACK MEDIUM SMALL LOZENGE @@ -42210,16 +44946,16 @@ FFFF 1F7C8 REVERSE LIGHT FOUR POINTED PINWHEEL STAR = navigate @ Five pointed stars -@+ Constitute a set as follows: 1F7C9, 2605, 1F7CA, and 272F +@+ Constitute a set as follows: 1F7C9, 2605, 1F7CA, and 272F 1F7C9 LIGHT FIVE POINTED BLACK STAR 1F7CA HEAVY FIVE POINTED BLACK STAR @ Six pointed stars -@+ Constitute a set as follows: 2736, 1F7CB..1F7CD +@+ Constitute a set as follows: 2736, 1F7CB-1F7CD 1F7CB MEDIUM SIX POINTED BLACK STAR 1F7CC HEAVY SIX POINTED BLACK STAR 1F7CD SIX POINTED PINWHEEL STAR @ Eight pointed stars -@+ Constitute a set as follows: 2735, 1F7CE..1F7D1 +@+ Constitute a set as follows: 2735, 1F7CE-1F7D1 1F7CE MEDIUM EIGHT POINTED BLACK STAR x (eight pointed rectilinear black star - 2737) 1F7CF HEAVY EIGHT POINTED BLACK STAR @@ -42228,7 +44964,7 @@ FFFF 1F7D1 HEAVY EIGHT POINTED PINWHEEL STAR x (eight pointed pinwheel star - 2735) @ Twelve pointed stars -@+ Constitute a set as follows: 1F7D2, 2739, 1F7D3, and 1F7D4 +@+ Constitute a set as follows: 1F7D2, 2739, 1F7D3, and 1F7D4 1F7D2 LIGHT TWELVE POINTED BLACK STAR 1F7D3 HEAVY TWELVE POINTED BLACK STAR 1F7D4 HEAVY TWELVE POINTED PINWHEEL STAR @@ -42388,7 +45124,7 @@ FFFF x (notched lower right-shadowed white rightwards arrow - 27AF) 1F89B DOWNWARDS ARROW WITH NOTCHED TAIL @ Heavy arrow shafts -@+ The vertical alignment and thickness of this set are compatible with heavy shaft arrows. +@+ The vertical alignment and thickness of this set are compatible with heavy shaft arrows. 1F89C HEAVY ARROW SHAFT WIDTH ONE 1F89D HEAVY ARROW SHAFT WIDTH TWO THIRDS 1F89E HEAVY ARROW SHAFT WIDTH ONE HALF @@ -42411,9 +45147,36 @@ FFFF 1F8AB RIGHTWARDS FRONT-TILTED SHADOWED WHITE ARROW x (front-tilted shadowed white rightwards arrow - 27AC) @ White arrow shafts -@+ The vertical alignment and thickness of this set are compatible with white arrows. +@+ The vertical alignment and thickness of this set are compatible with white arrows. 1F8AC WHITE ARROW SHAFT WIDTH ONE 1F8AD WHITE ARROW SHAFT WIDTH TWO THIRDS +@@ 1F900 Supplemental Symbols and Pictographs 1F9FF +@ Emoticon faces +1F910 ZIPPER-MOUTH FACE +1F911 MONEY-MOUTH FACE +1F912 FACE WITH THERMOMETER +1F913 NERD FACE +1F914 THINKING FACE +1F915 FACE WITH HEAD-BANDAGE +1F916 ROBOT FACE + x (alien monster - 1F47E) +1F917 HUGGING FACE +@ Hand symbol +1F918 SIGN OF THE HORNS +@ Animal symbols +1F980 CRAB + * used for Cancer + x (cancer - 264B) +1F981 LION FACE + * used for Leo + x (leo - 264C) +1F982 SCORPION + * used for Scorpio + x (scorpius - 264F) +1F983 TURKEY +1F984 UNICORN FACE +@ Food symbol +1F9C0 CHEESE WEDGE @@ 1FF80 Unassigned 1FFFF @ Noncharacters @+ These codes are intended for process-internal uses. @@ -42422,6 +45185,7 @@ FFFF @@ 20000 CJK Unified Ideographs Extension B 2A6D6 @@ 2A700 CJK Unified Ideographs Extension C 2B734 @@ 2B740 CJK Unified Ideographs Extension D 2B81D +@@ 2B820 CJK Unified Ideographs Extension E 2CEA1 @@ 2F800 CJK Compatibility Ideographs Supplement 2FA1F @ Duplicate characters from CNS 11643-1992 2F800 CJK COMPATIBILITY IDEOGRAPH-2F800 @@ -43581,9 +46345,10 @@ CFFFF DFFFE DFFFF @@ E0000 Tags E007F -@+ Tag characters are deprecated, and their use is strongly discouraged. +@+ The use of tag characters to convey language tags is strongly discouraged. @ Tag identifiers E0001 LANGUAGE TAG + * This character is deprecated, and its use is strongly discouraged. @ Tag components E0020 TAG SPACE E0021 TAG EXCLAMATION MARK @@ -43680,7 +46445,9 @@ E007B TAG LEFT CURLY BRACKET E007C TAG VERTICAL LINE E007D TAG RIGHT CURLY BRACKET E007E TAG TILDE +@ Stateful tag terminator E007F CANCEL TAG + * This character is deprecated, and its use is strongly discouraged. @@ E0100 Variation Selectors Supplement E01EF @+ These complete the set started at FE00 to FE0F @ Variation selectors diff --git a/lib/unicore/NormalizationCorrections.txt b/lib/unicore/NormalizationCorrections.txt index 79c77da..04fc10d 100644 --- a/lib/unicore/NormalizationCorrections.txt +++ b/lib/unicore/NormalizationCorrections.txt @@ -1,10 +1,10 @@ -# NormalizationCorrections-7.0.0.txt -# Date: 2013-12-17, 00:00:00 GMT [KW, LI] +# NormalizationCorrections-8.0.0.txt +# Date: 2015-03-07, 01:30:00 GMT [KW, LI] # # This file is a normative contributory data file in the # Unicode Character Database. # -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # # The normalization stability policy of the Unicode Consortium diff --git a/lib/unicore/PropList.txt b/lib/unicore/PropList.txt index 82f650d..2eb2926 100644 --- a/lib/unicore/PropList.txt +++ b/lib/unicore/PropList.txt @@ -1,8 +1,8 @@ -# PropList-7.0.0.txt -# Date: 2014-02-19, 15:51:26 GMT [MD] +# PropList-8.0.0.txt +# Date: 2015-05-16, 17:50:38 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ @@ -189,18 +189,22 @@ FF64 ; Terminal_Punctuation # Po HALFWIDTH IDEOGRAPHIC COMMA 11141..11143 ; Terminal_Punctuation # Po [3] CHAKMA DANDA..CHAKMA QUESTION MARK 111C5..111C6 ; Terminal_Punctuation # Po [2] SHARADA DANDA..SHARADA DOUBLE DANDA 111CD ; Terminal_Punctuation # Po SHARADA SUTRA MARK +111DE..111DF ; Terminal_Punctuation # Po [2] SHARADA SECTION MARK-1..SHARADA SECTION MARK-2 11238..1123C ; Terminal_Punctuation # Po [5] KHOJKI DANDA..KHOJKI DOUBLE SECTION MARK +112A9 ; Terminal_Punctuation # Po MULTANI SECTION MARK 115C2..115C5 ; Terminal_Punctuation # Po [4] SIDDHAM DANDA..SIDDHAM SEPARATOR BAR -115C9 ; Terminal_Punctuation # Po SIDDHAM END OF TEXT MARK +115C9..115D7 ; Terminal_Punctuation # Po [15] SIDDHAM END OF TEXT MARK..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES 11641..11642 ; Terminal_Punctuation # Po [2] MODI DANDA..MODI DOUBLE DANDA +1173C..1173E ; Terminal_Punctuation # Po [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI 12470..12474 ; Terminal_Punctuation # Po [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON 16A6E..16A6F ; Terminal_Punctuation # Po [2] MRO DANDA..MRO DOUBLE DANDA 16AF5 ; Terminal_Punctuation # Po BASSA VAH FULL STOP 16B37..16B39 ; Terminal_Punctuation # Po [3] PAHAWH HMONG SIGN VOS THOM..PAHAWH HMONG SIGN CIM CHEEM 16B44 ; Terminal_Punctuation # Po PAHAWH HMONG SIGN XAUS 1BC9F ; Terminal_Punctuation # Po DUPLOYAN PUNCTUATION CHINOOK FULL STOP +1DA87..1DA8A ; Terminal_Punctuation # Po [4] SIGNWRITING COMMA..SIGNWRITING COLON -# Total code points: 214 +# Total code points: 238 # ================================================ @@ -425,7 +429,7 @@ FF41..FF46 ; Hex_Digit # L& [6] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH L 081B..0823 ; Other_Alphabetic # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A 0825..0827 ; Other_Alphabetic # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U 0829..082C ; Other_Alphabetic # Mn [4] SAMARITAN VOWEL SIGN LONG I..SAMARITAN VOWEL SIGN SUKUN -08E4..08E9 ; Other_Alphabetic # Mn [6] ARABIC CURLY FATHA..ARABIC CURLY KASRATAN +08E3..08E9 ; Other_Alphabetic # Mn [7] ARABIC TURNED DAMMA BELOW..ARABIC CURLY KASRATAN 08F0..0902 ; Other_Alphabetic # Mn [19] ARABIC OPEN FATHATAN..DEVANAGARI SIGN ANUSVARA 0903 ; Other_Alphabetic # Mc DEVANAGARI SIGN VISARGA 093A ; Other_Alphabetic # Mn DEVANAGARI VOWEL SIGN OE @@ -560,8 +564,6 @@ FF41..FF46 ; Hex_Digit # L& [6] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH L 1930..1931 ; Other_Alphabetic # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA 1932 ; Other_Alphabetic # Mn LIMBU SMALL LETTER ANUSVARA 1933..1938 ; Other_Alphabetic # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA -19B0..19C0 ; Other_Alphabetic # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY -19C8..19C9 ; Other_Alphabetic # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 1A17..1A18 ; Other_Alphabetic # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U 1A19..1A1A ; Other_Alphabetic # Mc [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O 1A1B ; Other_Alphabetic # Mn BUGINESE VOWEL SIGN AE @@ -605,7 +607,7 @@ FF41..FF46 ; Hex_Digit # L& [6] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH L 24B6..24E9 ; Other_Alphabetic # So [52] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN SMALL LETTER Z 2DE0..2DFF ; Other_Alphabetic # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS A674..A67B ; Other_Alphabetic # Mn [8] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC LETTER OMEGA -A69F ; Other_Alphabetic # Mn COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F ; Other_Alphabetic # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E A823..A824 ; Other_Alphabetic # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I A825..A826 ; Other_Alphabetic # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E A827 ; Other_Alphabetic # Mc SYLOTI NAGRI VOWEL SIGN OO @@ -672,7 +674,7 @@ FB1E ; Other_Alphabetic # Mn HEBREW POINT JUDEO-SPANISH VARIKA 112DF ; Other_Alphabetic # Mn KHUDAWADI SIGN ANUSVARA 112E0..112E2 ; Other_Alphabetic # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II 112E3..112E8 ; Other_Alphabetic # Mn [6] KHUDAWADI VOWEL SIGN U..KHUDAWADI VOWEL SIGN AU -11301 ; Other_Alphabetic # Mn GRANTHA SIGN CANDRABINDU +11300..11301 ; Other_Alphabetic # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 11302..11303 ; Other_Alphabetic # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA 1133E..1133F ; Other_Alphabetic # Mc [2] GRANTHA VOWEL SIGN AA..GRANTHA VOWEL SIGN I 11340 ; Other_Alphabetic # Mn GRANTHA VOWEL SIGN II @@ -693,6 +695,7 @@ FB1E ; Other_Alphabetic # Mn HEBREW POINT JUDEO-SPANISH VARIKA 115B8..115BB ; Other_Alphabetic # Mc [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU 115BC..115BD ; Other_Alphabetic # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 115BE ; Other_Alphabetic # Mc SIDDHAM SIGN VISARGA +115DC..115DD ; Other_Alphabetic # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11630..11632 ; Other_Alphabetic # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II 11633..1163A ; Other_Alphabetic # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI 1163B..1163C ; Other_Alphabetic # Mc [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU @@ -704,6 +707,11 @@ FB1E ; Other_Alphabetic # Mn HEBREW POINT JUDEO-SPANISH VARIKA 116AD ; Other_Alphabetic # Mn TAKRI VOWEL SIGN AA 116AE..116AF ; Other_Alphabetic # Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II 116B0..116B5 ; Other_Alphabetic # Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU +1171D..1171F ; Other_Alphabetic # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11720..11721 ; Other_Alphabetic # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11722..11725 ; Other_Alphabetic # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11726 ; Other_Alphabetic # Mc AHOM VOWEL SIGN E +11727..1172A ; Other_Alphabetic # Mn [4] AHOM VOWEL SIGN AW..AHOM VOWEL SIGN AM 16B30..16B36 ; Other_Alphabetic # Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM 16F51..16F7E ; Other_Alphabetic # Mc [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG 1BC9E ; Other_Alphabetic # Mn DUPLOYAN DOUBLE MARK @@ -720,15 +728,16 @@ FB1E ; Other_Alphabetic # Mn HEBREW POINT JUDEO-SPANISH VARIKA 3021..3029 ; Ideographic # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE 3038..303A ; Ideographic # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY 3400..4DB5 ; Ideographic # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 -4E00..9FCC ; Ideographic # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC +4E00..9FD5 ; Ideographic # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 F900..FA6D ; Ideographic # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D FA70..FAD9 ; Ideographic # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9 20000..2A6D6 ; Ideographic # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 2A700..2B734 ; Ideographic # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 2B740..2B81D ; Ideographic # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D +2B820..2CEA1 ; Ideographic # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 2F800..2FA1D ; Ideographic # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D -# Total code points: 75633 +# Total code points: 81404 # ================================================ @@ -773,7 +782,7 @@ FA70..FAD9 ; Ideographic # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COM 07EB..07F3 ; Diacritic # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE 07F4..07F5 ; Diacritic # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE 0818..0819 ; Diacritic # Mn [2] SAMARITAN MARK OCCLUSION..SAMARITAN MARK DAGESH -08E4..08FE ; Diacritic # Mn [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT +08E3..08FE ; Diacritic # Mn [28] ARABIC TURNED DAMMA BELOW..ARABIC DAMMA WITH DOT 093C ; Diacritic # Mn DEVANAGARI SIGN NUKTA 094D ; Diacritic # Mn DEVANAGARI SIGN VIRAMA 0951..0954 ; Diacritic # Mn [4] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI ACUTE ACCENT @@ -877,7 +886,7 @@ AB5C..AB5F ; Diacritic # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER ABEC ; Diacritic # Mc MEETEI MAYEK LUM IYEK ABED ; Diacritic # Mn MEETEI MAYEK APUN IYEK FB1E ; Diacritic # Mn HEBREW POINT JUDEO-SPANISH VARIKA -FE20..FE2D ; Diacritic # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW +FE20..FE2F ; Diacritic # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF FF3E ; Diacritic # Sk FULLWIDTH CIRCUMFLEX ACCENT FF40 ; Diacritic # Sk FULLWIDTH GRAVE ACCENT FF70 ; Diacritic # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK @@ -889,6 +898,7 @@ FFE3 ; Diacritic # Sk FULLWIDTH MACRON 11133..11134 ; Diacritic # Mn [2] CHAKMA VIRAMA..CHAKMA MAAYYAA 11173 ; Diacritic # Mn MAHAJANI SIGN NUKTA 111C0 ; Diacritic # Mc SHARADA SIGN VIRAMA +111CA..111CC ; Diacritic # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK 11235 ; Diacritic # Mc KHOJKI SIGN VIRAMA 11236 ; Diacritic # Mn KHOJKI SIGN NUKTA 112E9..112EA ; Diacritic # Mn [2] KHUDAWADI SIGN NUKTA..KHUDAWADI SIGN VIRAMA @@ -901,6 +911,7 @@ FFE3 ; Diacritic # Sk FULLWIDTH MACRON 1163F ; Diacritic # Mn MODI SIGN VIRAMA 116B6 ; Diacritic # Mc TAKRI SIGN VIRAMA 116B7 ; Diacritic # Mn TAKRI SIGN NUKTA +1172B ; Diacritic # Mn AHOM SIGN KILLER 16AF0..16AF4 ; Diacritic # Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE 16F8F..16F92 ; Diacritic # Mn [4] MIAO TONE RIGHT..MIAO TONE BELOW 16F93..16F9F ; Diacritic # Lm [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8 @@ -911,7 +922,7 @@ FFE3 ; Diacritic # Sk FULLWIDTH MACRON 1D1AA..1D1AD ; Diacritic # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO 1E8D0..1E8D6 ; Diacritic # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS -# Total code points: 766 +# Total code points: 773 # ================================================ @@ -1053,7 +1064,7 @@ FF9E..FF9F ; Other_Grapheme_Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND # ================================================ 3400..4DB5 ; Unified_Ideograph # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 -4E00..9FCC ; Unified_Ideograph # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC +4E00..9FD5 ; Unified_Ideograph # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 FA0E..FA0F ; Unified_Ideograph # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA0E..CJK COMPATIBILITY IDEOGRAPH-FA0F FA11 ; Unified_Ideograph # Lo CJK COMPATIBILITY IDEOGRAPH-FA11 FA13..FA14 ; Unified_Ideograph # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA13..CJK COMPATIBILITY IDEOGRAPH-FA14 @@ -1064,8 +1075,9 @@ FA27..FA29 ; Unified_Ideograph # Lo [3] CJK COMPATIBILITY IDEOGRAPH-FA27..C 20000..2A6D6 ; Unified_Ideograph # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 2A700..2B734 ; Unified_Ideograph # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 2B740..2B81D ; Unified_Ideograph # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D +2B820..2CEA1 ; Unified_Ideograph # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 -# Total code points: 74617 +# Total code points: 80388 # ================================================ @@ -1094,9 +1106,9 @@ E01F0..E0FFF ; Other_Default_Ignorable_Code_Point # Cn [3600] . 2329 ; Deprecated # Ps LEFT-POINTING ANGLE BRACKET 232A ; Deprecated # Pe RIGHT-POINTING ANGLE BRACKET E0001 ; Deprecated # Cf LANGUAGE TAG -E0020..E007F ; Deprecated # Cf [96] TAG SPACE..CANCEL TAG +E007F ; Deprecated # Cf CANCEL TAG -# Total code points: 111 +# Total code points: 16 # ================================================ @@ -1138,11 +1150,13 @@ E0020..E007F ; Deprecated # Cf [96] TAG SPACE..CANCEL TAG 0E40..0E44 ; Logical_Order_Exception # Lo [5] THAI CHARACTER SARA E..THAI CHARACTER SARA AI MAIMALAI 0EC0..0EC4 ; Logical_Order_Exception # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI +19B5..19B7 ; Logical_Order_Exception # Lo [3] NEW TAI LUE VOWEL SIGN E..NEW TAI LUE VOWEL SIGN O +19BA ; Logical_Order_Exception # Lo NEW TAI LUE VOWEL SIGN AY AAB5..AAB6 ; Logical_Order_Exception # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O AAB9 ; Logical_Order_Exception # Lo TAI VIET VOWEL UEA AABB..AABC ; Logical_Order_Exception # Lo [2] TAI VIET VOWEL AUE..TAI VIET VOWEL AY -# Total code points: 15 +# Total code points: 19 # ================================================ @@ -1213,18 +1227,22 @@ FF61 ; STerm # Po HALFWIDTH IDEOGRAPHIC FULL STOP 11141..11143 ; STerm # Po [3] CHAKMA DANDA..CHAKMA QUESTION MARK 111C5..111C6 ; STerm # Po [2] SHARADA DANDA..SHARADA DOUBLE DANDA 111CD ; STerm # Po SHARADA SUTRA MARK +111DE..111DF ; STerm # Po [2] SHARADA SECTION MARK-1..SHARADA SECTION MARK-2 11238..11239 ; STerm # Po [2] KHOJKI DANDA..KHOJKI DOUBLE DANDA 1123B..1123C ; STerm # Po [2] KHOJKI SECTION MARK..KHOJKI DOUBLE SECTION MARK +112A9 ; STerm # Po MULTANI SECTION MARK 115C2..115C3 ; STerm # Po [2] SIDDHAM DANDA..SIDDHAM DOUBLE DANDA -115C9 ; STerm # Po SIDDHAM END OF TEXT MARK +115C9..115D7 ; STerm # Po [15] SIDDHAM END OF TEXT MARK..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES 11641..11642 ; STerm # Po [2] MODI DANDA..MODI DOUBLE DANDA +1173C..1173E ; STerm # Po [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI 16A6E..16A6F ; STerm # Po [2] MRO DANDA..MRO DOUBLE DANDA 16AF5 ; STerm # Po BASSA VAH FULL STOP 16B37..16B38 ; STerm # Po [2] PAHAWH HMONG SIGN VOS THOM..PAHAWH HMONG SIGN VOS TSHAB CEEB 16B44 ; STerm # Po PAHAWH HMONG SIGN XAUS 1BC9F ; STerm # Po DUPLOYAN PUNCTUATION CHINOOK FULL STOP +1DA88 ; STerm # Po SIGNWRITING FULL STOP -# Total code points: 99 +# Total code points: 120 # ================================================ @@ -1432,7 +1450,9 @@ E0100..E01EF ; Variation_Selector # Mn [240] VARIATION SELECTOR-17..VARIATION S 2BBD..2BC8 ; Pattern_Syntax # So [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED 2BC9 ; Pattern_Syntax # Cn 2BCA..2BD1 ; Pattern_Syntax # So [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN -2BD2..2BFF ; Pattern_Syntax # Cn [46] .. +2BD2..2BEB ; Pattern_Syntax # Cn [26] .. +2BEC..2BEF ; Pattern_Syntax # So [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS +2BF0..2BFF ; Pattern_Syntax # Cn [16] .. 2E00..2E01 ; Pattern_Syntax # Po [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER 2E02 ; Pattern_Syntax # Pi LEFT SUBSTITUTION BRACKET 2E03 ; Pattern_Syntax # Pf RIGHT SUBSTITUTION BRACKET diff --git a/lib/unicore/PropValueAliases.txt b/lib/unicore/PropValueAliases.txt index bf1e2eb..5957446 100644 --- a/lib/unicore/PropValueAliases.txt +++ b/lib/unicore/PropValueAliases.txt @@ -1,8 +1,8 @@ -# PropertyValueAliases-7.0.0.txt -# Date: 2014-05-14, 23:55:16 GMT [MD] +# PropertyValueAliases-8.0.0.txt +# Date: 2015-03-11, 22:29:33 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ # @@ -77,6 +77,7 @@ age; 6.1 ; V6_1 age; 6.2 ; V6_2 age; 6.3 ; V6_3 age; 7.0 ; V7_0 +age; 8.0 ; V8_0 age; NA ; Unassigned # Alphabetic (Alpha) @@ -138,8 +139,10 @@ bpt; o ; Open # Block (blk) blk; Aegean_Numbers ; Aegean_Numbers +blk; Ahom ; Ahom blk; Alchemical ; Alchemical_Symbols blk; Alphabetic_PF ; Alphabetic_Presentation_Forms +blk; Anatolian_Hieroglyphs ; Anatolian_Hieroglyphs blk; Ancient_Greek_Music ; Ancient_Greek_Musical_Notation blk; Ancient_Greek_Numbers ; Ancient_Greek_Numbers blk; Ancient_Symbols ; Ancient_Symbols @@ -173,6 +176,7 @@ blk; Caucasian_Albanian ; Caucasian_Albanian blk; Chakma ; Chakma blk; Cham ; Cham blk; Cherokee ; Cherokee +blk; Cherokee_Sup ; Cherokee_Supplement blk; CJK ; CJK_Unified_Ideographs blk; CJK_Compat ; CJK_Compatibility blk; CJK_Compat_Forms ; CJK_Compatibility_Forms @@ -182,6 +186,7 @@ blk; CJK_Ext_A ; CJK_Unified_Ideographs_Extension_A blk; CJK_Ext_B ; CJK_Unified_Ideographs_Extension_B blk; CJK_Ext_C ; CJK_Unified_Ideographs_Extension_C blk; CJK_Ext_D ; CJK_Unified_Ideographs_Extension_D +blk; CJK_Ext_E ; CJK_Unified_Ideographs_Extension_E blk; CJK_Radicals_Sup ; CJK_Radicals_Supplement blk; CJK_Strokes ; CJK_Strokes blk; CJK_Symbols ; CJK_Symbols_And_Punctuation @@ -208,6 +213,7 @@ blk; Diacriticals_Sup ; Combining_Diacritical_Marks_Supplement blk; Dingbats ; Dingbats blk; Domino ; Domino_Tiles blk; Duployan ; Duployan +blk; Early_Dynastic_Cuneiform ; Early_Dynastic_Cuneiform blk; Egyptian_Hieroglyphs ; Egyptian_Hieroglyphs blk; Elbasan ; Elbasan blk; Emoticons ; Emoticons @@ -234,6 +240,7 @@ blk; Half_And_Full_Forms ; Halfwidth_And_Fullwidth_Forms blk; Half_Marks ; Combining_Half_Marks blk; Hangul ; Hangul_Syllables blk; Hanunoo ; Hanunoo +blk; Hatran ; Hatran blk; Hebrew ; Hebrew blk; High_PU_Surrogates ; High_Private_Use_Surrogates blk; High_Surrogates ; High_Surrogates @@ -303,6 +310,7 @@ blk; Modifier_Letters ; Spacing_Modifier_Letters blk; Modifier_Tone_Letters ; Modifier_Tone_Letters blk; Mongolian ; Mongolian blk; Mro ; Mro +blk; Multani ; Multani blk; Music ; Musical_Symbols blk; Myanmar ; Myanmar blk; Myanmar_Ext_A ; Myanmar_Extended_A @@ -315,6 +323,7 @@ blk; Number_Forms ; Number_Forms blk; OCR ; Optical_Character_Recognition blk; Ogham ; Ogham blk; Ol_Chiki ; Ol_Chiki +blk; Old_Hungarian ; Old_Hungarian blk; Old_Italic ; Old_Italic blk; Old_North_Arabian ; Old_North_Arabian blk; Old_Permic ; Old_Permic @@ -359,7 +368,9 @@ blk; Sup_Math_Operators ; Supplemental_Mathematical_Operators blk; Sup_PUA_A ; Supplementary_Private_Use_Area_A blk; Sup_PUA_B ; Supplementary_Private_Use_Area_B blk; Sup_Punctuation ; Supplemental_Punctuation +blk; Sup_Symbols_And_Pictographs ; Supplemental_Symbols_And_Pictographs blk; Super_And_Sub ; Superscripts_And_Subscripts +blk; Sutton_SignWriting ; Sutton_SignWriting blk; Syloti_Nagri ; Syloti_Nagri blk; Syriac ; Syriac blk; Tagalog ; Tagalog @@ -709,22 +720,22 @@ IDS; Y ; Yes ; T Ideo; N ; No ; F ; False Ideo; Y ; Yes ; T ; True -# Indic_Matra_Category (InMC) - -InMC; Bottom ; Bottom -InMC; Bottom_And_Right ; Bottom_And_Right -InMC; Left ; Left -InMC; Left_And_Right ; Left_And_Right -InMC; NA ; NA -InMC; Overstruck ; Overstruck -InMC; Right ; Right -InMC; Top ; Top -InMC; Top_And_Bottom ; Top_And_Bottom -InMC; Top_And_Bottom_And_Right ; Top_And_Bottom_And_Right -InMC; Top_And_Left ; Top_And_Left -InMC; Top_And_Left_And_Right ; Top_And_Left_And_Right -InMC; Top_And_Right ; Top_And_Right -InMC; Visual_Order_Left ; Visual_Order_Left +# Indic_Positional_Category (InPC) + +InPC; Bottom ; Bottom +InPC; Bottom_And_Right ; Bottom_And_Right +InPC; Left ; Left +InPC; Left_And_Right ; Left_And_Right +InPC; NA ; NA +InPC; Overstruck ; Overstruck +InPC; Right ; Right +InPC; Top ; Top +InPC; Top_And_Bottom ; Top_And_Bottom +InPC; Top_And_Bottom_And_Right ; Top_And_Bottom_And_Right +InPC; Top_And_Left ; Top_And_Left +InPC; Top_And_Left_And_Right ; Top_And_Left_And_Right +InPC; Top_And_Right ; Top_And_Right +InPC; Visual_Order_Left ; Visual_Order_Left # Indic_Syllabic_Category (InSC) @@ -736,11 +747,14 @@ InSC; Consonant ; Consonant InSC; Consonant_Dead ; Consonant_Dead InSC; Consonant_Final ; Consonant_Final InSC; Consonant_Head_Letter ; Consonant_Head_Letter +InSC; Consonant_Killer ; Consonant_Killer InSC; Consonant_Medial ; Consonant_Medial InSC; Consonant_Placeholder ; Consonant_Placeholder InSC; Consonant_Preceding_Repha ; Consonant_Preceding_Repha +InSC; Consonant_Prefixed ; Consonant_Prefixed InSC; Consonant_Subjoined ; Consonant_Subjoined InSC; Consonant_Succeeding_Repha ; Consonant_Succeeding_Repha +InSC; Consonant_With_Stacker ; Consonant_With_Stacker InSC; Gemination_Mark ; Gemination_Mark InSC; Invisible_Stacker ; Invisible_Stacker InSC; Joiner ; Joiner @@ -752,6 +766,7 @@ InSC; Number_Joiner ; Number_Joiner InSC; Other ; Other InSC; Pure_Killer ; Pure_Killer InSC; Register_Shifter ; Register_Shifter +InSC; Syllable_Modifier ; Syllable_Modifier InSC; Tone_Letter ; Tone_Letter InSC; Tone_Mark ; Tone_Mark InSC; Virama ; Virama @@ -1099,6 +1114,7 @@ STerm; Y ; Yes ; T # Script (sc) sc ; Aghb ; Caucasian_Albanian +sc ; Ahom ; Ahom sc ; Arab ; Arabic sc ; Armi ; Imperial_Aramaic sc ; Armn ; Armenian @@ -1137,10 +1153,13 @@ sc ; Guru ; Gurmukhi sc ; Hang ; Hangul sc ; Hani ; Han sc ; Hano ; Hanunoo +sc ; Hatr ; Hatran sc ; Hebr ; Hebrew sc ; Hira ; Hiragana +sc ; Hluw ; Anatolian_Hieroglyphs sc ; Hmng ; Pahawh_Hmong sc ; Hrkt ; Katakana_Or_Hiragana +sc ; Hung ; Old_Hungarian sc ; Ital ; Old_Italic sc ; Java ; Javanese sc ; Kali ; Kayah_Li @@ -1171,6 +1190,7 @@ sc ; Modi ; Modi sc ; Mong ; Mongolian sc ; Mroo ; Mro sc ; Mtei ; Meetei_Mayek +sc ; Mult ; Multani sc ; Mymr ; Myanmar sc ; Narb ; Old_North_Arabian sc ; Nbat ; Nabataean @@ -1194,6 +1214,7 @@ sc ; Runr ; Runic sc ; Samr ; Samaritan sc ; Sarb ; Old_South_Arabian sc ; Saur ; Saurashtra +sc ; Sgnw ; SignWriting sc ; Shaw ; Shavian sc ; Shrd ; Sharada sc ; Sidd ; Siddham diff --git a/lib/unicore/PropertyAliases.txt b/lib/unicore/PropertyAliases.txt index 4f0cd2e..18dff71 100644 --- a/lib/unicore/PropertyAliases.txt +++ b/lib/unicore/PropertyAliases.txt @@ -1,8 +1,8 @@ -# PropertyAliases-7.0.0.txt -# Date: 2013-11-27, 09:54:44 GMT [MD] +# PropertyAliases-8.0.0.txt +# Date: 2015-02-14, 10:26:09 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2013 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ # @@ -111,7 +111,7 @@ ea ; East_Asian_Width gc ; General_Category GCB ; Grapheme_Cluster_Break hst ; Hangul_Syllable_Type -InMC ; Indic_Matra_Category +InPC ; Indic_Positional_Category InSC ; Indic_Syllabic_Category jg ; Joining_Group jt ; Joining_Type diff --git a/lib/unicore/ReadMe.txt b/lib/unicore/ReadMe.txt index 9925915..fc4a904 100644 --- a/lib/unicore/ReadMe.txt +++ b/lib/unicore/ReadMe.txt @@ -1,7 +1,7 @@ -# Date: 2014-06-12, 20:18:00 GMT [KW] +# Date: 2015-06-16, 20:24:00 GMT [KW] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # # For documentation, see the following: @@ -9,9 +9,9 @@ # UAX #38, "Unicode Han Database (Unihan)" # UAX #44, "Unicode Character Database." # -# The UAXes can be accessed at http://www.unicode.org/versions/Unicode7.0.0/ +# The UAXes can be accessed at http://www.unicode.org/versions/Unicode8.0.0/ This directory contains the final data files -for the Unicode Character Database, for Version 7.0.0 of the Unicode +for the Unicode Character Database, for Version 8.0.0 of the Unicode Standard. diff --git a/lib/unicore/ScriptExtensions.txt b/lib/unicore/ScriptExtensions.txt index cf19923..b0cda87 100644 --- a/lib/unicore/ScriptExtensions.txt +++ b/lib/unicore/ScriptExtensions.txt @@ -1,16 +1,19 @@ -# ScriptExtensions-7.0.0.txt -# Date: 2014-05-15, 00:11:35 GMT [MD] +# ScriptExtensions-8.0.0.txt +# Date: 2015-05-14, 22:31:55 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ +# # The Script_Extensions property indicates which characters are commonly used # with more than one script, but with a limited number of scripts. # For each code point, there is one or more property values. Each such value is a Script property value. # For more information, see: -# UAX #24: http://www.unicode.org/reports/tr24/ and -# UAX #44: http://www.unicode.org/reports/tr44/ +# UAX #24, Unicode Script Property: http://www.unicode.org/reports/tr24/ +# Especially the sections: +# http://www.unicode.org/reports/tr24/#Assignment_Script_Values +# http://www.unicode.org/reports/tr24/#Assignment_ScriptX_Values # # Each Script_Extensions value in this file consists of a set # of one or more abbreviated Script property values. The ordering of the @@ -24,7 +27,6 @@ # Following each distinct Script_Extensions value is the list of code # points associated with that value, listed in code point order. # -# # All code points not explicitly listed for Script_Extensions # have as their value the corresponding Script property value # @@ -38,16 +40,19 @@ # Script_Extensions=Deva -1CD0..1CD2 ; Deva # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA -1CD4..1CE0 ; Deva # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA +1CD1 ; Deva # Mn VEDIC TONE SHARA +1CD4..1CD6 ; Deva # Mn [3] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE YAJURVEDIC INDEPENDENT SVARITA +1CD8 ; Deva # Mn VEDIC TONE CANDRA BELOW +1CDB ; Deva # Mn VEDIC TONE TRIPLE SVARITA +1CDE..1CDF ; Deva # Mn [2] VEDIC TONE TWO DOTS BELOW..VEDIC TONE THREE DOTS BELOW 1CE1 ; Deva # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA 1CE2..1CE8 ; Deva # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL +1CE9..1CEC ; Deva # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL 1CED ; Deva # Mn VEDIC SIGN TIRYAK -1CF2..1CF3 ; Deva # Mc [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA -1CF4 ; Deva # Mn VEDIC TONE CANDRA ABOVE -1CF8..1CF9 ; Deva # Mn [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE +1CEE..1CF1 ; Deva # Lo [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA +1CF6 ; Deva # Lo VEDIC SIGN UPADHMANIYA -# Total code points: 30 +# Total code points: 26 # ================================================ @@ -69,6 +74,14 @@ # ================================================ +# Script_Extensions=Hani + +1D360..1D371 ; Hani # No [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE + +# Total code points: 18 + +# ================================================ + # Script_Extensions=Latn 0363..036F ; Latn # Mn [13] COMBINING LATIN SMALL LETTER A..COMBINING LATIN SMALL LETTER X @@ -139,6 +152,15 @@ A9CF ; Bugi Java # Lm JAVANESE PANGRANGKEP # ================================================ +# Script_Extensions=Cyrl Glag + +0487 ; Cyrl Glag # Mn COMBINING CYRILLIC POKRYTIE +A66F ; Cyrl Glag # Mn COMBINING CYRILLIC VZMET + +# Total code points: 2 + +# ================================================ + # Script_Extensions=Cyrl Latn 0485..0486 ; Cyrl Latn # Mn [2] COMBINING CYRILLIC DASIA PNEUMATA..COMBINING CYRILLIC PSILI PNEUMATA @@ -147,11 +169,62 @@ A9CF ; Bugi Java # Lm JAVANESE PANGRANGKEP # ================================================ -# Script_Extensions=Deva Latn +# Script_Extensions=Cyrl Perm -0951..0952 ; Deva Latn # Mn [2] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI STRESS SIGN ANUDATTA +0483 ; Cyrl Perm # Mn COMBINING CYRILLIC TITLO -# Total code points: 2 +# Total code points: 1 + +# ================================================ + +# Script_Extensions=Deva Gran + +1CD0 ; Deva Gran # Mn VEDIC TONE KARSHANA +1CD2 ; Deva Gran # Mn VEDIC TONE PRENKHA +1CD3 ; Deva Gran # Po VEDIC SIGN NIHSHVASA +1CF2..1CF3 ; Deva Gran # Mc [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA +1CF4 ; Deva Gran # Mn VEDIC TONE CANDRA ABOVE +1CF8..1CF9 ; Deva Gran # Mn [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE + +# Total code points: 8 + +# ================================================ + +# Script_Extensions=Deva Knda + +1CF5 ; Deva Knda # Lo VEDIC SIGN JIHVAMULIYA + +# Total code points: 1 + +# ================================================ + +# Script_Extensions=Deva Shrd + +1CD7 ; Deva Shrd # Mn VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA +1CD9 ; Deva Shrd # Mn VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER +1CDC..1CDD ; Deva Shrd # Mn [2] VEDIC TONE KATHAKA ANUDATTA..VEDIC TONE DOT BELOW +1CE0 ; Deva Shrd # Mn VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA + +# Total code points: 5 + +# ================================================ + +# Script_Extensions=Deva Taml + +A8F3 ; Deva Taml # Lo DEVANAGARI SIGN CANDRABINDU VIRAMA + +# Total code points: 1 + +# ================================================ + +# Script_Extensions=Gran Taml + +0BAA ; Gran Taml # Lo TAMIL LETTER PA +0BB5 ; Gran Taml # Lo TAMIL LETTER VA +0BE6..0BEF ; Gran Taml # Nd [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE +0BF0..0BF2 ; Gran Taml # No [3] TAMIL NUMBER TEN..TAMIL NUMBER ONE THOUSAND + +# Total code points: 15 # ================================================ @@ -163,6 +236,14 @@ A9CF ; Bugi Java # Lm JAVANESE PANGRANGKEP # ================================================ +# Script_Extensions=Guru Mult + +0A66..0A6F ; Guru Mult # Nd [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE + +# Total code points: 10 + +# ================================================ + # Script_Extensions=Hira Kana 3031..3035 ; Hira Kana # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF @@ -212,6 +293,14 @@ FF9E..FF9F ; Hira Kana # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFW # ================================================ +# Script_Extensions=Deva Gran Latn + +20F0 ; Deva Gran Latn # Mn COMBINING ASTERISK ABOVE + +# Total code points: 1 + +# ================================================ + # Script_Extensions=Deva Kthi Mahj 0966..096F ; Deva Kthi Mahj # Nd [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE @@ -282,6 +371,14 @@ FE45..FE46 ; Bopo Hang Hani Hira Kana # Po [2] SESAME DOT..WHITE SESAME DOT # ================================================ +# Script_Extensions=Deva Knda Mlym Taml Telu + +1CDA ; Deva Knda Mlym Taml Telu # Mn VEDIC TONE DOUBLE SVARITA + +# Total code points: 1 + +# ================================================ + # Script_Extensions=Bopo Hang Hani Hira Kana Yiii 3001..3002 ; Bopo Hang Hani Hira Kana Yiii # Po [2] IDEOGRAPHIC COMMA..IDEOGRAPHIC FULL STOP @@ -324,6 +421,22 @@ A839 ; Deva Gujr Guru Kthi Mahj Modi Sind Takr Tirh # So NORTH IN # ================================================ +# Script_Extensions=Beng Deva Gran Gujr Guru Knda Latn Mlym Orya Taml Telu + +0952 ; Beng Deva Gran Gujr Guru Knda Latn Mlym Orya Taml Telu # Mn DEVANAGARI STRESS SIGN ANUDATTA + +# Total code points: 1 + +# ================================================ + +# Script_Extensions=Beng Deva Gran Gujr Guru Knda Latn Mlym Orya Shrd Taml Telu + +0951 ; Beng Deva Gran Gujr Guru Knda Latn Mlym Orya Shrd Taml Telu # Mn DEVANAGARI STRESS SIGN UDATTA + +# Total code points: 1 + +# ================================================ + # Script_Extensions=Beng Deva Gran Gujr Guru Knda Mahj Mlym Orya Sind Sinh Sylo Takr Taml Telu Tirh 0964 ; Beng Deva Gran Gujr Guru Knda Mahj Mlym Orya Sind Sinh Sylo Takr Taml Telu Tirh # Po DEVANAGARI DANDA diff --git a/lib/unicore/Scripts.txt b/lib/unicore/Scripts.txt index 0b69438..7e42740 100644 --- a/lib/unicore/Scripts.txt +++ b/lib/unicore/Scripts.txt @@ -1,10 +1,16 @@ -# Scripts-7.0.0.txt -# Date: 2014-05-15, 00:11:35 GMT [MD] +# Scripts-8.0.0.txt +# Date: 2015-03-11, 22:29:42 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ +# For more information, see: +# UAX #24, Unicode Script Property: http://www.unicode.org/reports/tr24/ +# Especially the sections: +# http://www.unicode.org/reports/tr24/#Assignment_Script_Values +# http://www.unicode.org/reports/tr24/#Assignment_ScriptX_Values +# # ================================================ @@ -89,7 +95,6 @@ 061C ; Common # Cf ARABIC LETTER MARK 061F ; Common # Po ARABIC QUESTION MARK 0640 ; Common # Lm ARABIC TATWEEL -0660..0669 ; Common # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE 06DD ; Common # Cf ARABIC END OF AYAH 0964..0965 ; Common # Po [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA 0E3F ; Common # Sc THAI CURRENCY SYMBOL BAHT @@ -148,7 +153,7 @@ 208A..208C ; Common # Sm [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN 208D ; Common # Ps SUBSCRIPT LEFT PARENTHESIS 208E ; Common # Pe SUBSCRIPT RIGHT PARENTHESIS -20A0..20BD ; Common # Sc [30] EURO-CURRENCY SIGN..RUBLE SIGN +20A0..20BE ; Common # Sc [31] EURO-CURRENCY SIGN..LARI SIGN 2100..2101 ; Common # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT 2102 ; Common # L& DOUBLE-STRUCK CAPITAL C 2103..2106 ; Common # So [4] DEGREE CELSIUS..CADA UNA @@ -182,6 +187,7 @@ 214F ; Common # So SYMBOL FOR SAMARITAN SOURCE 2150..215F ; Common # No [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE 2189 ; Common # No VULGAR FRACTION ZERO THIRDS +218A..218B ; Common # So [2] TURNED DIGIT TWO..TURNED DIGIT THREE 2190..2194 ; Common # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW 2195..2199 ; Common # So [5] UP DOWN ARROW..SOUTH WEST ARROW 219A..219B ; Common # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE @@ -304,6 +310,7 @@ 2B98..2BB9 ; Common # So [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX 2BBD..2BC8 ; Common # So [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED 2BCA..2BD1 ; Common # So [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN +2BEC..2BEF ; Common # So [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS 2E00..2E01 ; Common # Po [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER 2E02 ; Common # Pi LEFT SUBSTITUTION BRACKET 2E03 ; Common # Pf RIGHT SUBSTITUTION BRACKET @@ -512,7 +519,7 @@ FFFC..FFFD ; Common # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHAR 1D173..1D17A ; Common # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE 1D183..1D184 ; Common # So [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN 1D18C..1D1A9 ; Common # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH -1D1AE..1D1DD ; Common # So [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS +1D1AE..1D1E8 ; Common # So [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN 1D300..1D356 ; Common # So [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING 1D360..1D371 ; Common # No [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE 1D400..1D454 ; Common # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G @@ -571,16 +578,11 @@ FFFC..FFFD ; Common # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHAR 1F210..1F23A ; Common # So [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6 1F240..1F248 ; Common # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557 1F250..1F251 ; Common # So [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT -1F300..1F32C ; Common # So [45] CYCLONE..WIND BLOWING FACE -1F330..1F37D ; Common # So [78] CHESTNUT..FORK AND KNIFE WITH PLATE -1F380..1F3CE ; Common # So [79] RIBBON..RACING CAR -1F3D4..1F3F7 ; Common # So [36] SNOW CAPPED MOUNTAIN..LABEL -1F400..1F4FE ; Common # So [255] RAT..PORTABLE STEREO -1F500..1F54A ; Common # So [75] TWISTED RIGHTWARDS ARROWS..DOVE OF PEACE -1F550..1F579 ; Common # So [42] CLOCK FACE ONE OCLOCK..JOYSTICK +1F300..1F3FA ; Common # So [251] CYCLONE..AMPHORA +1F3FB..1F3FF ; Common # Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6 +1F400..1F579 ; Common # So [378] RAT..JOYSTICK 1F57B..1F5A3 ; Common # So [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX -1F5A5..1F642 ; Common # So [158] DESKTOP COMPUTER..SLIGHTLY SMILING FACE -1F645..1F6CF ; Common # So [139] FACE WITH NO GOOD GESTURE..BED +1F5A5..1F6D0 ; Common # So [300] DESKTOP COMPUTER..PLACE OF WORSHIP 1F6E0..1F6EC ; Common # So [13] HAMMER AND WRENCH..AIRPLANE ARRIVING 1F6F0..1F6F3 ; Common # So [4] SATELLITE..PASSENGER SHIP 1F700..1F773 ; Common # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE @@ -590,10 +592,13 @@ FFFC..FFFD ; Common # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHAR 1F850..1F859 ; Common # So [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW 1F860..1F887 ; Common # So [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW 1F890..1F8AD ; Common # So [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS +1F910..1F918 ; Common # So [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS +1F980..1F984 ; Common # So [5] CRAB..UNICORN FACE +1F9C0 ; Common # So CHEESE WEDGE E0001 ; Common # Cf LANGUAGE TAG E0020..E007F ; Common # Cf [96] TAG SPACE..CANCEL TAG -# Total code points: 7129 +# Total code points: 7179 # ================================================ @@ -635,20 +640,21 @@ A722..A76F ; Latin # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN A770 ; Latin # Lm MODIFIER LETTER US A771..A787 ; Latin # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T A78B..A78E ; Latin # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT +A78F ; Latin # Lo LATIN LETTER SINOLOGICAL DOT A790..A7AD ; Latin # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; Latin # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B7 ; Latin # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA A7F7 ; Latin # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I A7F8..A7F9 ; Latin # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE A7FA ; Latin # L& LATIN LETTER SMALL CAPITAL TURNED M A7FB..A7FF ; Latin # Lo [5] LATIN EPIGRAPHIC LETTER REVERSED F..LATIN EPIGRAPHIC LETTER ARCHAIC M AB30..AB5A ; Latin # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG AB5C..AB5F ; Latin # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB64 ; Latin # L& LATIN SMALL LETTER INVERTED ALPHA +AB60..AB64 ; Latin # L& [5] LATIN SMALL LETTER SAKHA YAT..LATIN SMALL LETTER INVERTED ALPHA FB00..FB06 ; Latin # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST FF21..FF3A ; Latin # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z FF41..FF5A ; Latin # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z -# Total code points: 1338 +# Total code points: 1349 # ================================================ @@ -731,9 +737,10 @@ A67E ; Cyrillic # Po CYRILLIC KAVYKA A67F ; Cyrillic # Lm CYRILLIC PAYEROK A680..A69B ; Cyrillic # L& [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O A69C..A69D ; Cyrillic # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN -A69F ; Cyrillic # Mn COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F ; Cyrillic # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E +FE2E..FE2F ; Cyrillic # Mn [2] COMBINING CYRILLIC TITLO LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF -# Total code points: 431 +# Total code points: 434 # ================================================ @@ -788,6 +795,7 @@ FB46..FB4F ; Hebrew # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATU 0620..063F ; Arabic # Lo [32] ARABIC LETTER KASHMIRI YEH..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE 0641..064A ; Arabic # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH 0656..065F ; Arabic # Mn [10] ARABIC SUBSCRIPT ALEF..ARABIC WAVY HAMZA BELOW +0660..0669 ; Arabic # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE 066A..066D ; Arabic # Po [4] ARABIC PERCENT SIGN..ARABIC FIVE POINTED STAR 066E..066F ; Arabic # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF 0671..06D3 ; Arabic # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE @@ -806,8 +814,8 @@ FB46..FB4F ; Hebrew # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATU 06FD..06FE ; Arabic # So [2] ARABIC SIGN SINDHI AMPERSAND..ARABIC SIGN SINDHI POSTPOSITION MEN 06FF ; Arabic # Lo ARABIC LETTER HEH WITH INVERTED V 0750..077F ; Arabic # Lo [48] ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW..ARABIC LETTER KAF WITH TWO DOTS ABOVE -08A0..08B2 ; Arabic # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE -08E4..08FF ; Arabic # Mn [28] ARABIC CURLY FATHA..ARABIC MARK SIDEWAYS NOON GHUNNA +08A0..08B4 ; Arabic # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW +08E3..08FF ; Arabic # Mn [29] ARABIC TURNED DAMMA BELOW..ARABIC MARK SIDEWAYS NOON GHUNNA FB50..FBB1 ; Arabic # Lo [98] ARABIC LETTER ALEF WASLA ISOLATED FORM..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM FBB2..FBC1 ; Arabic # Sk [16] ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL SMALL TAH BELOW FBD3..FD3D ; Arabic # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM @@ -854,7 +862,7 @@ FE76..FEFC ; Arabic # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LA 1EEAB..1EEBB ; Arabic # Lo [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN 1EEF0..1EEF1 ; Arabic # Sm [2] ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL -# Total code points: 1244 +# Total code points: 1257 # ================================================ @@ -902,8 +910,10 @@ A8E0..A8F1 ; Devanagari # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING A8F2..A8F7 ; Devanagari # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA A8F8..A8FA ; Devanagari # Po [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET A8FB ; Devanagari # Lo DEVANAGARI HEADSTROKE +A8FC ; Devanagari # Po DEVANAGARI SIGN SIDDHAM +A8FD ; Devanagari # Lo DEVANAGARI JAIN OM -# Total code points: 152 +# Total code points: 154 # ================================================ @@ -987,8 +997,9 @@ A8FB ; Devanagari # Lo DEVANAGARI HEADSTROKE 0AE6..0AEF ; Gujarati # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE 0AF0 ; Gujarati # Po GUJARATI ABBREVIATION SIGN 0AF1 ; Gujarati # Sc GUJARATI RUPEE SIGN +0AF9 ; Gujarati # Lo GUJARATI LETTER ZHA -# Total code points: 84 +# Total code points: 85 # ================================================ @@ -1064,14 +1075,14 @@ A8FB ; Devanagari # Lo DEVANAGARI HEADSTROKE 0C46..0C48 ; Telugu # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI 0C4A..0C4D ; Telugu # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA 0C55..0C56 ; Telugu # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK -0C58..0C59 ; Telugu # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA +0C58..0C5A ; Telugu # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA 0C60..0C61 ; Telugu # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL 0C62..0C63 ; Telugu # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL 0C66..0C6F ; Telugu # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE 0C78..0C7E ; Telugu # No [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR 0C7F ; Telugu # So TELUGU SIGN TUUMU -# Total code points: 95 +# Total code points: 96 # ================================================ @@ -1115,14 +1126,14 @@ A8FB ; Devanagari # Lo DEVANAGARI HEADSTROKE 0D4D ; Malayalam # Mn MALAYALAM SIGN VIRAMA 0D4E ; Malayalam # Lo MALAYALAM LETTER DOT REPH 0D57 ; Malayalam # Mc MALAYALAM AU LENGTH MARK -0D60..0D61 ; Malayalam # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL +0D5F..0D61 ; Malayalam # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL 0D62..0D63 ; Malayalam # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL 0D66..0D6F ; Malayalam # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE 0D70..0D75 ; Malayalam # No [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS 0D79 ; Malayalam # So MALAYALAM DATE MARK 0D7A..0D7F ; Malayalam # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K -# Total code points: 99 +# Total code points: 100 # ================================================ @@ -1358,9 +1369,11 @@ AB28..AB2E ; Ethiopic # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO # ================================================ -13A0..13F4 ; Cherokee # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV +13A0..13F5 ; Cherokee # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV +13F8..13FD ; Cherokee # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV +AB70..ABBF ; Cherokee # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA -# Total code points: 85 +# Total code points: 172 # ================================================ @@ -1472,15 +1485,16 @@ FF71..FF9D ; Katakana # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAK 3038..303A ; Han # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY 303B ; Han # Lm VERTICAL IDEOGRAPHIC ITERATION MARK 3400..4DB5 ; Han # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 -4E00..9FCC ; Han # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC +4E00..9FD5 ; Han # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 F900..FA6D ; Han # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D FA70..FAD9 ; Han # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9 20000..2A6D6 ; Han # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 2A700..2B734 ; Han # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 2B740..2B81D ; Han # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D +2B820..2CEA1 ; Han # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 2F800..2FA1D ; Han # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D -# Total code points: 75963 +# Total code points: 81734 # ================================================ @@ -1680,9 +1694,7 @@ E0100..E01EF ; Inherited # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-2 # ================================================ 1980..19AB ; New_Tai_Lue # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA -19B0..19C0 ; New_Tai_Lue # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY -19C1..19C7 ; New_Tai_Lue # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B -19C8..19C9 ; New_Tai_Lue # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 +19B0..19C9 ; New_Tai_Lue # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 19D0..19D9 ; New_Tai_Lue # Nd [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE 19DA ; New_Tai_Lue # No NEW TAI LUE THAM DIGIT ONE 19DE..19DF ; New_Tai_Lue # So [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV @@ -1770,11 +1782,12 @@ A828..A82B ; Syloti_Nagri # So [4] SYLOTI NAGRI POETRY MARK-1..SYLOTI NAGRI # ================================================ -12000..12398 ; Cuneiform # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME +12000..12399 ; Cuneiform # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U 12400..1246E ; Cuneiform # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM 12470..12474 ; Cuneiform # Po [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON +12480..12543 ; Cuneiform # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU -# Total code points: 1037 +# Total code points: 1234 # ================================================ @@ -2151,9 +2164,12 @@ ABF0..ABF9 ; Meetei_Mayek # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI # ================================================ 109A0..109B7 ; Meroitic_Cursive # Lo [24] MEROITIC CURSIVE LETTER A..MEROITIC CURSIVE LETTER DA +109BC..109BD ; Meroitic_Cursive # No [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF 109BE..109BF ; Meroitic_Cursive # Lo [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN +109C0..109CF ; Meroitic_Cursive # No [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY +109D2..109FF ; Meroitic_Cursive # No [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS -# Total code points: 26 +# Total code points: 90 # ================================================ @@ -2180,12 +2196,16 @@ ABF0..ABF9 ; Meetei_Mayek # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI 111B6..111BE ; Sharada # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O 111BF..111C0 ; Sharada # Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA 111C1..111C4 ; Sharada # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM -111C5..111C8 ; Sharada # Po [4] SHARADA DANDA..SHARADA SEPARATOR +111C5..111C9 ; Sharada # Po [5] SHARADA DANDA..SHARADA SANDHI MARK +111CA..111CC ; Sharada # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK 111CD ; Sharada # Po SHARADA SUTRA MARK 111D0..111D9 ; Sharada # Nd [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE 111DA ; Sharada # Lo SHARADA EKAM +111DB ; Sharada # Po SHARADA SIGN SIDDHAM +111DC ; Sharada # Lo SHARADA HEADSTROKE +111DD..111DF ; Sharada # Po [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2 -# Total code points: 85 +# Total code points: 94 # ================================================ @@ -2243,7 +2263,7 @@ ABF0..ABF9 ; Meetei_Mayek # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI # ================================================ -11301 ; Grantha # Mn GRANTHA SIGN CANDRABINDU +11300..11301 ; Grantha # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 11302..11303 ; Grantha # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA 11305..1130C ; Grantha # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L 1130F..11310 ; Grantha # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI @@ -2258,13 +2278,14 @@ ABF0..ABF9 ; Meetei_Mayek # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI 11341..11344 ; Grantha # Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR 11347..11348 ; Grantha # Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI 1134B..1134D ; Grantha # Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA +11350 ; Grantha # Lo GRANTHA OM 11357 ; Grantha # Mc GRANTHA AU LENGTH MARK 1135D..11361 ; Grantha # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL 11362..11363 ; Grantha # Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL 11366..1136C ; Grantha # Mn [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX 11370..11374 ; Grantha # Mn [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA -# Total code points: 83 +# Total code points: 85 # ================================================ @@ -2407,9 +2428,11 @@ ABF0..ABF9 ; Meetei_Mayek # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI 115BC..115BD ; Siddham # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 115BE ; Siddham # Mc SIDDHAM SIGN VISARGA 115BF..115C0 ; Siddham # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA -115C1..115C9 ; Siddham # Po [9] SIDDHAM SIGN SIDDHAM..SIDDHAM END OF TEXT MARK +115C1..115D7 ; Siddham # Po [23] SIDDHAM SIGN SIDDHAM..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES +115D8..115DB ; Siddham # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U +115DC..115DD ; Siddham # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU -# Total code points: 72 +# Total code points: 92 # ================================================ @@ -2448,4 +2471,69 @@ ABF0..ABF9 ; Meetei_Mayek # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI # Total code points: 84 +# ================================================ + +11700..11719 ; Ahom # Lo [26] AHOM LETTER KA..AHOM LETTER JHA +1171D..1171F ; Ahom # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11720..11721 ; Ahom # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11722..11725 ; Ahom # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11726 ; Ahom # Mc AHOM VOWEL SIGN E +11727..1172B ; Ahom # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER +11730..11739 ; Ahom # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE +1173A..1173B ; Ahom # No [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY +1173C..1173E ; Ahom # Po [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI +1173F ; Ahom # So AHOM SYMBOL VI + +# Total code points: 57 + +# ================================================ + +14400..14646 ; Anatolian_Hieroglyphs # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 + +# Total code points: 583 + +# ================================================ + +108E0..108F2 ; Hatran # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F4..108F5 ; Hatran # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW +108FB..108FF ; Hatran # No [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED + +# Total code points: 26 + +# ================================================ + +11280..11286 ; Multani # Lo [7] MULTANI LETTER A..MULTANI LETTER GA +11288 ; Multani # Lo MULTANI LETTER GHA +1128A..1128D ; Multani # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D ; Multani # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8 ; Multani # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA +112A9 ; Multani # Po MULTANI SECTION MARK + +# Total code points: 38 + +# ================================================ + +10C80..10CB2 ; Old_Hungarian # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CC0..10CF2 ; Old_Hungarian # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US +10CFA..10CFF ; Old_Hungarian # No [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND + +# Total code points: 108 + +# ================================================ + +1D800..1D9FF ; SignWriting # So [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD +1DA00..1DA36 ; SignWriting # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN +1DA37..1DA3A ; SignWriting # So [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE +1DA3B..1DA6C ; SignWriting # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT +1DA6D..1DA74 ; SignWriting # So [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING +1DA75 ; SignWriting # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA76..1DA83 ; SignWriting # So [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH +1DA84 ; SignWriting # Mn SIGNWRITING LOCATION HEAD NECK +1DA85..1DA86 ; SignWriting # So [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS +1DA87..1DA8B ; SignWriting # Po [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS +1DA9B..1DA9F ; SignWriting # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF ; SignWriting # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 + +# Total code points: 672 + # EOF diff --git a/lib/unicore/SpecialCasing.txt b/lib/unicore/SpecialCasing.txt index 43645bd..8de6462 100644 --- a/lib/unicore/SpecialCasing.txt +++ b/lib/unicore/SpecialCasing.txt @@ -1,5 +1,5 @@ -# SpecialCasing-7.0.0.txt -# Date: 2014-03-18, 07:18:02 GMT [MD] +# SpecialCasing-8.0.0.txt +# Date: 2014-12-16, 23:08:04 GMT [MD] # # Unicode Character Database # Copyright (c) 1991-2014 Unicode, Inc. diff --git a/lib/unicore/StandardizedVariants.txt b/lib/unicore/StandardizedVariants.txt index 5692b0d..f36a0ed 100644 --- a/lib/unicore/StandardizedVariants.txt +++ b/lib/unicore/StandardizedVariants.txt @@ -1,5 +1,5 @@ -# StandardizedVariants-7.0.0.txt -# Date: 2014-01-24, 20:00:00 GMT [KW, LI] +# StandardizedVariants-8.0.0.txt +# Date: 2015-02-10, 15:25:00 GMT [KW, LI] # # Specification of the variation sequences that are defined in the # Unicode Standard. @@ -7,7 +7,7 @@ # This file is a normative contributory data file in the # Unicode Character Database. # -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # # Standardized variation sequences are defined in this file. @@ -21,7 +21,7 @@ # # For more information on standardized variation sequences, # see Section 23.4, Variation Selectors, -# in The Unicode Standard, Version 7.0. +# in The Unicode Standard, Version 8.0. # # For more information on the Ideographic Variation Database, # see http://www.unicode.org/ivd/ @@ -75,6 +75,14 @@ A85F FE00; phags-pa letter reversed shaping u; # PHAGS-PA LETTER U A860 FE00; phags-pa letter reversed shaping e; # PHAGS-PA LETTER E A868 FE00; phags-pa letter reversed shaping subjoined ya; # PHAGS-PA SUBJOINED LETTER YA +# Manichaean + +10AC5 FE00; alternate form; isolate # MANICHAEAN LETTER DALETH +10AC6 FE00; alternate form; isolate # MANICHAEAN LETTER HE +10AD6 FE00; alternate form; isolate final # MANICHAEAN LETTER MEM +10AD7 FE00; alternate form; isolate # MANICHAEAN LETTER NUN +10AE1 FE00; alternate form; isolate # MANICHAEAN LETTER RESH + # Mongolian 1820 180B; second form; isolate medial final # MONGOLIAN LETTER A @@ -169,10 +177,16 @@ A868 FE00; phags-pa letter reversed shaping subjoined ya; # PHAGS-PA SUBJOINED L # Emoji variation sequences +00A9 FE0E; text style; # COPYRIGHT SIGN +00A9 FE0F; emoji style; # COPYRIGHT SIGN +00AE FE0E; text style; # REGISTERED SIGN +00AE FE0F; emoji style; # REGISTERED SIGN 203C FE0E; text style; # DOUBLE EXCLAMATION MARK 203C FE0F; emoji style; # DOUBLE EXCLAMATION MARK 2049 FE0E; text style; # EXCLAMATION QUESTION MARK 2049 FE0F; emoji style; # EXCLAMATION QUESTION MARK +2122 FE0E; text style; # TRADE MARK SIGN +2122 FE0F; emoji style; # TRADE MARK SIGN 2139 FE0E; text style; # INFORMATION SOURCE 2139 FE0F; emoji style; # INFORMATION SOURCE 2194 FE0E; text style; # LEFT RIGHT ARROW @@ -347,6 +361,8 @@ A868 FE00; phags-pa letter reversed shaping subjoined ya; # PHAGS-PA SUBJOINED L 2B50 FE0F; emoji style; # WHITE MEDIUM STAR 2B55 FE0E; text style; # HEAVY LARGE CIRCLE 2B55 FE0F; emoji style; # HEAVY LARGE CIRCLE +3030 FE0E; text style; # WAVY DASH +3030 FE0F; emoji style; # WAVY DASH 303D FE0E; text style; # PART ALTERNATION MARK 303D FE0F; emoji style; # PART ALTERNATION MARK 3297 FE0E; text style; # CIRCLED IDEOGRAPH CONGRATULATION @@ -355,12 +371,22 @@ A868 FE00; phags-pa letter reversed shaping subjoined ya; # PHAGS-PA SUBJOINED L 3299 FE0F; emoji style; # CIRCLED IDEOGRAPH SECRET 1F004 FE0E; text style; # MAHJONG TILE RED DRAGON 1F004 FE0F; emoji style; # MAHJONG TILE RED DRAGON +1F170 FE0E; text style; # NEGATIVE SQUARED LATIN CAPITAL LETTER A +1F170 FE0F; emoji style; # NEGATIVE SQUARED LATIN CAPITAL LETTER A +1F171 FE0E; text style; # NEGATIVE SQUARED LATIN CAPITAL LETTER B +1F171 FE0F; emoji style; # NEGATIVE SQUARED LATIN CAPITAL LETTER B +1F17E FE0E; text style; # NEGATIVE SQUARED LATIN CAPITAL LETTER O +1F17E FE0F; emoji style; # NEGATIVE SQUARED LATIN CAPITAL LETTER O 1F17F FE0E; text style; # NEGATIVE SQUARED LATIN CAPITAL LETTER P 1F17F FE0F; emoji style; # NEGATIVE SQUARED LATIN CAPITAL LETTER P +1F202 FE0E; text style; # SQUARED KATAKANA SA +1F202 FE0F; emoji style; # SQUARED KATAKANA SA 1F21A FE0E; text style; # SQUARED CJK UNIFIED IDEOGRAPH-7121 1F21A FE0F; emoji style; # SQUARED CJK UNIFIED IDEOGRAPH-7121 1F22F FE0E; text style; # SQUARED CJK UNIFIED IDEOGRAPH-6307 1F22F FE0F; emoji style; # SQUARED CJK UNIFIED IDEOGRAPH-6307 +1F237 FE0E; text style; # SQUARED CJK UNIFIED IDEOGRAPH-6708 +1F237 FE0F; emoji style; # SQUARED CJK UNIFIED IDEOGRAPH-6708 # CJK compatibility ideographs diff --git a/lib/unicore/UnicodeData.txt b/lib/unicore/UnicodeData.txt index 31c8a7e..aa0e914 100644 --- a/lib/unicore/UnicodeData.txt +++ b/lib/unicore/UnicodeData.txt @@ -667,7 +667,7 @@ 029A;LATIN SMALL LETTER CLOSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED EPSILON;;;; 029B;LATIN LETTER SMALL CAPITAL G WITH HOOK;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL G HOOK;;;; 029C;LATIN LETTER SMALL CAPITAL H;Ll;0;L;;;;;N;;;;; -029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;;; +029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;A7B2;;A7B2 029E;LATIN SMALL LETTER TURNED K;Ll;0;L;;;;;N;;;A7B0;;A7B0 029F;LATIN LETTER SMALL CAPITAL L;Ll;0;L;;;;;N;;;;; 02A0;LATIN SMALL LETTER Q WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Q HOOK;;;; @@ -2091,6 +2091,9 @@ 08B0;ARABIC LETTER GAF WITH INVERTED STROKE;Lo;0;AL;;;;;N;;;;; 08B1;ARABIC LETTER STRAIGHT WAW;Lo;0;AL;;;;;N;;;;; 08B2;ARABIC LETTER ZAIN WITH INVERTED V ABOVE;Lo;0;AL;;;;;N;;;;; +08B3;ARABIC LETTER AIN WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;; +08B4;ARABIC LETTER KAF WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; +08E3;ARABIC TURNED DAMMA BELOW;Mn;220;NSM;;;;;N;;;;; 08E4;ARABIC CURLY FATHA;Mn;230;NSM;;;;;N;;;;; 08E5;ARABIC CURLY DAMMA;Mn;230;NSM;;;;;N;;;;; 08E6;ARABIC CURLY KASRA;Mn;220;NSM;;;;;N;;;;; @@ -2503,6 +2506,7 @@ 0AEF;GUJARATI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 0AF0;GUJARATI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; 0AF1;GUJARATI RUPEE SIGN;Sc;0;ET;;;;;N;;;;; +0AF9;GUJARATI LETTER ZHA;Lo;0;L;;;;;N;;;;; 0B01;ORIYA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; 0B02;ORIYA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 0B03;ORIYA SIGN VISARGA;Mc;0;L;;;;;N;;;;; @@ -2738,6 +2742,7 @@ 0C56;TELUGU AI LENGTH MARK;Mn;91;NSM;;;;;N;;;;; 0C58;TELUGU LETTER TSA;Lo;0;L;;;;;N;;;;; 0C59;TELUGU LETTER DZA;Lo;0;L;;;;;N;;;;; +0C5A;TELUGU LETTER RRRA;Lo;0;L;;;;;N;;;;; 0C60;TELUGU LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0C61;TELUGU LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0C62;TELUGU VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; @@ -2919,6 +2924,7 @@ 0D4D;MALAYALAM SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; 0D4E;MALAYALAM LETTER DOT REPH;Lo;0;L;;;;;N;;;;; 0D57;MALAYALAM AU LENGTH MARK;Mc;0;L;;;;;N;;;;; +0D5F;MALAYALAM LETTER ARCHAIC II;Lo;0;L;;;;;N;;;;; 0D60;MALAYALAM LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; 0D61;MALAYALAM LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; 0D62;MALAYALAM VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; @@ -4289,91 +4295,98 @@ 1397;ETHIOPIC TONAL MARK HIDET;So;0;ON;;;;;N;;;;; 1398;ETHIOPIC TONAL MARK DERET-HIDET;So;0;ON;;;;;N;;;;; 1399;ETHIOPIC TONAL MARK KURT;So;0;ON;;;;;N;;;;; -13A0;CHEROKEE LETTER A;Lo;0;L;;;;;N;;;;; -13A1;CHEROKEE LETTER E;Lo;0;L;;;;;N;;;;; -13A2;CHEROKEE LETTER I;Lo;0;L;;;;;N;;;;; -13A3;CHEROKEE LETTER O;Lo;0;L;;;;;N;;;;; -13A4;CHEROKEE LETTER U;Lo;0;L;;;;;N;;;;; -13A5;CHEROKEE LETTER V;Lo;0;L;;;;;N;;;;; -13A6;CHEROKEE LETTER GA;Lo;0;L;;;;;N;;;;; -13A7;CHEROKEE LETTER KA;Lo;0;L;;;;;N;;;;; -13A8;CHEROKEE LETTER GE;Lo;0;L;;;;;N;;;;; -13A9;CHEROKEE LETTER GI;Lo;0;L;;;;;N;;;;; -13AA;CHEROKEE LETTER GO;Lo;0;L;;;;;N;;;;; -13AB;CHEROKEE LETTER GU;Lo;0;L;;;;;N;;;;; -13AC;CHEROKEE LETTER GV;Lo;0;L;;;;;N;;;;; -13AD;CHEROKEE LETTER HA;Lo;0;L;;;;;N;;;;; -13AE;CHEROKEE LETTER HE;Lo;0;L;;;;;N;;;;; -13AF;CHEROKEE LETTER HI;Lo;0;L;;;;;N;;;;; -13B0;CHEROKEE LETTER HO;Lo;0;L;;;;;N;;;;; -13B1;CHEROKEE LETTER HU;Lo;0;L;;;;;N;;;;; -13B2;CHEROKEE LETTER HV;Lo;0;L;;;;;N;;;;; -13B3;CHEROKEE LETTER LA;Lo;0;L;;;;;N;;;;; -13B4;CHEROKEE LETTER LE;Lo;0;L;;;;;N;;;;; -13B5;CHEROKEE LETTER LI;Lo;0;L;;;;;N;;;;; -13B6;CHEROKEE LETTER LO;Lo;0;L;;;;;N;;;;; -13B7;CHEROKEE LETTER LU;Lo;0;L;;;;;N;;;;; -13B8;CHEROKEE LETTER LV;Lo;0;L;;;;;N;;;;; -13B9;CHEROKEE LETTER MA;Lo;0;L;;;;;N;;;;; -13BA;CHEROKEE LETTER ME;Lo;0;L;;;;;N;;;;; -13BB;CHEROKEE LETTER MI;Lo;0;L;;;;;N;;;;; -13BC;CHEROKEE LETTER MO;Lo;0;L;;;;;N;;;;; -13BD;CHEROKEE LETTER MU;Lo;0;L;;;;;N;;;;; -13BE;CHEROKEE LETTER NA;Lo;0;L;;;;;N;;;;; -13BF;CHEROKEE LETTER HNA;Lo;0;L;;;;;N;;;;; -13C0;CHEROKEE LETTER NAH;Lo;0;L;;;;;N;;;;; -13C1;CHEROKEE LETTER NE;Lo;0;L;;;;;N;;;;; -13C2;CHEROKEE LETTER NI;Lo;0;L;;;;;N;;;;; -13C3;CHEROKEE LETTER NO;Lo;0;L;;;;;N;;;;; -13C4;CHEROKEE LETTER NU;Lo;0;L;;;;;N;;;;; -13C5;CHEROKEE LETTER NV;Lo;0;L;;;;;N;;;;; -13C6;CHEROKEE LETTER QUA;Lo;0;L;;;;;N;;;;; -13C7;CHEROKEE LETTER QUE;Lo;0;L;;;;;N;;;;; -13C8;CHEROKEE LETTER QUI;Lo;0;L;;;;;N;;;;; -13C9;CHEROKEE LETTER QUO;Lo;0;L;;;;;N;;;;; -13CA;CHEROKEE LETTER QUU;Lo;0;L;;;;;N;;;;; -13CB;CHEROKEE LETTER QUV;Lo;0;L;;;;;N;;;;; -13CC;CHEROKEE LETTER SA;Lo;0;L;;;;;N;;;;; -13CD;CHEROKEE LETTER S;Lo;0;L;;;;;N;;;;; -13CE;CHEROKEE LETTER SE;Lo;0;L;;;;;N;;;;; -13CF;CHEROKEE LETTER SI;Lo;0;L;;;;;N;;;;; -13D0;CHEROKEE LETTER SO;Lo;0;L;;;;;N;;;;; -13D1;CHEROKEE LETTER SU;Lo;0;L;;;;;N;;;;; -13D2;CHEROKEE LETTER SV;Lo;0;L;;;;;N;;;;; -13D3;CHEROKEE LETTER DA;Lo;0;L;;;;;N;;;;; -13D4;CHEROKEE LETTER TA;Lo;0;L;;;;;N;;;;; -13D5;CHEROKEE LETTER DE;Lo;0;L;;;;;N;;;;; -13D6;CHEROKEE LETTER TE;Lo;0;L;;;;;N;;;;; -13D7;CHEROKEE LETTER DI;Lo;0;L;;;;;N;;;;; -13D8;CHEROKEE LETTER TI;Lo;0;L;;;;;N;;;;; -13D9;CHEROKEE LETTER DO;Lo;0;L;;;;;N;;;;; -13DA;CHEROKEE LETTER DU;Lo;0;L;;;;;N;;;;; -13DB;CHEROKEE LETTER DV;Lo;0;L;;;;;N;;;;; -13DC;CHEROKEE LETTER DLA;Lo;0;L;;;;;N;;;;; -13DD;CHEROKEE LETTER TLA;Lo;0;L;;;;;N;;;;; -13DE;CHEROKEE LETTER TLE;Lo;0;L;;;;;N;;;;; -13DF;CHEROKEE LETTER TLI;Lo;0;L;;;;;N;;;;; -13E0;CHEROKEE LETTER TLO;Lo;0;L;;;;;N;;;;; -13E1;CHEROKEE LETTER TLU;Lo;0;L;;;;;N;;;;; -13E2;CHEROKEE LETTER TLV;Lo;0;L;;;;;N;;;;; -13E3;CHEROKEE LETTER TSA;Lo;0;L;;;;;N;;;;; -13E4;CHEROKEE LETTER TSE;Lo;0;L;;;;;N;;;;; -13E5;CHEROKEE LETTER TSI;Lo;0;L;;;;;N;;;;; -13E6;CHEROKEE LETTER TSO;Lo;0;L;;;;;N;;;;; -13E7;CHEROKEE LETTER TSU;Lo;0;L;;;;;N;;;;; -13E8;CHEROKEE LETTER TSV;Lo;0;L;;;;;N;;;;; -13E9;CHEROKEE LETTER WA;Lo;0;L;;;;;N;;;;; -13EA;CHEROKEE LETTER WE;Lo;0;L;;;;;N;;;;; -13EB;CHEROKEE LETTER WI;Lo;0;L;;;;;N;;;;; -13EC;CHEROKEE LETTER WO;Lo;0;L;;;;;N;;;;; -13ED;CHEROKEE LETTER WU;Lo;0;L;;;;;N;;;;; -13EE;CHEROKEE LETTER WV;Lo;0;L;;;;;N;;;;; -13EF;CHEROKEE LETTER YA;Lo;0;L;;;;;N;;;;; -13F0;CHEROKEE LETTER YE;Lo;0;L;;;;;N;;;;; -13F1;CHEROKEE LETTER YI;Lo;0;L;;;;;N;;;;; -13F2;CHEROKEE LETTER YO;Lo;0;L;;;;;N;;;;; -13F3;CHEROKEE LETTER YU;Lo;0;L;;;;;N;;;;; -13F4;CHEROKEE LETTER YV;Lo;0;L;;;;;N;;;;; +13A0;CHEROKEE LETTER A;Lu;0;L;;;;;N;;;;AB70; +13A1;CHEROKEE LETTER E;Lu;0;L;;;;;N;;;;AB71; +13A2;CHEROKEE LETTER I;Lu;0;L;;;;;N;;;;AB72; +13A3;CHEROKEE LETTER O;Lu;0;L;;;;;N;;;;AB73; +13A4;CHEROKEE LETTER U;Lu;0;L;;;;;N;;;;AB74; +13A5;CHEROKEE LETTER V;Lu;0;L;;;;;N;;;;AB75; +13A6;CHEROKEE LETTER GA;Lu;0;L;;;;;N;;;;AB76; +13A7;CHEROKEE LETTER KA;Lu;0;L;;;;;N;;;;AB77; +13A8;CHEROKEE LETTER GE;Lu;0;L;;;;;N;;;;AB78; +13A9;CHEROKEE LETTER GI;Lu;0;L;;;;;N;;;;AB79; +13AA;CHEROKEE LETTER GO;Lu;0;L;;;;;N;;;;AB7A; +13AB;CHEROKEE LETTER GU;Lu;0;L;;;;;N;;;;AB7B; +13AC;CHEROKEE LETTER GV;Lu;0;L;;;;;N;;;;AB7C; +13AD;CHEROKEE LETTER HA;Lu;0;L;;;;;N;;;;AB7D; +13AE;CHEROKEE LETTER HE;Lu;0;L;;;;;N;;;;AB7E; +13AF;CHEROKEE LETTER HI;Lu;0;L;;;;;N;;;;AB7F; +13B0;CHEROKEE LETTER HO;Lu;0;L;;;;;N;;;;AB80; +13B1;CHEROKEE LETTER HU;Lu;0;L;;;;;N;;;;AB81; +13B2;CHEROKEE LETTER HV;Lu;0;L;;;;;N;;;;AB82; +13B3;CHEROKEE LETTER LA;Lu;0;L;;;;;N;;;;AB83; +13B4;CHEROKEE LETTER LE;Lu;0;L;;;;;N;;;;AB84; +13B5;CHEROKEE LETTER LI;Lu;0;L;;;;;N;;;;AB85; +13B6;CHEROKEE LETTER LO;Lu;0;L;;;;;N;;;;AB86; +13B7;CHEROKEE LETTER LU;Lu;0;L;;;;;N;;;;AB87; +13B8;CHEROKEE LETTER LV;Lu;0;L;;;;;N;;;;AB88; +13B9;CHEROKEE LETTER MA;Lu;0;L;;;;;N;;;;AB89; +13BA;CHEROKEE LETTER ME;Lu;0;L;;;;;N;;;;AB8A; +13BB;CHEROKEE LETTER MI;Lu;0;L;;;;;N;;;;AB8B; +13BC;CHEROKEE LETTER MO;Lu;0;L;;;;;N;;;;AB8C; +13BD;CHEROKEE LETTER MU;Lu;0;L;;;;;N;;;;AB8D; +13BE;CHEROKEE LETTER NA;Lu;0;L;;;;;N;;;;AB8E; +13BF;CHEROKEE LETTER HNA;Lu;0;L;;;;;N;;;;AB8F; +13C0;CHEROKEE LETTER NAH;Lu;0;L;;;;;N;;;;AB90; +13C1;CHEROKEE LETTER NE;Lu;0;L;;;;;N;;;;AB91; +13C2;CHEROKEE LETTER NI;Lu;0;L;;;;;N;;;;AB92; +13C3;CHEROKEE LETTER NO;Lu;0;L;;;;;N;;;;AB93; +13C4;CHEROKEE LETTER NU;Lu;0;L;;;;;N;;;;AB94; +13C5;CHEROKEE LETTER NV;Lu;0;L;;;;;N;;;;AB95; +13C6;CHEROKEE LETTER QUA;Lu;0;L;;;;;N;;;;AB96; +13C7;CHEROKEE LETTER QUE;Lu;0;L;;;;;N;;;;AB97; +13C8;CHEROKEE LETTER QUI;Lu;0;L;;;;;N;;;;AB98; +13C9;CHEROKEE LETTER QUO;Lu;0;L;;;;;N;;;;AB99; +13CA;CHEROKEE LETTER QUU;Lu;0;L;;;;;N;;;;AB9A; +13CB;CHEROKEE LETTER QUV;Lu;0;L;;;;;N;;;;AB9B; +13CC;CHEROKEE LETTER SA;Lu;0;L;;;;;N;;;;AB9C; +13CD;CHEROKEE LETTER S;Lu;0;L;;;;;N;;;;AB9D; +13CE;CHEROKEE LETTER SE;Lu;0;L;;;;;N;;;;AB9E; +13CF;CHEROKEE LETTER SI;Lu;0;L;;;;;N;;;;AB9F; +13D0;CHEROKEE LETTER SO;Lu;0;L;;;;;N;;;;ABA0; +13D1;CHEROKEE LETTER SU;Lu;0;L;;;;;N;;;;ABA1; +13D2;CHEROKEE LETTER SV;Lu;0;L;;;;;N;;;;ABA2; +13D3;CHEROKEE LETTER DA;Lu;0;L;;;;;N;;;;ABA3; +13D4;CHEROKEE LETTER TA;Lu;0;L;;;;;N;;;;ABA4; +13D5;CHEROKEE LETTER DE;Lu;0;L;;;;;N;;;;ABA5; +13D6;CHEROKEE LETTER TE;Lu;0;L;;;;;N;;;;ABA6; +13D7;CHEROKEE LETTER DI;Lu;0;L;;;;;N;;;;ABA7; +13D8;CHEROKEE LETTER TI;Lu;0;L;;;;;N;;;;ABA8; +13D9;CHEROKEE LETTER DO;Lu;0;L;;;;;N;;;;ABA9; +13DA;CHEROKEE LETTER DU;Lu;0;L;;;;;N;;;;ABAA; +13DB;CHEROKEE LETTER DV;Lu;0;L;;;;;N;;;;ABAB; +13DC;CHEROKEE LETTER DLA;Lu;0;L;;;;;N;;;;ABAC; +13DD;CHEROKEE LETTER TLA;Lu;0;L;;;;;N;;;;ABAD; +13DE;CHEROKEE LETTER TLE;Lu;0;L;;;;;N;;;;ABAE; +13DF;CHEROKEE LETTER TLI;Lu;0;L;;;;;N;;;;ABAF; +13E0;CHEROKEE LETTER TLO;Lu;0;L;;;;;N;;;;ABB0; +13E1;CHEROKEE LETTER TLU;Lu;0;L;;;;;N;;;;ABB1; +13E2;CHEROKEE LETTER TLV;Lu;0;L;;;;;N;;;;ABB2; +13E3;CHEROKEE LETTER TSA;Lu;0;L;;;;;N;;;;ABB3; +13E4;CHEROKEE LETTER TSE;Lu;0;L;;;;;N;;;;ABB4; +13E5;CHEROKEE LETTER TSI;Lu;0;L;;;;;N;;;;ABB5; +13E6;CHEROKEE LETTER TSO;Lu;0;L;;;;;N;;;;ABB6; +13E7;CHEROKEE LETTER TSU;Lu;0;L;;;;;N;;;;ABB7; +13E8;CHEROKEE LETTER TSV;Lu;0;L;;;;;N;;;;ABB8; +13E9;CHEROKEE LETTER WA;Lu;0;L;;;;;N;;;;ABB9; +13EA;CHEROKEE LETTER WE;Lu;0;L;;;;;N;;;;ABBA; +13EB;CHEROKEE LETTER WI;Lu;0;L;;;;;N;;;;ABBB; +13EC;CHEROKEE LETTER WO;Lu;0;L;;;;;N;;;;ABBC; +13ED;CHEROKEE LETTER WU;Lu;0;L;;;;;N;;;;ABBD; +13EE;CHEROKEE LETTER WV;Lu;0;L;;;;;N;;;;ABBE; +13EF;CHEROKEE LETTER YA;Lu;0;L;;;;;N;;;;ABBF; +13F0;CHEROKEE LETTER YE;Lu;0;L;;;;;N;;;;13F8; +13F1;CHEROKEE LETTER YI;Lu;0;L;;;;;N;;;;13F9; +13F2;CHEROKEE LETTER YO;Lu;0;L;;;;;N;;;;13FA; +13F3;CHEROKEE LETTER YU;Lu;0;L;;;;;N;;;;13FB; +13F4;CHEROKEE LETTER YV;Lu;0;L;;;;;N;;;;13FC; +13F5;CHEROKEE LETTER MV;Lu;0;L;;;;;N;;;;13FD; +13F8;CHEROKEE SMALL LETTER YE;Ll;0;L;;;;;N;;;13F0;;13F0 +13F9;CHEROKEE SMALL LETTER YI;Ll;0;L;;;;;N;;;13F1;;13F1 +13FA;CHEROKEE SMALL LETTER YO;Ll;0;L;;;;;N;;;13F2;;13F2 +13FB;CHEROKEE SMALL LETTER YU;Ll;0;L;;;;;N;;;13F3;;13F3 +13FC;CHEROKEE SMALL LETTER YV;Ll;0;L;;;;;N;;;13F4;;13F4 +13FD;CHEROKEE SMALL LETTER MV;Ll;0;L;;;;;N;;;13F5;;13F5 1400;CANADIAN SYLLABICS HYPHEN;Pd;0;ON;;;;;N;;;;; 1401;CANADIAN SYLLABICS E;Lo;0;L;;;;;N;;;;; 1402;CANADIAN SYLLABICS AAI;Lo;0;L;;;;;N;;;;; @@ -5700,23 +5713,23 @@ 19A9;NEW TAI LUE LETTER LOW XVA;Lo;0;L;;;;;N;;;;; 19AA;NEW TAI LUE LETTER HIGH SUA;Lo;0;L;;;;;N;;;;; 19AB;NEW TAI LUE LETTER LOW SUA;Lo;0;L;;;;;N;;;;; -19B0;NEW TAI LUE VOWEL SIGN VOWEL SHORTENER;Mc;0;L;;;;;N;;;;; -19B1;NEW TAI LUE VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; -19B2;NEW TAI LUE VOWEL SIGN II;Mc;0;L;;;;;N;;;;; -19B3;NEW TAI LUE VOWEL SIGN U;Mc;0;L;;;;;N;;;;; -19B4;NEW TAI LUE VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; -19B5;NEW TAI LUE VOWEL SIGN E;Mc;0;L;;;;;N;;;;; -19B6;NEW TAI LUE VOWEL SIGN AE;Mc;0;L;;;;;N;;;;; -19B7;NEW TAI LUE VOWEL SIGN O;Mc;0;L;;;;;N;;;;; -19B8;NEW TAI LUE VOWEL SIGN OA;Mc;0;L;;;;;N;;;;; -19B9;NEW TAI LUE VOWEL SIGN UE;Mc;0;L;;;;;N;;;;; -19BA;NEW TAI LUE VOWEL SIGN AY;Mc;0;L;;;;;N;;;;; -19BB;NEW TAI LUE VOWEL SIGN AAY;Mc;0;L;;;;;N;;;;; -19BC;NEW TAI LUE VOWEL SIGN UY;Mc;0;L;;;;;N;;;;; -19BD;NEW TAI LUE VOWEL SIGN OY;Mc;0;L;;;;;N;;;;; -19BE;NEW TAI LUE VOWEL SIGN OAY;Mc;0;L;;;;;N;;;;; -19BF;NEW TAI LUE VOWEL SIGN UEY;Mc;0;L;;;;;N;;;;; -19C0;NEW TAI LUE VOWEL SIGN IY;Mc;0;L;;;;;N;;;;; +19B0;NEW TAI LUE VOWEL SIGN VOWEL SHORTENER;Lo;0;L;;;;;N;;;;; +19B1;NEW TAI LUE VOWEL SIGN AA;Lo;0;L;;;;;N;;;;; +19B2;NEW TAI LUE VOWEL SIGN II;Lo;0;L;;;;;N;;;;; +19B3;NEW TAI LUE VOWEL SIGN U;Lo;0;L;;;;;N;;;;; +19B4;NEW TAI LUE VOWEL SIGN UU;Lo;0;L;;;;;N;;;;; +19B5;NEW TAI LUE VOWEL SIGN E;Lo;0;L;;;;;N;;;;; +19B6;NEW TAI LUE VOWEL SIGN AE;Lo;0;L;;;;;N;;;;; +19B7;NEW TAI LUE VOWEL SIGN O;Lo;0;L;;;;;N;;;;; +19B8;NEW TAI LUE VOWEL SIGN OA;Lo;0;L;;;;;N;;;;; +19B9;NEW TAI LUE VOWEL SIGN UE;Lo;0;L;;;;;N;;;;; +19BA;NEW TAI LUE VOWEL SIGN AY;Lo;0;L;;;;;N;;;;; +19BB;NEW TAI LUE VOWEL SIGN AAY;Lo;0;L;;;;;N;;;;; +19BC;NEW TAI LUE VOWEL SIGN UY;Lo;0;L;;;;;N;;;;; +19BD;NEW TAI LUE VOWEL SIGN OY;Lo;0;L;;;;;N;;;;; +19BE;NEW TAI LUE VOWEL SIGN OAY;Lo;0;L;;;;;N;;;;; +19BF;NEW TAI LUE VOWEL SIGN UEY;Lo;0;L;;;;;N;;;;; +19C0;NEW TAI LUE VOWEL SIGN IY;Lo;0;L;;;;;N;;;;; 19C1;NEW TAI LUE LETTER FINAL V;Lo;0;L;;;;;N;;;;; 19C2;NEW TAI LUE LETTER FINAL NG;Lo;0;L;;;;;N;;;;; 19C3;NEW TAI LUE LETTER FINAL N;Lo;0;L;;;;;N;;;;; @@ -5724,8 +5737,8 @@ 19C5;NEW TAI LUE LETTER FINAL K;Lo;0;L;;;;;N;;;;; 19C6;NEW TAI LUE LETTER FINAL D;Lo;0;L;;;;;N;;;;; 19C7;NEW TAI LUE LETTER FINAL B;Lo;0;L;;;;;N;;;;; -19C8;NEW TAI LUE TONE MARK-1;Mc;0;L;;;;;N;;;;; -19C9;NEW TAI LUE TONE MARK-2;Mc;0;L;;;;;N;;;;; +19C8;NEW TAI LUE TONE MARK-1;Lo;0;L;;;;;N;;;;; +19C9;NEW TAI LUE TONE MARK-2;Lo;0;L;;;;;N;;;;; 19D0;NEW TAI LUE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 19D1;NEW TAI LUE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; 19D2;NEW TAI LUE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; @@ -7277,6 +7290,7 @@ 20BB;NORDIC MARK SIGN;Sc;0;ET;;;;;N;;;;; 20BC;MANAT SIGN;Sc;0;ET;;;;;N;;;;; 20BD;RUBLE SIGN;Sc;0;ET;;;;;N;;;;; +20BE;LARI SIGN;Sc;0;ET;;;;;N;;;;; 20D0;COMBINING LEFT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT HARPOON ABOVE;;;; 20D1;COMBINING RIGHT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT HARPOON ABOVE;;;; 20D2;COMBINING LONG VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG VERTICAL BAR OVERLAY;;;; @@ -7448,6 +7462,8 @@ 2187;ROMAN NUMERAL FIFTY THOUSAND;Nl;0;L;;;;50000;N;;;;; 2188;ROMAN NUMERAL ONE HUNDRED THOUSAND;Nl;0;L;;;;100000;N;;;;; 2189;VULGAR FRACTION ZERO THIRDS;No;0;ON; 0030 2044 0033;;;0;N;;;;; +218A;TURNED DIGIT TWO;So;0;ON;;;;;N;;;;; +218B;TURNED DIGIT THREE;So;0;ON;;;;;N;;;;; 2190;LEFTWARDS ARROW;Sm;0;ON;;;;;N;LEFT ARROW;;;; 2191;UPWARDS ARROW;Sm;0;ON;;;;;N;UP ARROW;;;; 2192;RIGHTWARDS ARROW;Sm;0;ON;;;;;N;RIGHT ARROW;;;; @@ -10015,6 +10031,10 @@ 2BCF;ROTATED WHITE FOUR POINTED CUSP;So;0;ON;;;;;N;;;;; 2BD0;SQUARE POSITION INDICATOR;So;0;ON;;;;;N;;;;; 2BD1;UNCERTAINTY SIGN;So;0;ON;;;;;N;;;;; +2BEC;LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;; +2BED;UPWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;; +2BEE;RIGHTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;; +2BEF;DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;; 2C00;GLAGOLITIC CAPITAL LETTER AZU;Lu;0;L;;;;;N;;;;2C30; 2C01;GLAGOLITIC CAPITAL LETTER BUKY;Lu;0;L;;;;;N;;;;2C31; 2C02;GLAGOLITIC CAPITAL LETTER VEDE;Lu;0;L;;;;;N;;;;2C32; @@ -11942,7 +11962,7 @@ 4DFE;HEXAGRAM FOR AFTER COMPLETION;So;0;ON;;;;;N;;;;; 4DFF;HEXAGRAM FOR BEFORE COMPLETION;So;0;ON;;;;;N;;;;; 4E00;;Lo;0;L;;;;;N;;;;; -9FCC;;Lo;0;L;;;;;N;;;;; +9FD5;;Lo;0;L;;;;;N;;;;; A000;YI SYLLABLE IT;Lo;0;L;;;;;N;;;;; A001;YI SYLLABLE IX;Lo;0;L;;;;;N;;;;; A002;YI SYLLABLE I;Lo;0;L;;;;;N;;;;; @@ -13605,6 +13625,7 @@ A69A;CYRILLIC CAPITAL LETTER CROSSED O;Lu;0;L;;;;;N;;;;A69B; A69B;CYRILLIC SMALL LETTER CROSSED O;Ll;0;L;;;;;N;;;A69A;;A69A A69C;MODIFIER LETTER CYRILLIC HARD SIGN;Lm;0;L; 044A;;;;N;;;;; A69D;MODIFIER LETTER CYRILLIC SOFT SIGN;Lm;0;L; 044C;;;;N;;;;; +A69E;COMBINING CYRILLIC LETTER EF;Mn;230;NSM;;;;;N;;;;; A69F;COMBINING CYRILLIC LETTER IOTIFIED E;Mn;230;NSM;;;;;N;;;;; A6A0;BAMUM LETTER A;Lo;0;L;;;;;N;;;;; A6A1;BAMUM LETTER KA;Lo;0;L;;;;;N;;;;; @@ -13837,6 +13858,7 @@ A78B;LATIN CAPITAL LETTER SALTILLO;Lu;0;L;;;;;N;;;;A78C; A78C;LATIN SMALL LETTER SALTILLO;Ll;0;L;;;;;N;;;A78B;;A78B A78D;LATIN CAPITAL LETTER TURNED H;Lu;0;L;;;;;N;;;;0265; A78E;LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT;Ll;0;L;;;;;N;;;;; +A78F;LATIN LETTER SINOLOGICAL DOT;Lo;0;L;;;;;N;;;;; A790;LATIN CAPITAL LETTER N WITH DESCENDER;Lu;0;L;;;;;N;;;;A791; A791;LATIN SMALL LETTER N WITH DESCENDER;Ll;0;L;;;;;N;;;A790;;A790 A792;LATIN CAPITAL LETTER C WITH BAR;Lu;0;L;;;;;N;;;;A793; @@ -13869,6 +13891,12 @@ A7AC;LATIN CAPITAL LETTER SCRIPT G;Lu;0;L;;;;;N;;;;0261; A7AD;LATIN CAPITAL LETTER L WITH BELT;Lu;0;L;;;;;N;;;;026C; A7B0;LATIN CAPITAL LETTER TURNED K;Lu;0;L;;;;;N;;;;029E; A7B1;LATIN CAPITAL LETTER TURNED T;Lu;0;L;;;;;N;;;;0287; +A7B2;LATIN CAPITAL LETTER J WITH CROSSED-TAIL;Lu;0;L;;;;;N;;;;029D; +A7B3;LATIN CAPITAL LETTER CHI;Lu;0;L;;;;;N;;;;AB53; +A7B4;LATIN CAPITAL LETTER BETA;Lu;0;L;;;;;N;;;;A7B5; +A7B5;LATIN SMALL LETTER BETA;Ll;0;L;;;;;N;;;A7B4;;A7B4 +A7B6;LATIN CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;A7B7; +A7B7;LATIN SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;A7B6;;A7B6 A7F7;LATIN EPIGRAPHIC LETTER SIDEWAYS I;Lo;0;L;;;;;N;;;;; A7F8;MODIFIER LETTER CAPITAL H WITH STROKE;Lm;0;L; 0126;;;;N;;;;; A7F9;MODIFIER LETTER SMALL LIGATURE OE;Lm;0;L; 0153;;;;N;;;;; @@ -14097,6 +14125,8 @@ A8F8;DEVANAGARI SIGN PUSHPIKA;Po;0;L;;;;;N;;;;; A8F9;DEVANAGARI GAP FILLER;Po;0;L;;;;;N;;;;; A8FA;DEVANAGARI CARET;Po;0;L;;;;;N;;;;; A8FB;DEVANAGARI HEADSTROKE;Lo;0;L;;;;;N;;;;; +A8FC;DEVANAGARI SIGN SIDDHAM;Po;0;L;;;;;N;;;;; +A8FD;DEVANAGARI JAIN OM;Lo;0;L;;;;;N;;;;; A900;KAYAH LI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; A901;KAYAH LI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; A902;KAYAH LI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; @@ -14610,7 +14640,7 @@ AB4F;LATIN SMALL LETTER U BAR WITH SHORT RIGHT LEG;Ll;0;L;;;;;N;;;;; AB50;LATIN SMALL LETTER UI;Ll;0;L;;;;;N;;;;; AB51;LATIN SMALL LETTER TURNED UI;Ll;0;L;;;;;N;;;;; AB52;LATIN SMALL LETTER U WITH LEFT HOOK;Ll;0;L;;;;;N;;;;; -AB53;LATIN SMALL LETTER CHI;Ll;0;L;;;;;N;;;;; +AB53;LATIN SMALL LETTER CHI;Ll;0;L;;;;;N;;;A7B3;;A7B3 AB54;LATIN SMALL LETTER CHI WITH LOW RIGHT RING;Ll;0;L;;;;;N;;;;; AB55;LATIN SMALL LETTER CHI WITH LOW LEFT SERIF;Ll;0;L;;;;;N;;;;; AB56;LATIN SMALL LETTER X WITH LOW RIGHT RING;Ll;0;L;;;;;N;;;;; @@ -14623,8 +14653,92 @@ AB5C;MODIFIER LETTER SMALL HENG;Lm;0;L; A727;;;;N;;;;; AB5D;MODIFIER LETTER SMALL L WITH INVERTED LAZY S;Lm;0;L; AB37;;;;N;;;;; AB5E;MODIFIER LETTER SMALL L WITH MIDDLE TILDE;Lm;0;L; 026B;;;;N;;;;; AB5F;MODIFIER LETTER SMALL U WITH LEFT HOOK;Lm;0;L; AB52;;;;N;;;;; +AB60;LATIN SMALL LETTER SAKHA YAT;Ll;0;L;;;;;N;;;;; +AB61;LATIN SMALL LETTER IOTIFIED E;Ll;0;L;;;;;N;;;;; +AB62;LATIN SMALL LETTER OPEN OE;Ll;0;L;;;;;N;;;;; +AB63;LATIN SMALL LETTER UO;Ll;0;L;;;;;N;;;;; AB64;LATIN SMALL LETTER INVERTED ALPHA;Ll;0;L;;;;;N;;;;; AB65;GREEK LETTER SMALL CAPITAL OMEGA;Ll;0;L;;;;;N;;;;; +AB70;CHEROKEE SMALL LETTER A;Ll;0;L;;;;;N;;;13A0;;13A0 +AB71;CHEROKEE SMALL LETTER E;Ll;0;L;;;;;N;;;13A1;;13A1 +AB72;CHEROKEE SMALL LETTER I;Ll;0;L;;;;;N;;;13A2;;13A2 +AB73;CHEROKEE SMALL LETTER O;Ll;0;L;;;;;N;;;13A3;;13A3 +AB74;CHEROKEE SMALL LETTER U;Ll;0;L;;;;;N;;;13A4;;13A4 +AB75;CHEROKEE SMALL LETTER V;Ll;0;L;;;;;N;;;13A5;;13A5 +AB76;CHEROKEE SMALL LETTER GA;Ll;0;L;;;;;N;;;13A6;;13A6 +AB77;CHEROKEE SMALL LETTER KA;Ll;0;L;;;;;N;;;13A7;;13A7 +AB78;CHEROKEE SMALL LETTER GE;Ll;0;L;;;;;N;;;13A8;;13A8 +AB79;CHEROKEE SMALL LETTER GI;Ll;0;L;;;;;N;;;13A9;;13A9 +AB7A;CHEROKEE SMALL LETTER GO;Ll;0;L;;;;;N;;;13AA;;13AA +AB7B;CHEROKEE SMALL LETTER GU;Ll;0;L;;;;;N;;;13AB;;13AB +AB7C;CHEROKEE SMALL LETTER GV;Ll;0;L;;;;;N;;;13AC;;13AC +AB7D;CHEROKEE SMALL LETTER HA;Ll;0;L;;;;;N;;;13AD;;13AD +AB7E;CHEROKEE SMALL LETTER HE;Ll;0;L;;;;;N;;;13AE;;13AE +AB7F;CHEROKEE SMALL LETTER HI;Ll;0;L;;;;;N;;;13AF;;13AF +AB80;CHEROKEE SMALL LETTER HO;Ll;0;L;;;;;N;;;13B0;;13B0 +AB81;CHEROKEE SMALL LETTER HU;Ll;0;L;;;;;N;;;13B1;;13B1 +AB82;CHEROKEE SMALL LETTER HV;Ll;0;L;;;;;N;;;13B2;;13B2 +AB83;CHEROKEE SMALL LETTER LA;Ll;0;L;;;;;N;;;13B3;;13B3 +AB84;CHEROKEE SMALL LETTER LE;Ll;0;L;;;;;N;;;13B4;;13B4 +AB85;CHEROKEE SMALL LETTER LI;Ll;0;L;;;;;N;;;13B5;;13B5 +AB86;CHEROKEE SMALL LETTER LO;Ll;0;L;;;;;N;;;13B6;;13B6 +AB87;CHEROKEE SMALL LETTER LU;Ll;0;L;;;;;N;;;13B7;;13B7 +AB88;CHEROKEE SMALL LETTER LV;Ll;0;L;;;;;N;;;13B8;;13B8 +AB89;CHEROKEE SMALL LETTER MA;Ll;0;L;;;;;N;;;13B9;;13B9 +AB8A;CHEROKEE SMALL LETTER ME;Ll;0;L;;;;;N;;;13BA;;13BA +AB8B;CHEROKEE SMALL LETTER MI;Ll;0;L;;;;;N;;;13BB;;13BB +AB8C;CHEROKEE SMALL LETTER MO;Ll;0;L;;;;;N;;;13BC;;13BC +AB8D;CHEROKEE SMALL LETTER MU;Ll;0;L;;;;;N;;;13BD;;13BD +AB8E;CHEROKEE SMALL LETTER NA;Ll;0;L;;;;;N;;;13BE;;13BE +AB8F;CHEROKEE SMALL LETTER HNA;Ll;0;L;;;;;N;;;13BF;;13BF +AB90;CHEROKEE SMALL LETTER NAH;Ll;0;L;;;;;N;;;13C0;;13C0 +AB91;CHEROKEE SMALL LETTER NE;Ll;0;L;;;;;N;;;13C1;;13C1 +AB92;CHEROKEE SMALL LETTER NI;Ll;0;L;;;;;N;;;13C2;;13C2 +AB93;CHEROKEE SMALL LETTER NO;Ll;0;L;;;;;N;;;13C3;;13C3 +AB94;CHEROKEE SMALL LETTER NU;Ll;0;L;;;;;N;;;13C4;;13C4 +AB95;CHEROKEE SMALL LETTER NV;Ll;0;L;;;;;N;;;13C5;;13C5 +AB96;CHEROKEE SMALL LETTER QUA;Ll;0;L;;;;;N;;;13C6;;13C6 +AB97;CHEROKEE SMALL LETTER QUE;Ll;0;L;;;;;N;;;13C7;;13C7 +AB98;CHEROKEE SMALL LETTER QUI;Ll;0;L;;;;;N;;;13C8;;13C8 +AB99;CHEROKEE SMALL LETTER QUO;Ll;0;L;;;;;N;;;13C9;;13C9 +AB9A;CHEROKEE SMALL LETTER QUU;Ll;0;L;;;;;N;;;13CA;;13CA +AB9B;CHEROKEE SMALL LETTER QUV;Ll;0;L;;;;;N;;;13CB;;13CB +AB9C;CHEROKEE SMALL LETTER SA;Ll;0;L;;;;;N;;;13CC;;13CC +AB9D;CHEROKEE SMALL LETTER S;Ll;0;L;;;;;N;;;13CD;;13CD +AB9E;CHEROKEE SMALL LETTER SE;Ll;0;L;;;;;N;;;13CE;;13CE +AB9F;CHEROKEE SMALL LETTER SI;Ll;0;L;;;;;N;;;13CF;;13CF +ABA0;CHEROKEE SMALL LETTER SO;Ll;0;L;;;;;N;;;13D0;;13D0 +ABA1;CHEROKEE SMALL LETTER SU;Ll;0;L;;;;;N;;;13D1;;13D1 +ABA2;CHEROKEE SMALL LETTER SV;Ll;0;L;;;;;N;;;13D2;;13D2 +ABA3;CHEROKEE SMALL LETTER DA;Ll;0;L;;;;;N;;;13D3;;13D3 +ABA4;CHEROKEE SMALL LETTER TA;Ll;0;L;;;;;N;;;13D4;;13D4 +ABA5;CHEROKEE SMALL LETTER DE;Ll;0;L;;;;;N;;;13D5;;13D5 +ABA6;CHEROKEE SMALL LETTER TE;Ll;0;L;;;;;N;;;13D6;;13D6 +ABA7;CHEROKEE SMALL LETTER DI;Ll;0;L;;;;;N;;;13D7;;13D7 +ABA8;CHEROKEE SMALL LETTER TI;Ll;0;L;;;;;N;;;13D8;;13D8 +ABA9;CHEROKEE SMALL LETTER DO;Ll;0;L;;;;;N;;;13D9;;13D9 +ABAA;CHEROKEE SMALL LETTER DU;Ll;0;L;;;;;N;;;13DA;;13DA +ABAB;CHEROKEE SMALL LETTER DV;Ll;0;L;;;;;N;;;13DB;;13DB +ABAC;CHEROKEE SMALL LETTER DLA;Ll;0;L;;;;;N;;;13DC;;13DC +ABAD;CHEROKEE SMALL LETTER TLA;Ll;0;L;;;;;N;;;13DD;;13DD +ABAE;CHEROKEE SMALL LETTER TLE;Ll;0;L;;;;;N;;;13DE;;13DE +ABAF;CHEROKEE SMALL LETTER TLI;Ll;0;L;;;;;N;;;13DF;;13DF +ABB0;CHEROKEE SMALL LETTER TLO;Ll;0;L;;;;;N;;;13E0;;13E0 +ABB1;CHEROKEE SMALL LETTER TLU;Ll;0;L;;;;;N;;;13E1;;13E1 +ABB2;CHEROKEE SMALL LETTER TLV;Ll;0;L;;;;;N;;;13E2;;13E2 +ABB3;CHEROKEE SMALL LETTER TSA;Ll;0;L;;;;;N;;;13E3;;13E3 +ABB4;CHEROKEE SMALL LETTER TSE;Ll;0;L;;;;;N;;;13E4;;13E4 +ABB5;CHEROKEE SMALL LETTER TSI;Ll;0;L;;;;;N;;;13E5;;13E5 +ABB6;CHEROKEE SMALL LETTER TSO;Ll;0;L;;;;;N;;;13E6;;13E6 +ABB7;CHEROKEE SMALL LETTER TSU;Ll;0;L;;;;;N;;;13E7;;13E7 +ABB8;CHEROKEE SMALL LETTER TSV;Ll;0;L;;;;;N;;;13E8;;13E8 +ABB9;CHEROKEE SMALL LETTER WA;Ll;0;L;;;;;N;;;13E9;;13E9 +ABBA;CHEROKEE SMALL LETTER WE;Ll;0;L;;;;;N;;;13EA;;13EA +ABBB;CHEROKEE SMALL LETTER WI;Ll;0;L;;;;;N;;;13EB;;13EB +ABBC;CHEROKEE SMALL LETTER WO;Ll;0;L;;;;;N;;;13EC;;13EC +ABBD;CHEROKEE SMALL LETTER WU;Ll;0;L;;;;;N;;;13ED;;13ED +ABBE;CHEROKEE SMALL LETTER WV;Ll;0;L;;;;;N;;;13EE;;13EE +ABBF;CHEROKEE SMALL LETTER YA;Ll;0;L;;;;;N;;;13EF;;13EF ABC0;MEETEI MAYEK LETTER KOK;Lo;0;L;;;;;N;;;;; ABC1;MEETEI MAYEK LETTER SAM;Lo;0;L;;;;;N;;;;; ABC2;MEETEI MAYEK LETTER LAI;Lo;0;L;;;;;N;;;;; @@ -15944,6 +16058,8 @@ FE2A;COMBINING TILDE RIGHT HALF BELOW;Mn;220;NSM;;;;;N;;;;; FE2B;COMBINING MACRON LEFT HALF BELOW;Mn;220;NSM;;;;;N;;;;; FE2C;COMBINING MACRON RIGHT HALF BELOW;Mn;220;NSM;;;;;N;;;;; FE2D;COMBINING CONJOINING MACRON BELOW;Mn;220;NSM;;;;;N;;;;; +FE2E;COMBINING CYRILLIC TITLO LEFT HALF;Mn;230;NSM;;;;;N;;;;; +FE2F;COMBINING CYRILLIC TITLO RIGHT HALF;Mn;230;NSM;;;;;N;;;;; FE30;PRESENTATION FORM FOR VERTICAL TWO DOT LEADER;Po;0;ON; 2025;;;;N;GLYPH FOR VERTICAL TWO DOT LEADER;;;; FE31;PRESENTATION FORM FOR VERTICAL EM DASH;Pd;0;ON; 2014;;;;N;GLYPH FOR VERTICAL EM DASH;;;; FE32;PRESENTATION FORM FOR VERTICAL EN DASH;Pd;0;ON; 2013;;;;N;GLYPH FOR VERTICAL EN DASH;;;; @@ -17830,6 +17946,32 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 108AD;NABATAEAN NUMBER TEN;No;0;R;;;;10;N;;;;; 108AE;NABATAEAN NUMBER TWENTY;No;0;R;;;;20;N;;;;; 108AF;NABATAEAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +108E0;HATRAN LETTER ALEPH;Lo;0;R;;;;;N;;;;; +108E1;HATRAN LETTER BETH;Lo;0;R;;;;;N;;;;; +108E2;HATRAN LETTER GIMEL;Lo;0;R;;;;;N;;;;; +108E3;HATRAN LETTER DALETH-RESH;Lo;0;R;;;;;N;;;;; +108E4;HATRAN LETTER HE;Lo;0;R;;;;;N;;;;; +108E5;HATRAN LETTER WAW;Lo;0;R;;;;;N;;;;; +108E6;HATRAN LETTER ZAYN;Lo;0;R;;;;;N;;;;; +108E7;HATRAN LETTER HETH;Lo;0;R;;;;;N;;;;; +108E8;HATRAN LETTER TETH;Lo;0;R;;;;;N;;;;; +108E9;HATRAN LETTER YODH;Lo;0;R;;;;;N;;;;; +108EA;HATRAN LETTER KAPH;Lo;0;R;;;;;N;;;;; +108EB;HATRAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;; +108EC;HATRAN LETTER MEM;Lo;0;R;;;;;N;;;;; +108ED;HATRAN LETTER NUN;Lo;0;R;;;;;N;;;;; +108EE;HATRAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;; +108EF;HATRAN LETTER AYN;Lo;0;R;;;;;N;;;;; +108F0;HATRAN LETTER PE;Lo;0;R;;;;;N;;;;; +108F1;HATRAN LETTER SADHE;Lo;0;R;;;;;N;;;;; +108F2;HATRAN LETTER QOPH;Lo;0;R;;;;;N;;;;; +108F4;HATRAN LETTER SHIN;Lo;0;R;;;;;N;;;;; +108F5;HATRAN LETTER TAW;Lo;0;R;;;;;N;;;;; +108FB;HATRAN NUMBER ONE;No;0;R;;;;1;N;;;;; +108FC;HATRAN NUMBER FIVE;No;0;R;;;;5;N;;;;; +108FD;HATRAN NUMBER TEN;No;0;R;;;;10;N;;;;; +108FE;HATRAN NUMBER TWENTY;No;0;R;;;;20;N;;;;; +108FF;HATRAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; 10900;PHOENICIAN LETTER ALF;Lo;0;R;;;;;N;;;;; 10901;PHOENICIAN LETTER BET;Lo;0;R;;;;;N;;;;; 10902;PHOENICIAN LETTER GAML;Lo;0;R;;;;;N;;;;; @@ -17942,8 +18084,72 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 109B5;MEROITIC CURSIVE LETTER TE;Lo;0;R;;;;;N;;;;; 109B6;MEROITIC CURSIVE LETTER TO;Lo;0;R;;;;;N;;;;; 109B7;MEROITIC CURSIVE LETTER DA;Lo;0;R;;;;;N;;;;; +109BC;MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS;No;0;R;;;;11/12;N;;;;; +109BD;MEROITIC CURSIVE FRACTION ONE HALF;No;0;R;;;;1/2;N;;;;; 109BE;MEROITIC CURSIVE LOGOGRAM RMT;Lo;0;R;;;;;N;;;;; 109BF;MEROITIC CURSIVE LOGOGRAM IMN;Lo;0;R;;;;;N;;;;; +109C0;MEROITIC CURSIVE NUMBER ONE;No;0;R;;;;1;N;;;;; +109C1;MEROITIC CURSIVE NUMBER TWO;No;0;R;;;;2;N;;;;; +109C2;MEROITIC CURSIVE NUMBER THREE;No;0;R;;;;3;N;;;;; +109C3;MEROITIC CURSIVE NUMBER FOUR;No;0;R;;;;4;N;;;;; +109C4;MEROITIC CURSIVE NUMBER FIVE;No;0;R;;;;5;N;;;;; +109C5;MEROITIC CURSIVE NUMBER SIX;No;0;R;;;;6;N;;;;; +109C6;MEROITIC CURSIVE NUMBER SEVEN;No;0;R;;;;7;N;;;;; +109C7;MEROITIC CURSIVE NUMBER EIGHT;No;0;R;;;;8;N;;;;; +109C8;MEROITIC CURSIVE NUMBER NINE;No;0;R;;;;9;N;;;;; +109C9;MEROITIC CURSIVE NUMBER TEN;No;0;R;;;;10;N;;;;; +109CA;MEROITIC CURSIVE NUMBER TWENTY;No;0;R;;;;20;N;;;;; +109CB;MEROITIC CURSIVE NUMBER THIRTY;No;0;R;;;;30;N;;;;; +109CC;MEROITIC CURSIVE NUMBER FORTY;No;0;R;;;;40;N;;;;; +109CD;MEROITIC CURSIVE NUMBER FIFTY;No;0;R;;;;50;N;;;;; +109CE;MEROITIC CURSIVE NUMBER SIXTY;No;0;R;;;;60;N;;;;; +109CF;MEROITIC CURSIVE NUMBER SEVENTY;No;0;R;;;;70;N;;;;; +109D2;MEROITIC CURSIVE NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +109D3;MEROITIC CURSIVE NUMBER TWO HUNDRED;No;0;R;;;;200;N;;;;; +109D4;MEROITIC CURSIVE NUMBER THREE HUNDRED;No;0;R;;;;300;N;;;;; +109D5;MEROITIC CURSIVE NUMBER FOUR HUNDRED;No;0;R;;;;400;N;;;;; +109D6;MEROITIC CURSIVE NUMBER FIVE HUNDRED;No;0;R;;;;500;N;;;;; +109D7;MEROITIC CURSIVE NUMBER SIX HUNDRED;No;0;R;;;;600;N;;;;; +109D8;MEROITIC CURSIVE NUMBER SEVEN HUNDRED;No;0;R;;;;700;N;;;;; +109D9;MEROITIC CURSIVE NUMBER EIGHT HUNDRED;No;0;R;;;;800;N;;;;; +109DA;MEROITIC CURSIVE NUMBER NINE HUNDRED;No;0;R;;;;900;N;;;;; +109DB;MEROITIC CURSIVE NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;; +109DC;MEROITIC CURSIVE NUMBER TWO THOUSAND;No;0;R;;;;2000;N;;;;; +109DD;MEROITIC CURSIVE NUMBER THREE THOUSAND;No;0;R;;;;3000;N;;;;; +109DE;MEROITIC CURSIVE NUMBER FOUR THOUSAND;No;0;R;;;;4000;N;;;;; +109DF;MEROITIC CURSIVE NUMBER FIVE THOUSAND;No;0;R;;;;5000;N;;;;; +109E0;MEROITIC CURSIVE NUMBER SIX THOUSAND;No;0;R;;;;6000;N;;;;; +109E1;MEROITIC CURSIVE NUMBER SEVEN THOUSAND;No;0;R;;;;7000;N;;;;; +109E2;MEROITIC CURSIVE NUMBER EIGHT THOUSAND;No;0;R;;;;8000;N;;;;; +109E3;MEROITIC CURSIVE NUMBER NINE THOUSAND;No;0;R;;;;9000;N;;;;; +109E4;MEROITIC CURSIVE NUMBER TEN THOUSAND;No;0;R;;;;10000;N;;;;; +109E5;MEROITIC CURSIVE NUMBER TWENTY THOUSAND;No;0;R;;;;20000;N;;;;; +109E6;MEROITIC CURSIVE NUMBER THIRTY THOUSAND;No;0;R;;;;30000;N;;;;; +109E7;MEROITIC CURSIVE NUMBER FORTY THOUSAND;No;0;R;;;;40000;N;;;;; +109E8;MEROITIC CURSIVE NUMBER FIFTY THOUSAND;No;0;R;;;;50000;N;;;;; +109E9;MEROITIC CURSIVE NUMBER SIXTY THOUSAND;No;0;R;;;;60000;N;;;;; +109EA;MEROITIC CURSIVE NUMBER SEVENTY THOUSAND;No;0;R;;;;70000;N;;;;; +109EB;MEROITIC CURSIVE NUMBER EIGHTY THOUSAND;No;0;R;;;;80000;N;;;;; +109EC;MEROITIC CURSIVE NUMBER NINETY THOUSAND;No;0;R;;;;90000;N;;;;; +109ED;MEROITIC CURSIVE NUMBER ONE HUNDRED THOUSAND;No;0;R;;;;100000;N;;;;; +109EE;MEROITIC CURSIVE NUMBER TWO HUNDRED THOUSAND;No;0;R;;;;200000;N;;;;; +109EF;MEROITIC CURSIVE NUMBER THREE HUNDRED THOUSAND;No;0;R;;;;300000;N;;;;; +109F0;MEROITIC CURSIVE NUMBER FOUR HUNDRED THOUSAND;No;0;R;;;;400000;N;;;;; +109F1;MEROITIC CURSIVE NUMBER FIVE HUNDRED THOUSAND;No;0;R;;;;500000;N;;;;; +109F2;MEROITIC CURSIVE NUMBER SIX HUNDRED THOUSAND;No;0;R;;;;600000;N;;;;; +109F3;MEROITIC CURSIVE NUMBER SEVEN HUNDRED THOUSAND;No;0;R;;;;700000;N;;;;; +109F4;MEROITIC CURSIVE NUMBER EIGHT HUNDRED THOUSAND;No;0;R;;;;800000;N;;;;; +109F5;MEROITIC CURSIVE NUMBER NINE HUNDRED THOUSAND;No;0;R;;;;900000;N;;;;; +109F6;MEROITIC CURSIVE FRACTION ONE TWELFTH;No;0;R;;;;1/12;N;;;;; +109F7;MEROITIC CURSIVE FRACTION TWO TWELFTHS;No;0;R;;;;2/12;N;;;;; +109F8;MEROITIC CURSIVE FRACTION THREE TWELFTHS;No;0;R;;;;3/12;N;;;;; +109F9;MEROITIC CURSIVE FRACTION FOUR TWELFTHS;No;0;R;;;;4/12;N;;;;; +109FA;MEROITIC CURSIVE FRACTION FIVE TWELFTHS;No;0;R;;;;5/12;N;;;;; +109FB;MEROITIC CURSIVE FRACTION SIX TWELFTHS;No;0;R;;;;6/12;N;;;;; +109FC;MEROITIC CURSIVE FRACTION SEVEN TWELFTHS;No;0;R;;;;7/12;N;;;;; +109FD;MEROITIC CURSIVE FRACTION EIGHT TWELFTHS;No;0;R;;;;8/12;N;;;;; +109FE;MEROITIC CURSIVE FRACTION NINE TWELFTHS;No;0;R;;;;9/12;N;;;;; +109FF;MEROITIC CURSIVE FRACTION TEN TWELFTHS;No;0;R;;;;10/12;N;;;;; 10A00;KHAROSHTHI LETTER A;Lo;0;R;;;;;N;;;;; 10A01;KHAROSHTHI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; 10A02;KHAROSHTHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; @@ -18344,6 +18550,114 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 10C46;OLD TURKIC LETTER YENISEI AET;Lo;0;R;;;;;N;;;;; 10C47;OLD TURKIC LETTER ORKHON OT;Lo;0;R;;;;;N;;;;; 10C48;OLD TURKIC LETTER ORKHON BASH;Lo;0;R;;;;;N;;;;; +10C80;OLD HUNGARIAN CAPITAL LETTER A;Lu;0;R;;;;;N;;;;10CC0; +10C81;OLD HUNGARIAN CAPITAL LETTER AA;Lu;0;R;;;;;N;;;;10CC1; +10C82;OLD HUNGARIAN CAPITAL LETTER EB;Lu;0;R;;;;;N;;;;10CC2; +10C83;OLD HUNGARIAN CAPITAL LETTER AMB;Lu;0;R;;;;;N;;;;10CC3; +10C84;OLD HUNGARIAN CAPITAL LETTER EC;Lu;0;R;;;;;N;;;;10CC4; +10C85;OLD HUNGARIAN CAPITAL LETTER ENC;Lu;0;R;;;;;N;;;;10CC5; +10C86;OLD HUNGARIAN CAPITAL LETTER ECS;Lu;0;R;;;;;N;;;;10CC6; +10C87;OLD HUNGARIAN CAPITAL LETTER ED;Lu;0;R;;;;;N;;;;10CC7; +10C88;OLD HUNGARIAN CAPITAL LETTER AND;Lu;0;R;;;;;N;;;;10CC8; +10C89;OLD HUNGARIAN CAPITAL LETTER E;Lu;0;R;;;;;N;;;;10CC9; +10C8A;OLD HUNGARIAN CAPITAL LETTER CLOSE E;Lu;0;R;;;;;N;;;;10CCA; +10C8B;OLD HUNGARIAN CAPITAL LETTER EE;Lu;0;R;;;;;N;;;;10CCB; +10C8C;OLD HUNGARIAN CAPITAL LETTER EF;Lu;0;R;;;;;N;;;;10CCC; +10C8D;OLD HUNGARIAN CAPITAL LETTER EG;Lu;0;R;;;;;N;;;;10CCD; +10C8E;OLD HUNGARIAN CAPITAL LETTER EGY;Lu;0;R;;;;;N;;;;10CCE; +10C8F;OLD HUNGARIAN CAPITAL LETTER EH;Lu;0;R;;;;;N;;;;10CCF; +10C90;OLD HUNGARIAN CAPITAL LETTER I;Lu;0;R;;;;;N;;;;10CD0; +10C91;OLD HUNGARIAN CAPITAL LETTER II;Lu;0;R;;;;;N;;;;10CD1; +10C92;OLD HUNGARIAN CAPITAL LETTER EJ;Lu;0;R;;;;;N;;;;10CD2; +10C93;OLD HUNGARIAN CAPITAL LETTER EK;Lu;0;R;;;;;N;;;;10CD3; +10C94;OLD HUNGARIAN CAPITAL LETTER AK;Lu;0;R;;;;;N;;;;10CD4; +10C95;OLD HUNGARIAN CAPITAL LETTER UNK;Lu;0;R;;;;;N;;;;10CD5; +10C96;OLD HUNGARIAN CAPITAL LETTER EL;Lu;0;R;;;;;N;;;;10CD6; +10C97;OLD HUNGARIAN CAPITAL LETTER ELY;Lu;0;R;;;;;N;;;;10CD7; +10C98;OLD HUNGARIAN CAPITAL LETTER EM;Lu;0;R;;;;;N;;;;10CD8; +10C99;OLD HUNGARIAN CAPITAL LETTER EN;Lu;0;R;;;;;N;;;;10CD9; +10C9A;OLD HUNGARIAN CAPITAL LETTER ENY;Lu;0;R;;;;;N;;;;10CDA; +10C9B;OLD HUNGARIAN CAPITAL LETTER O;Lu;0;R;;;;;N;;;;10CDB; +10C9C;OLD HUNGARIAN CAPITAL LETTER OO;Lu;0;R;;;;;N;;;;10CDC; +10C9D;OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG OE;Lu;0;R;;;;;N;;;;10CDD; +10C9E;OLD HUNGARIAN CAPITAL LETTER RUDIMENTA OE;Lu;0;R;;;;;N;;;;10CDE; +10C9F;OLD HUNGARIAN CAPITAL LETTER OEE;Lu;0;R;;;;;N;;;;10CDF; +10CA0;OLD HUNGARIAN CAPITAL LETTER EP;Lu;0;R;;;;;N;;;;10CE0; +10CA1;OLD HUNGARIAN CAPITAL LETTER EMP;Lu;0;R;;;;;N;;;;10CE1; +10CA2;OLD HUNGARIAN CAPITAL LETTER ER;Lu;0;R;;;;;N;;;;10CE2; +10CA3;OLD HUNGARIAN CAPITAL LETTER SHORT ER;Lu;0;R;;;;;N;;;;10CE3; +10CA4;OLD HUNGARIAN CAPITAL LETTER ES;Lu;0;R;;;;;N;;;;10CE4; +10CA5;OLD HUNGARIAN CAPITAL LETTER ESZ;Lu;0;R;;;;;N;;;;10CE5; +10CA6;OLD HUNGARIAN CAPITAL LETTER ET;Lu;0;R;;;;;N;;;;10CE6; +10CA7;OLD HUNGARIAN CAPITAL LETTER ENT;Lu;0;R;;;;;N;;;;10CE7; +10CA8;OLD HUNGARIAN CAPITAL LETTER ETY;Lu;0;R;;;;;N;;;;10CE8; +10CA9;OLD HUNGARIAN CAPITAL LETTER ECH;Lu;0;R;;;;;N;;;;10CE9; +10CAA;OLD HUNGARIAN CAPITAL LETTER U;Lu;0;R;;;;;N;;;;10CEA; +10CAB;OLD HUNGARIAN CAPITAL LETTER UU;Lu;0;R;;;;;N;;;;10CEB; +10CAC;OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG UE;Lu;0;R;;;;;N;;;;10CEC; +10CAD;OLD HUNGARIAN CAPITAL LETTER RUDIMENTA UE;Lu;0;R;;;;;N;;;;10CED; +10CAE;OLD HUNGARIAN CAPITAL LETTER EV;Lu;0;R;;;;;N;;;;10CEE; +10CAF;OLD HUNGARIAN CAPITAL LETTER EZ;Lu;0;R;;;;;N;;;;10CEF; +10CB0;OLD HUNGARIAN CAPITAL LETTER EZS;Lu;0;R;;;;;N;;;;10CF0; +10CB1;OLD HUNGARIAN CAPITAL LETTER ENT-SHAPED SIGN;Lu;0;R;;;;;N;;;;10CF1; +10CB2;OLD HUNGARIAN CAPITAL LETTER US;Lu;0;R;;;;;N;;;;10CF2; +10CC0;OLD HUNGARIAN SMALL LETTER A;Ll;0;R;;;;;N;;;10C80;;10C80 +10CC1;OLD HUNGARIAN SMALL LETTER AA;Ll;0;R;;;;;N;;;10C81;;10C81 +10CC2;OLD HUNGARIAN SMALL LETTER EB;Ll;0;R;;;;;N;;;10C82;;10C82 +10CC3;OLD HUNGARIAN SMALL LETTER AMB;Ll;0;R;;;;;N;;;10C83;;10C83 +10CC4;OLD HUNGARIAN SMALL LETTER EC;Ll;0;R;;;;;N;;;10C84;;10C84 +10CC5;OLD HUNGARIAN SMALL LETTER ENC;Ll;0;R;;;;;N;;;10C85;;10C85 +10CC6;OLD HUNGARIAN SMALL LETTER ECS;Ll;0;R;;;;;N;;;10C86;;10C86 +10CC7;OLD HUNGARIAN SMALL LETTER ED;Ll;0;R;;;;;N;;;10C87;;10C87 +10CC8;OLD HUNGARIAN SMALL LETTER AND;Ll;0;R;;;;;N;;;10C88;;10C88 +10CC9;OLD HUNGARIAN SMALL LETTER E;Ll;0;R;;;;;N;;;10C89;;10C89 +10CCA;OLD HUNGARIAN SMALL LETTER CLOSE E;Ll;0;R;;;;;N;;;10C8A;;10C8A +10CCB;OLD HUNGARIAN SMALL LETTER EE;Ll;0;R;;;;;N;;;10C8B;;10C8B +10CCC;OLD HUNGARIAN SMALL LETTER EF;Ll;0;R;;;;;N;;;10C8C;;10C8C +10CCD;OLD HUNGARIAN SMALL LETTER EG;Ll;0;R;;;;;N;;;10C8D;;10C8D +10CCE;OLD HUNGARIAN SMALL LETTER EGY;Ll;0;R;;;;;N;;;10C8E;;10C8E +10CCF;OLD HUNGARIAN SMALL LETTER EH;Ll;0;R;;;;;N;;;10C8F;;10C8F +10CD0;OLD HUNGARIAN SMALL LETTER I;Ll;0;R;;;;;N;;;10C90;;10C90 +10CD1;OLD HUNGARIAN SMALL LETTER II;Ll;0;R;;;;;N;;;10C91;;10C91 +10CD2;OLD HUNGARIAN SMALL LETTER EJ;Ll;0;R;;;;;N;;;10C92;;10C92 +10CD3;OLD HUNGARIAN SMALL LETTER EK;Ll;0;R;;;;;N;;;10C93;;10C93 +10CD4;OLD HUNGARIAN SMALL LETTER AK;Ll;0;R;;;;;N;;;10C94;;10C94 +10CD5;OLD HUNGARIAN SMALL LETTER UNK;Ll;0;R;;;;;N;;;10C95;;10C95 +10CD6;OLD HUNGARIAN SMALL LETTER EL;Ll;0;R;;;;;N;;;10C96;;10C96 +10CD7;OLD HUNGARIAN SMALL LETTER ELY;Ll;0;R;;;;;N;;;10C97;;10C97 +10CD8;OLD HUNGARIAN SMALL LETTER EM;Ll;0;R;;;;;N;;;10C98;;10C98 +10CD9;OLD HUNGARIAN SMALL LETTER EN;Ll;0;R;;;;;N;;;10C99;;10C99 +10CDA;OLD HUNGARIAN SMALL LETTER ENY;Ll;0;R;;;;;N;;;10C9A;;10C9A +10CDB;OLD HUNGARIAN SMALL LETTER O;Ll;0;R;;;;;N;;;10C9B;;10C9B +10CDC;OLD HUNGARIAN SMALL LETTER OO;Ll;0;R;;;;;N;;;10C9C;;10C9C +10CDD;OLD HUNGARIAN SMALL LETTER NIKOLSBURG OE;Ll;0;R;;;;;N;;;10C9D;;10C9D +10CDE;OLD HUNGARIAN SMALL LETTER RUDIMENTA OE;Ll;0;R;;;;;N;;;10C9E;;10C9E +10CDF;OLD HUNGARIAN SMALL LETTER OEE;Ll;0;R;;;;;N;;;10C9F;;10C9F +10CE0;OLD HUNGARIAN SMALL LETTER EP;Ll;0;R;;;;;N;;;10CA0;;10CA0 +10CE1;OLD HUNGARIAN SMALL LETTER EMP;Ll;0;R;;;;;N;;;10CA1;;10CA1 +10CE2;OLD HUNGARIAN SMALL LETTER ER;Ll;0;R;;;;;N;;;10CA2;;10CA2 +10CE3;OLD HUNGARIAN SMALL LETTER SHORT ER;Ll;0;R;;;;;N;;;10CA3;;10CA3 +10CE4;OLD HUNGARIAN SMALL LETTER ES;Ll;0;R;;;;;N;;;10CA4;;10CA4 +10CE5;OLD HUNGARIAN SMALL LETTER ESZ;Ll;0;R;;;;;N;;;10CA5;;10CA5 +10CE6;OLD HUNGARIAN SMALL LETTER ET;Ll;0;R;;;;;N;;;10CA6;;10CA6 +10CE7;OLD HUNGARIAN SMALL LETTER ENT;Ll;0;R;;;;;N;;;10CA7;;10CA7 +10CE8;OLD HUNGARIAN SMALL LETTER ETY;Ll;0;R;;;;;N;;;10CA8;;10CA8 +10CE9;OLD HUNGARIAN SMALL LETTER ECH;Ll;0;R;;;;;N;;;10CA9;;10CA9 +10CEA;OLD HUNGARIAN SMALL LETTER U;Ll;0;R;;;;;N;;;10CAA;;10CAA +10CEB;OLD HUNGARIAN SMALL LETTER UU;Ll;0;R;;;;;N;;;10CAB;;10CAB +10CEC;OLD HUNGARIAN SMALL LETTER NIKOLSBURG UE;Ll;0;R;;;;;N;;;10CAC;;10CAC +10CED;OLD HUNGARIAN SMALL LETTER RUDIMENTA UE;Ll;0;R;;;;;N;;;10CAD;;10CAD +10CEE;OLD HUNGARIAN SMALL LETTER EV;Ll;0;R;;;;;N;;;10CAE;;10CAE +10CEF;OLD HUNGARIAN SMALL LETTER EZ;Ll;0;R;;;;;N;;;10CAF;;10CAF +10CF0;OLD HUNGARIAN SMALL LETTER EZS;Ll;0;R;;;;;N;;;10CB0;;10CB0 +10CF1;OLD HUNGARIAN SMALL LETTER ENT-SHAPED SIGN;Ll;0;R;;;;;N;;;10CB1;;10CB1 +10CF2;OLD HUNGARIAN SMALL LETTER US;Ll;0;R;;;;;N;;;10CB2;;10CB2 +10CFA;OLD HUNGARIAN NUMBER ONE;No;0;R;;;;1;N;;;;; +10CFB;OLD HUNGARIAN NUMBER FIVE;No;0;R;;;;5;N;;;;; +10CFC;OLD HUNGARIAN NUMBER TEN;No;0;R;;;;10;N;;;;; +10CFD;OLD HUNGARIAN NUMBER FIFTY;No;0;R;;;;50;N;;;;; +10CFE;OLD HUNGARIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +10CFF;OLD HUNGARIAN NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;; 10E60;RUMI DIGIT ONE;No;0;AN;;;1;1;N;;;;; 10E61;RUMI DIGIT TWO;No;0;AN;;;2;2;N;;;;; 10E62;RUMI DIGIT THREE;No;0;AN;;;3;3;N;;;;; @@ -18764,6 +19078,10 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 111C6;SHARADA DOUBLE DANDA;Po;0;L;;;;;N;;;;; 111C7;SHARADA ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; 111C8;SHARADA SEPARATOR;Po;0;L;;;;;N;;;;; +111C9;SHARADA SANDHI MARK;Po;0;L;;;;;N;;;;; +111CA;SHARADA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +111CB;SHARADA VOWEL MODIFIER MARK;Mn;0;NSM;;;;;N;;;;; +111CC;SHARADA EXTRA SHORT VOWEL MARK;Mn;0;NSM;;;;;N;;;;; 111CD;SHARADA SUTRA MARK;Po;0;L;;;;;N;;;;; 111D0;SHARADA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; 111D1;SHARADA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; @@ -18776,6 +19094,11 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 111D8;SHARADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 111D9;SHARADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; 111DA;SHARADA EKAM;Lo;0;L;;;;;N;;;;; +111DB;SHARADA SIGN SIDDHAM;Po;0;L;;;;;N;;;;; +111DC;SHARADA HEADSTROKE;Lo;0;L;;;;;N;;;;; +111DD;SHARADA CONTINUATION SIGN;Po;0;L;;;;;N;;;;; +111DE;SHARADA SECTION MARK-1;Po;0;L;;;;;N;;;;; +111DF;SHARADA SECTION MARK-2;Po;0;L;;;;;N;;;;; 111E1;SINHALA ARCHAIC DIGIT ONE;No;0;L;;;;1;N;;;;; 111E2;SINHALA ARCHAIC DIGIT TWO;No;0;L;;;;2;N;;;;; 111E3;SINHALA ARCHAIC DIGIT THREE;No;0;L;;;;3;N;;;;; @@ -18857,6 +19180,44 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 1123B;KHOJKI SECTION MARK;Po;0;L;;;;;N;;;;; 1123C;KHOJKI DOUBLE SECTION MARK;Po;0;L;;;;;N;;;;; 1123D;KHOJKI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; +11280;MULTANI LETTER A;Lo;0;L;;;;;N;;;;; +11281;MULTANI LETTER I;Lo;0;L;;;;;N;;;;; +11282;MULTANI LETTER U;Lo;0;L;;;;;N;;;;; +11283;MULTANI LETTER E;Lo;0;L;;;;;N;;;;; +11284;MULTANI LETTER KA;Lo;0;L;;;;;N;;;;; +11285;MULTANI LETTER KHA;Lo;0;L;;;;;N;;;;; +11286;MULTANI LETTER GA;Lo;0;L;;;;;N;;;;; +11288;MULTANI LETTER GHA;Lo;0;L;;;;;N;;;;; +1128A;MULTANI LETTER CA;Lo;0;L;;;;;N;;;;; +1128B;MULTANI LETTER CHA;Lo;0;L;;;;;N;;;;; +1128C;MULTANI LETTER JA;Lo;0;L;;;;;N;;;;; +1128D;MULTANI LETTER JJA;Lo;0;L;;;;;N;;;;; +1128F;MULTANI LETTER NYA;Lo;0;L;;;;;N;;;;; +11290;MULTANI LETTER TTA;Lo;0;L;;;;;N;;;;; +11291;MULTANI LETTER TTHA;Lo;0;L;;;;;N;;;;; +11292;MULTANI LETTER DDA;Lo;0;L;;;;;N;;;;; +11293;MULTANI LETTER DDDA;Lo;0;L;;;;;N;;;;; +11294;MULTANI LETTER DDHA;Lo;0;L;;;;;N;;;;; +11295;MULTANI LETTER NNA;Lo;0;L;;;;;N;;;;; +11296;MULTANI LETTER TA;Lo;0;L;;;;;N;;;;; +11297;MULTANI LETTER THA;Lo;0;L;;;;;N;;;;; +11298;MULTANI LETTER DA;Lo;0;L;;;;;N;;;;; +11299;MULTANI LETTER DHA;Lo;0;L;;;;;N;;;;; +1129A;MULTANI LETTER NA;Lo;0;L;;;;;N;;;;; +1129B;MULTANI LETTER PA;Lo;0;L;;;;;N;;;;; +1129C;MULTANI LETTER PHA;Lo;0;L;;;;;N;;;;; +1129D;MULTANI LETTER BA;Lo;0;L;;;;;N;;;;; +1129F;MULTANI LETTER BHA;Lo;0;L;;;;;N;;;;; +112A0;MULTANI LETTER MA;Lo;0;L;;;;;N;;;;; +112A1;MULTANI LETTER YA;Lo;0;L;;;;;N;;;;; +112A2;MULTANI LETTER RA;Lo;0;L;;;;;N;;;;; +112A3;MULTANI LETTER LA;Lo;0;L;;;;;N;;;;; +112A4;MULTANI LETTER VA;Lo;0;L;;;;;N;;;;; +112A5;MULTANI LETTER SA;Lo;0;L;;;;;N;;;;; +112A6;MULTANI LETTER HA;Lo;0;L;;;;;N;;;;; +112A7;MULTANI LETTER RRA;Lo;0;L;;;;;N;;;;; +112A8;MULTANI LETTER RHA;Lo;0;L;;;;;N;;;;; +112A9;MULTANI SECTION MARK;Po;0;L;;;;;N;;;;; 112B0;KHUDAWADI LETTER A;Lo;0;L;;;;;N;;;;; 112B1;KHUDAWADI LETTER AA;Lo;0;L;;;;;N;;;;; 112B2;KHUDAWADI LETTER I;Lo;0;L;;;;;N;;;;; @@ -18926,6 +19287,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 112F7;KHUDAWADI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 112F8;KHUDAWADI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 112F9;KHUDAWADI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +11300;GRANTHA SIGN COMBINING ANUSVARA ABOVE;Mn;0;NSM;;;;;N;;;;; 11301;GRANTHA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; 11302;GRANTHA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; 11303;GRANTHA SIGN VISARGA;Mc;0;L;;;;;N;;;;; @@ -18989,6 +19351,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 1134B;GRANTHA VOWEL SIGN OO;Mc;0;L;11347 1133E;;;;N;;;;; 1134C;GRANTHA VOWEL SIGN AU;Mc;0;L;11347 11357;;;;N;;;;; 1134D;GRANTHA SIGN VIRAMA;Mc;9;L;;;;;N;;;;; +11350;GRANTHA OM;Lo;0;L;;;;;N;;;;; 11357;GRANTHA AU LENGTH MARK;Mc;0;L;;;;;N;;;;; 1135D;GRANTHA SIGN PLUTA;Lo;0;L;;;;;N;;;;; 1135E;GRANTHA LETTER VEDIC ANUSVARA;Lo;0;L;;;;;N;;;;; @@ -19163,6 +19526,26 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 115C7;SIDDHAM REPETITION MARK-2;Po;0;L;;;;;N;;;;; 115C8;SIDDHAM REPETITION MARK-3;Po;0;L;;;;;N;;;;; 115C9;SIDDHAM END OF TEXT MARK;Po;0;L;;;;;N;;;;; +115CA;SIDDHAM SECTION MARK WITH TRIDENT AND U-SHAPED ORNAMENTS;Po;0;L;;;;;N;;;;; +115CB;SIDDHAM SECTION MARK WITH TRIDENT AND DOTTED CRESCENTS;Po;0;L;;;;;N;;;;; +115CC;SIDDHAM SECTION MARK WITH RAYS AND DOTTED CRESCENTS;Po;0;L;;;;;N;;;;; +115CD;SIDDHAM SECTION MARK WITH RAYS AND DOTTED DOUBLE CRESCENTS;Po;0;L;;;;;N;;;;; +115CE;SIDDHAM SECTION MARK WITH RAYS AND DOTTED TRIPLE CRESCENTS;Po;0;L;;;;;N;;;;; +115CF;SIDDHAM SECTION MARK DOUBLE RING;Po;0;L;;;;;N;;;;; +115D0;SIDDHAM SECTION MARK DOUBLE RING WITH RAYS;Po;0;L;;;;;N;;;;; +115D1;SIDDHAM SECTION MARK WITH DOUBLE CRESCENTS;Po;0;L;;;;;N;;;;; +115D2;SIDDHAM SECTION MARK WITH TRIPLE CRESCENTS;Po;0;L;;;;;N;;;;; +115D3;SIDDHAM SECTION MARK WITH QUADRUPLE CRESCENTS;Po;0;L;;;;;N;;;;; +115D4;SIDDHAM SECTION MARK WITH SEPTUPLE CRESCENTS;Po;0;L;;;;;N;;;;; +115D5;SIDDHAM SECTION MARK WITH CIRCLES AND RAYS;Po;0;L;;;;;N;;;;; +115D6;SIDDHAM SECTION MARK WITH CIRCLES AND TWO ENCLOSURES;Po;0;L;;;;;N;;;;; +115D7;SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES;Po;0;L;;;;;N;;;;; +115D8;SIDDHAM LETTER THREE-CIRCLE ALTERNATE I;Lo;0;L;;;;;N;;;;; +115D9;SIDDHAM LETTER TWO-CIRCLE ALTERNATE I;Lo;0;L;;;;;N;;;;; +115DA;SIDDHAM LETTER TWO-CIRCLE ALTERNATE II;Lo;0;L;;;;;N;;;;; +115DB;SIDDHAM LETTER ALTERNATE U;Lo;0;L;;;;;N;;;;; +115DC;SIDDHAM VOWEL SIGN ALTERNATE U;Mn;0;NSM;;;;;N;;;;; +115DD;SIDDHAM VOWEL SIGN ALTERNATE UU;Mn;0;NSM;;;;;N;;;;; 11600;MODI LETTER A;Lo;0;L;;;;;N;;;;; 11601;MODI LETTER AA;Lo;0;L;;;;;N;;;;; 11602;MODI LETTER I;Lo;0;L;;;;;N;;;;; @@ -19308,6 +19691,63 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 116C7;TAKRI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; 116C8;TAKRI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; 116C9;TAKRI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +11700;AHOM LETTER KA;Lo;0;L;;;;;N;;;;; +11701;AHOM LETTER KHA;Lo;0;L;;;;;N;;;;; +11702;AHOM LETTER NGA;Lo;0;L;;;;;N;;;;; +11703;AHOM LETTER NA;Lo;0;L;;;;;N;;;;; +11704;AHOM LETTER TA;Lo;0;L;;;;;N;;;;; +11705;AHOM LETTER ALTERNATE TA;Lo;0;L;;;;;N;;;;; +11706;AHOM LETTER PA;Lo;0;L;;;;;N;;;;; +11707;AHOM LETTER PHA;Lo;0;L;;;;;N;;;;; +11708;AHOM LETTER BA;Lo;0;L;;;;;N;;;;; +11709;AHOM LETTER MA;Lo;0;L;;;;;N;;;;; +1170A;AHOM LETTER JA;Lo;0;L;;;;;N;;;;; +1170B;AHOM LETTER CHA;Lo;0;L;;;;;N;;;;; +1170C;AHOM LETTER THA;Lo;0;L;;;;;N;;;;; +1170D;AHOM LETTER RA;Lo;0;L;;;;;N;;;;; +1170E;AHOM LETTER LA;Lo;0;L;;;;;N;;;;; +1170F;AHOM LETTER SA;Lo;0;L;;;;;N;;;;; +11710;AHOM LETTER NYA;Lo;0;L;;;;;N;;;;; +11711;AHOM LETTER HA;Lo;0;L;;;;;N;;;;; +11712;AHOM LETTER A;Lo;0;L;;;;;N;;;;; +11713;AHOM LETTER DA;Lo;0;L;;;;;N;;;;; +11714;AHOM LETTER DHA;Lo;0;L;;;;;N;;;;; +11715;AHOM LETTER GA;Lo;0;L;;;;;N;;;;; +11716;AHOM LETTER ALTERNATE GA;Lo;0;L;;;;;N;;;;; +11717;AHOM LETTER GHA;Lo;0;L;;;;;N;;;;; +11718;AHOM LETTER BHA;Lo;0;L;;;;;N;;;;; +11719;AHOM LETTER JHA;Lo;0;L;;;;;N;;;;; +1171D;AHOM CONSONANT SIGN MEDIAL LA;Mn;0;NSM;;;;;N;;;;; +1171E;AHOM CONSONANT SIGN MEDIAL RA;Mn;0;NSM;;;;;N;;;;; +1171F;AHOM CONSONANT SIGN MEDIAL LIGATING RA;Mn;0;NSM;;;;;N;;;;; +11720;AHOM VOWEL SIGN A;Mc;0;L;;;;;N;;;;; +11721;AHOM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +11722;AHOM VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +11723;AHOM VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +11724;AHOM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +11725;AHOM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +11726;AHOM VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +11727;AHOM VOWEL SIGN AW;Mn;0;NSM;;;;;N;;;;; +11728;AHOM VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +11729;AHOM VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +1172A;AHOM VOWEL SIGN AM;Mn;0;NSM;;;;;N;;;;; +1172B;AHOM SIGN KILLER;Mn;9;NSM;;;;;N;;;;; +11730;AHOM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +11731;AHOM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +11732;AHOM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +11733;AHOM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +11734;AHOM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +11735;AHOM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +11736;AHOM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +11737;AHOM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +11738;AHOM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +11739;AHOM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1173A;AHOM NUMBER TEN;No;0;L;;;;10;N;;;;; +1173B;AHOM NUMBER TWENTY;No;0;L;;;;20;N;;;;; +1173C;AHOM SIGN SMALL SECTION;Po;0;L;;;;;N;;;;; +1173D;AHOM SIGN SECTION;Po;0;L;;;;;N;;;;; +1173E;AHOM SIGN RULAI;Po;0;L;;;;;N;;;;; +1173F;AHOM SYMBOL VI;So;0;L;;;;;N;;;;; 118A0;WARANG CITI CAPITAL LETTER NGAA;Lu;0;L;;;;;N;;;;118C0; 118A1;WARANG CITI CAPITAL LETTER A;Lu;0;L;;;;;N;;;;118C1; 118A2;WARANG CITI CAPITAL LETTER WI;Lu;0;L;;;;;N;;;;118C2; @@ -20370,6 +20810,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 12396;CUNEIFORM SIGN SAG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; 12397;CUNEIFORM SIGN TI2;Lo;0;L;;;;;N;;;;; 12398;CUNEIFORM SIGN UM TIMES ME;Lo;0;L;;;;;N;;;;; +12399;CUNEIFORM SIGN U U;Lo;0;L;;;;;N;;;;; 12400;CUNEIFORM NUMERIC SIGN TWO ASH;Nl;0;L;;;;2;N;;;;; 12401;CUNEIFORM NUMERIC SIGN THREE ASH;Nl;0;L;;;;3;N;;;;; 12402;CUNEIFORM NUMERIC SIGN FOUR ASH;Nl;0;L;;;;4;N;;;;; @@ -20486,6 +20927,202 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 12472;CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON;Po;0;L;;;;;N;;;;; 12473;CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON;Po;0;L;;;;;N;;;;; 12474;CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON;Po;0;L;;;;;N;;;;; +12480;CUNEIFORM SIGN AB TIMES NUN TENU;Lo;0;L;;;;;N;;;;; +12481;CUNEIFORM SIGN AB TIMES SHU2;Lo;0;L;;;;;N;;;;; +12482;CUNEIFORM SIGN AD TIMES ESH2;Lo;0;L;;;;;N;;;;; +12483;CUNEIFORM SIGN BAD TIMES DISH TENU;Lo;0;L;;;;;N;;;;; +12484;CUNEIFORM SIGN BAHAR2 TIMES AB2;Lo;0;L;;;;;N;;;;; +12485;CUNEIFORM SIGN BAHAR2 TIMES NI;Lo;0;L;;;;;N;;;;; +12486;CUNEIFORM SIGN BAHAR2 TIMES ZA;Lo;0;L;;;;;N;;;;; +12487;CUNEIFORM SIGN BU OVER BU TIMES NA2;Lo;0;L;;;;;N;;;;; +12488;CUNEIFORM SIGN DA TIMES TAK4;Lo;0;L;;;;;N;;;;; +12489;CUNEIFORM SIGN DAG TIMES KUR;Lo;0;L;;;;;N;;;;; +1248A;CUNEIFORM SIGN DIM TIMES IGI;Lo;0;L;;;;;N;;;;; +1248B;CUNEIFORM SIGN DIM TIMES U U U;Lo;0;L;;;;;N;;;;; +1248C;CUNEIFORM SIGN DIM2 TIMES UD;Lo;0;L;;;;;N;;;;; +1248D;CUNEIFORM SIGN DUG TIMES ANSHE;Lo;0;L;;;;;N;;;;; +1248E;CUNEIFORM SIGN DUG TIMES ASH;Lo;0;L;;;;;N;;;;; +1248F;CUNEIFORM SIGN DUG TIMES ASH AT LEFT;Lo;0;L;;;;;N;;;;; +12490;CUNEIFORM SIGN DUG TIMES DIN;Lo;0;L;;;;;N;;;;; +12491;CUNEIFORM SIGN DUG TIMES DUN;Lo;0;L;;;;;N;;;;; +12492;CUNEIFORM SIGN DUG TIMES ERIN2;Lo;0;L;;;;;N;;;;; +12493;CUNEIFORM SIGN DUG TIMES GA;Lo;0;L;;;;;N;;;;; +12494;CUNEIFORM SIGN DUG TIMES GI;Lo;0;L;;;;;N;;;;; +12495;CUNEIFORM SIGN DUG TIMES GIR2 GUNU;Lo;0;L;;;;;N;;;;; +12496;CUNEIFORM SIGN DUG TIMES GISH;Lo;0;L;;;;;N;;;;; +12497;CUNEIFORM SIGN DUG TIMES HA;Lo;0;L;;;;;N;;;;; +12498;CUNEIFORM SIGN DUG TIMES HI;Lo;0;L;;;;;N;;;;; +12499;CUNEIFORM SIGN DUG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +1249A;CUNEIFORM SIGN DUG TIMES KASKAL;Lo;0;L;;;;;N;;;;; +1249B;CUNEIFORM SIGN DUG TIMES KUR;Lo;0;L;;;;;N;;;;; +1249C;CUNEIFORM SIGN DUG TIMES KUSHU2;Lo;0;L;;;;;N;;;;; +1249D;CUNEIFORM SIGN DUG TIMES KUSHU2 PLUS KASKAL;Lo;0;L;;;;;N;;;;; +1249E;CUNEIFORM SIGN DUG TIMES LAK-020;Lo;0;L;;;;;N;;;;; +1249F;CUNEIFORM SIGN DUG TIMES LAM;Lo;0;L;;;;;N;;;;; +124A0;CUNEIFORM SIGN DUG TIMES LAM TIMES KUR;Lo;0;L;;;;;N;;;;; +124A1;CUNEIFORM SIGN DUG TIMES LUH PLUS GISH;Lo;0;L;;;;;N;;;;; +124A2;CUNEIFORM SIGN DUG TIMES MASH;Lo;0;L;;;;;N;;;;; +124A3;CUNEIFORM SIGN DUG TIMES MES;Lo;0;L;;;;;N;;;;; +124A4;CUNEIFORM SIGN DUG TIMES MI;Lo;0;L;;;;;N;;;;; +124A5;CUNEIFORM SIGN DUG TIMES NI;Lo;0;L;;;;;N;;;;; +124A6;CUNEIFORM SIGN DUG TIMES PI;Lo;0;L;;;;;N;;;;; +124A7;CUNEIFORM SIGN DUG TIMES SHE;Lo;0;L;;;;;N;;;;; +124A8;CUNEIFORM SIGN DUG TIMES SI GUNU;Lo;0;L;;;;;N;;;;; +124A9;CUNEIFORM SIGN E2 TIMES KUR;Lo;0;L;;;;;N;;;;; +124AA;CUNEIFORM SIGN E2 TIMES PAP;Lo;0;L;;;;;N;;;;; +124AB;CUNEIFORM SIGN ERIN2 X;Lo;0;L;;;;;N;;;;; +124AC;CUNEIFORM SIGN ESH2 CROSSING ESH2;Lo;0;L;;;;;N;;;;; +124AD;CUNEIFORM SIGN EZEN SHESHIG TIMES ASH;Lo;0;L;;;;;N;;;;; +124AE;CUNEIFORM SIGN EZEN SHESHIG TIMES HI;Lo;0;L;;;;;N;;;;; +124AF;CUNEIFORM SIGN EZEN SHESHIG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +124B0;CUNEIFORM SIGN EZEN SHESHIG TIMES LA;Lo;0;L;;;;;N;;;;; +124B1;CUNEIFORM SIGN EZEN SHESHIG TIMES LAL;Lo;0;L;;;;;N;;;;; +124B2;CUNEIFORM SIGN EZEN SHESHIG TIMES ME;Lo;0;L;;;;;N;;;;; +124B3;CUNEIFORM SIGN EZEN SHESHIG TIMES MES;Lo;0;L;;;;;N;;;;; +124B4;CUNEIFORM SIGN EZEN SHESHIG TIMES SU;Lo;0;L;;;;;N;;;;; +124B5;CUNEIFORM SIGN EZEN TIMES SU;Lo;0;L;;;;;N;;;;; +124B6;CUNEIFORM SIGN GA2 TIMES BAHAR2;Lo;0;L;;;;;N;;;;; +124B7;CUNEIFORM SIGN GA2 TIMES DIM GUNU;Lo;0;L;;;;;N;;;;; +124B8;CUNEIFORM SIGN GA2 TIMES DUG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +124B9;CUNEIFORM SIGN GA2 TIMES DUG TIMES KASKAL;Lo;0;L;;;;;N;;;;; +124BA;CUNEIFORM SIGN GA2 TIMES EREN;Lo;0;L;;;;;N;;;;; +124BB;CUNEIFORM SIGN GA2 TIMES GA;Lo;0;L;;;;;N;;;;; +124BC;CUNEIFORM SIGN GA2 TIMES GAR PLUS DI;Lo;0;L;;;;;N;;;;; +124BD;CUNEIFORM SIGN GA2 TIMES GAR PLUS NE;Lo;0;L;;;;;N;;;;; +124BE;CUNEIFORM SIGN GA2 TIMES HA PLUS A;Lo;0;L;;;;;N;;;;; +124BF;CUNEIFORM SIGN GA2 TIMES KUSHU2 PLUS KASKAL;Lo;0;L;;;;;N;;;;; +124C0;CUNEIFORM SIGN GA2 TIMES LAM;Lo;0;L;;;;;N;;;;; +124C1;CUNEIFORM SIGN GA2 TIMES LAM TIMES KUR;Lo;0;L;;;;;N;;;;; +124C2;CUNEIFORM SIGN GA2 TIMES LUH;Lo;0;L;;;;;N;;;;; +124C3;CUNEIFORM SIGN GA2 TIMES MUSH;Lo;0;L;;;;;N;;;;; +124C4;CUNEIFORM SIGN GA2 TIMES NE;Lo;0;L;;;;;N;;;;; +124C5;CUNEIFORM SIGN GA2 TIMES NE PLUS E2;Lo;0;L;;;;;N;;;;; +124C6;CUNEIFORM SIGN GA2 TIMES NE PLUS GI;Lo;0;L;;;;;N;;;;; +124C7;CUNEIFORM SIGN GA2 TIMES SHIM;Lo;0;L;;;;;N;;;;; +124C8;CUNEIFORM SIGN GA2 TIMES ZIZ2;Lo;0;L;;;;;N;;;;; +124C9;CUNEIFORM SIGN GABA ROTATED NINETY DEGREES;Lo;0;L;;;;;N;;;;; +124CA;CUNEIFORM SIGN GESHTIN TIMES U;Lo;0;L;;;;;N;;;;; +124CB;CUNEIFORM SIGN GISH TIMES GISH CROSSING GISH;Lo;0;L;;;;;N;;;;; +124CC;CUNEIFORM SIGN GU2 TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +124CD;CUNEIFORM SIGN GUD PLUS GISH TIMES TAK4;Lo;0;L;;;;;N;;;;; +124CE;CUNEIFORM SIGN HA TENU GUNU;Lo;0;L;;;;;N;;;;; +124CF;CUNEIFORM SIGN HI TIMES ASH OVER HI TIMES ASH;Lo;0;L;;;;;N;;;;; +124D0;CUNEIFORM SIGN KA TIMES BU;Lo;0;L;;;;;N;;;;; +124D1;CUNEIFORM SIGN KA TIMES KA;Lo;0;L;;;;;N;;;;; +124D2;CUNEIFORM SIGN KA TIMES U U U;Lo;0;L;;;;;N;;;;; +124D3;CUNEIFORM SIGN KA TIMES UR;Lo;0;L;;;;;N;;;;; +124D4;CUNEIFORM SIGN LAGAB TIMES ZU OVER ZU;Lo;0;L;;;;;N;;;;; +124D5;CUNEIFORM SIGN LAK-003;Lo;0;L;;;;;N;;;;; +124D6;CUNEIFORM SIGN LAK-021;Lo;0;L;;;;;N;;;;; +124D7;CUNEIFORM SIGN LAK-025;Lo;0;L;;;;;N;;;;; +124D8;CUNEIFORM SIGN LAK-030;Lo;0;L;;;;;N;;;;; +124D9;CUNEIFORM SIGN LAK-050;Lo;0;L;;;;;N;;;;; +124DA;CUNEIFORM SIGN LAK-051;Lo;0;L;;;;;N;;;;; +124DB;CUNEIFORM SIGN LAK-062;Lo;0;L;;;;;N;;;;; +124DC;CUNEIFORM SIGN LAK-079 OVER LAK-079 GUNU;Lo;0;L;;;;;N;;;;; +124DD;CUNEIFORM SIGN LAK-080;Lo;0;L;;;;;N;;;;; +124DE;CUNEIFORM SIGN LAK-081 OVER LAK-081;Lo;0;L;;;;;N;;;;; +124DF;CUNEIFORM SIGN LAK-092;Lo;0;L;;;;;N;;;;; +124E0;CUNEIFORM SIGN LAK-130;Lo;0;L;;;;;N;;;;; +124E1;CUNEIFORM SIGN LAK-142;Lo;0;L;;;;;N;;;;; +124E2;CUNEIFORM SIGN LAK-210;Lo;0;L;;;;;N;;;;; +124E3;CUNEIFORM SIGN LAK-219;Lo;0;L;;;;;N;;;;; +124E4;CUNEIFORM SIGN LAK-220;Lo;0;L;;;;;N;;;;; +124E5;CUNEIFORM SIGN LAK-225;Lo;0;L;;;;;N;;;;; +124E6;CUNEIFORM SIGN LAK-228;Lo;0;L;;;;;N;;;;; +124E7;CUNEIFORM SIGN LAK-238;Lo;0;L;;;;;N;;;;; +124E8;CUNEIFORM SIGN LAK-265;Lo;0;L;;;;;N;;;;; +124E9;CUNEIFORM SIGN LAK-266;Lo;0;L;;;;;N;;;;; +124EA;CUNEIFORM SIGN LAK-343;Lo;0;L;;;;;N;;;;; +124EB;CUNEIFORM SIGN LAK-347;Lo;0;L;;;;;N;;;;; +124EC;CUNEIFORM SIGN LAK-348;Lo;0;L;;;;;N;;;;; +124ED;CUNEIFORM SIGN LAK-383;Lo;0;L;;;;;N;;;;; +124EE;CUNEIFORM SIGN LAK-384;Lo;0;L;;;;;N;;;;; +124EF;CUNEIFORM SIGN LAK-390;Lo;0;L;;;;;N;;;;; +124F0;CUNEIFORM SIGN LAK-441;Lo;0;L;;;;;N;;;;; +124F1;CUNEIFORM SIGN LAK-449;Lo;0;L;;;;;N;;;;; +124F2;CUNEIFORM SIGN LAK-449 TIMES GU;Lo;0;L;;;;;N;;;;; +124F3;CUNEIFORM SIGN LAK-449 TIMES IGI;Lo;0;L;;;;;N;;;;; +124F4;CUNEIFORM SIGN LAK-449 TIMES PAP PLUS LU3;Lo;0;L;;;;;N;;;;; +124F5;CUNEIFORM SIGN LAK-449 TIMES PAP PLUS PAP PLUS LU3;Lo;0;L;;;;;N;;;;; +124F6;CUNEIFORM SIGN LAK-449 TIMES U2 PLUS BA;Lo;0;L;;;;;N;;;;; +124F7;CUNEIFORM SIGN LAK-450;Lo;0;L;;;;;N;;;;; +124F8;CUNEIFORM SIGN LAK-457;Lo;0;L;;;;;N;;;;; +124F9;CUNEIFORM SIGN LAK-470;Lo;0;L;;;;;N;;;;; +124FA;CUNEIFORM SIGN LAK-483;Lo;0;L;;;;;N;;;;; +124FB;CUNEIFORM SIGN LAK-490;Lo;0;L;;;;;N;;;;; +124FC;CUNEIFORM SIGN LAK-492;Lo;0;L;;;;;N;;;;; +124FD;CUNEIFORM SIGN LAK-493;Lo;0;L;;;;;N;;;;; +124FE;CUNEIFORM SIGN LAK-495;Lo;0;L;;;;;N;;;;; +124FF;CUNEIFORM SIGN LAK-550;Lo;0;L;;;;;N;;;;; +12500;CUNEIFORM SIGN LAK-608;Lo;0;L;;;;;N;;;;; +12501;CUNEIFORM SIGN LAK-617;Lo;0;L;;;;;N;;;;; +12502;CUNEIFORM SIGN LAK-617 TIMES ASH;Lo;0;L;;;;;N;;;;; +12503;CUNEIFORM SIGN LAK-617 TIMES BAD;Lo;0;L;;;;;N;;;;; +12504;CUNEIFORM SIGN LAK-617 TIMES DUN3 GUNU GUNU;Lo;0;L;;;;;N;;;;; +12505;CUNEIFORM SIGN LAK-617 TIMES KU3;Lo;0;L;;;;;N;;;;; +12506;CUNEIFORM SIGN LAK-617 TIMES LA;Lo;0;L;;;;;N;;;;; +12507;CUNEIFORM SIGN LAK-617 TIMES TAR;Lo;0;L;;;;;N;;;;; +12508;CUNEIFORM SIGN LAK-617 TIMES TE;Lo;0;L;;;;;N;;;;; +12509;CUNEIFORM SIGN LAK-617 TIMES U2;Lo;0;L;;;;;N;;;;; +1250A;CUNEIFORM SIGN LAK-617 TIMES UD;Lo;0;L;;;;;N;;;;; +1250B;CUNEIFORM SIGN LAK-617 TIMES URUDA;Lo;0;L;;;;;N;;;;; +1250C;CUNEIFORM SIGN LAK-636;Lo;0;L;;;;;N;;;;; +1250D;CUNEIFORM SIGN LAK-648;Lo;0;L;;;;;N;;;;; +1250E;CUNEIFORM SIGN LAK-648 TIMES DUB;Lo;0;L;;;;;N;;;;; +1250F;CUNEIFORM SIGN LAK-648 TIMES GA;Lo;0;L;;;;;N;;;;; +12510;CUNEIFORM SIGN LAK-648 TIMES IGI;Lo;0;L;;;;;N;;;;; +12511;CUNEIFORM SIGN LAK-648 TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +12512;CUNEIFORM SIGN LAK-648 TIMES NI;Lo;0;L;;;;;N;;;;; +12513;CUNEIFORM SIGN LAK-648 TIMES PAP PLUS PAP PLUS LU3;Lo;0;L;;;;;N;;;;; +12514;CUNEIFORM SIGN LAK-648 TIMES SHESH PLUS KI;Lo;0;L;;;;;N;;;;; +12515;CUNEIFORM SIGN LAK-648 TIMES UD;Lo;0;L;;;;;N;;;;; +12516;CUNEIFORM SIGN LAK-648 TIMES URUDA;Lo;0;L;;;;;N;;;;; +12517;CUNEIFORM SIGN LAK-724;Lo;0;L;;;;;N;;;;; +12518;CUNEIFORM SIGN LAK-749;Lo;0;L;;;;;N;;;;; +12519;CUNEIFORM SIGN LU2 GUNU TIMES ASH;Lo;0;L;;;;;N;;;;; +1251A;CUNEIFORM SIGN LU2 TIMES DISH;Lo;0;L;;;;;N;;;;; +1251B;CUNEIFORM SIGN LU2 TIMES HAL;Lo;0;L;;;;;N;;;;; +1251C;CUNEIFORM SIGN LU2 TIMES PAP;Lo;0;L;;;;;N;;;;; +1251D;CUNEIFORM SIGN LU2 TIMES PAP PLUS PAP PLUS LU3;Lo;0;L;;;;;N;;;;; +1251E;CUNEIFORM SIGN LU2 TIMES TAK4;Lo;0;L;;;;;N;;;;; +1251F;CUNEIFORM SIGN MI PLUS ZA7;Lo;0;L;;;;;N;;;;; +12520;CUNEIFORM SIGN MUSH OVER MUSH TIMES GA;Lo;0;L;;;;;N;;;;; +12521;CUNEIFORM SIGN MUSH OVER MUSH TIMES KAK;Lo;0;L;;;;;N;;;;; +12522;CUNEIFORM SIGN NINDA2 TIMES DIM GUNU;Lo;0;L;;;;;N;;;;; +12523;CUNEIFORM SIGN NINDA2 TIMES GISH;Lo;0;L;;;;;N;;;;; +12524;CUNEIFORM SIGN NINDA2 TIMES GUL;Lo;0;L;;;;;N;;;;; +12525;CUNEIFORM SIGN NINDA2 TIMES HI;Lo;0;L;;;;;N;;;;; +12526;CUNEIFORM SIGN NINDA2 TIMES KESH2;Lo;0;L;;;;;N;;;;; +12527;CUNEIFORM SIGN NINDA2 TIMES LAK-050;Lo;0;L;;;;;N;;;;; +12528;CUNEIFORM SIGN NINDA2 TIMES MASH;Lo;0;L;;;;;N;;;;; +12529;CUNEIFORM SIGN NINDA2 TIMES PAP PLUS PAP;Lo;0;L;;;;;N;;;;; +1252A;CUNEIFORM SIGN NINDA2 TIMES U;Lo;0;L;;;;;N;;;;; +1252B;CUNEIFORM SIGN NINDA2 TIMES U PLUS U;Lo;0;L;;;;;N;;;;; +1252C;CUNEIFORM SIGN NINDA2 TIMES URUDA;Lo;0;L;;;;;N;;;;; +1252D;CUNEIFORM SIGN SAG GUNU TIMES HA;Lo;0;L;;;;;N;;;;; +1252E;CUNEIFORM SIGN SAG TIMES EN;Lo;0;L;;;;;N;;;;; +1252F;CUNEIFORM SIGN SAG TIMES SHE AT LEFT;Lo;0;L;;;;;N;;;;; +12530;CUNEIFORM SIGN SAG TIMES TAK4;Lo;0;L;;;;;N;;;;; +12531;CUNEIFORM SIGN SHA6 TENU;Lo;0;L;;;;;N;;;;; +12532;CUNEIFORM SIGN SHE OVER SHE;Lo;0;L;;;;;N;;;;; +12533;CUNEIFORM SIGN SHE PLUS HUB2;Lo;0;L;;;;;N;;;;; +12534;CUNEIFORM SIGN SHE PLUS NAM2;Lo;0;L;;;;;N;;;;; +12535;CUNEIFORM SIGN SHE PLUS SAR;Lo;0;L;;;;;N;;;;; +12536;CUNEIFORM SIGN SHU2 PLUS DUG TIMES NI;Lo;0;L;;;;;N;;;;; +12537;CUNEIFORM SIGN SHU2 PLUS E2 TIMES AN;Lo;0;L;;;;;N;;;;; +12538;CUNEIFORM SIGN SI TIMES TAK4;Lo;0;L;;;;;N;;;;; +12539;CUNEIFORM SIGN TAK4 PLUS SAG;Lo;0;L;;;;;N;;;;; +1253A;CUNEIFORM SIGN TUM TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +1253B;CUNEIFORM SIGN TUM TIMES THREE DISH;Lo;0;L;;;;;N;;;;; +1253C;CUNEIFORM SIGN UR2 INVERTED;Lo;0;L;;;;;N;;;;; +1253D;CUNEIFORM SIGN UR2 TIMES UD;Lo;0;L;;;;;N;;;;; +1253E;CUNEIFORM SIGN URU TIMES DARA3;Lo;0;L;;;;;N;;;;; +1253F;CUNEIFORM SIGN URU TIMES LAK-668;Lo;0;L;;;;;N;;;;; +12540;CUNEIFORM SIGN URU TIMES LU3;Lo;0;L;;;;;N;;;;; +12541;CUNEIFORM SIGN ZA7;Lo;0;L;;;;;N;;;;; +12542;CUNEIFORM SIGN ZU OVER ZU PLUS SAR;Lo;0;L;;;;;N;;;;; +12543;CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU;Lo;0;L;;;;;N;;;;; 13000;EGYPTIAN HIEROGLYPH A001;Lo;0;L;;;;;N;;;;; 13001;EGYPTIAN HIEROGLYPH A002;Lo;0;L;;;;;N;;;;; 13002;EGYPTIAN HIEROGLYPH A003;Lo;0;L;;;;;N;;;;; @@ -21557,6 +22194,589 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 1342C;EGYPTIAN HIEROGLYPH AA030;Lo;0;L;;;;;N;;;;; 1342D;EGYPTIAN HIEROGLYPH AA031;Lo;0;L;;;;;N;;;;; 1342E;EGYPTIAN HIEROGLYPH AA032;Lo;0;L;;;;;N;;;;; +14400;ANATOLIAN HIEROGLYPH A001;Lo;0;L;;;;;N;;;;; +14401;ANATOLIAN HIEROGLYPH A002;Lo;0;L;;;;;N;;;;; +14402;ANATOLIAN HIEROGLYPH A003;Lo;0;L;;;;;N;;;;; +14403;ANATOLIAN HIEROGLYPH A004;Lo;0;L;;;;;N;;;;; +14404;ANATOLIAN HIEROGLYPH A005;Lo;0;L;;;;;N;;;;; +14405;ANATOLIAN HIEROGLYPH A006;Lo;0;L;;;;;N;;;;; +14406;ANATOLIAN HIEROGLYPH A007;Lo;0;L;;;;;N;;;;; +14407;ANATOLIAN HIEROGLYPH A008;Lo;0;L;;;;;N;;;;; +14408;ANATOLIAN HIEROGLYPH A009;Lo;0;L;;;;;N;;;;; +14409;ANATOLIAN HIEROGLYPH A010;Lo;0;L;;;;;N;;;;; +1440A;ANATOLIAN HIEROGLYPH A010A;Lo;0;L;;;;;N;;;;; +1440B;ANATOLIAN HIEROGLYPH A011;Lo;0;L;;;;;N;;;;; +1440C;ANATOLIAN HIEROGLYPH A012;Lo;0;L;;;;;N;;;;; +1440D;ANATOLIAN HIEROGLYPH A013;Lo;0;L;;;;;N;;;;; +1440E;ANATOLIAN HIEROGLYPH A014;Lo;0;L;;;;;N;;;;; +1440F;ANATOLIAN HIEROGLYPH A015;Lo;0;L;;;;;N;;;;; +14410;ANATOLIAN HIEROGLYPH A016;Lo;0;L;;;;;N;;;;; +14411;ANATOLIAN HIEROGLYPH A017;Lo;0;L;;;;;N;;;;; +14412;ANATOLIAN HIEROGLYPH A018;Lo;0;L;;;;;N;;;;; +14413;ANATOLIAN HIEROGLYPH A019;Lo;0;L;;;;;N;;;;; +14414;ANATOLIAN HIEROGLYPH A020;Lo;0;L;;;;;N;;;;; +14415;ANATOLIAN HIEROGLYPH A021;Lo;0;L;;;;;N;;;;; +14416;ANATOLIAN HIEROGLYPH A022;Lo;0;L;;;;;N;;;;; +14417;ANATOLIAN HIEROGLYPH A023;Lo;0;L;;;;;N;;;;; +14418;ANATOLIAN HIEROGLYPH A024;Lo;0;L;;;;;N;;;;; +14419;ANATOLIAN HIEROGLYPH A025;Lo;0;L;;;;;N;;;;; +1441A;ANATOLIAN HIEROGLYPH A026;Lo;0;L;;;;;N;;;;; +1441B;ANATOLIAN HIEROGLYPH A026A;Lo;0;L;;;;;N;;;;; +1441C;ANATOLIAN HIEROGLYPH A027;Lo;0;L;;;;;N;;;;; +1441D;ANATOLIAN HIEROGLYPH A028;Lo;0;L;;;;;N;;;;; +1441E;ANATOLIAN HIEROGLYPH A029;Lo;0;L;;;;;N;;;;; +1441F;ANATOLIAN HIEROGLYPH A030;Lo;0;L;;;;;N;;;;; +14420;ANATOLIAN HIEROGLYPH A031;Lo;0;L;;;;;N;;;;; +14421;ANATOLIAN HIEROGLYPH A032;Lo;0;L;;;;;N;;;;; +14422;ANATOLIAN HIEROGLYPH A033;Lo;0;L;;;;;N;;;;; +14423;ANATOLIAN HIEROGLYPH A034;Lo;0;L;;;;;N;;;;; +14424;ANATOLIAN HIEROGLYPH A035;Lo;0;L;;;;;N;;;;; +14425;ANATOLIAN HIEROGLYPH A036;Lo;0;L;;;;;N;;;;; +14426;ANATOLIAN HIEROGLYPH A037;Lo;0;L;;;;;N;;;;; +14427;ANATOLIAN HIEROGLYPH A038;Lo;0;L;;;;;N;;;;; +14428;ANATOLIAN HIEROGLYPH A039;Lo;0;L;;;;;N;;;;; +14429;ANATOLIAN HIEROGLYPH A039A;Lo;0;L;;;;;N;;;;; +1442A;ANATOLIAN HIEROGLYPH A040;Lo;0;L;;;;;N;;;;; +1442B;ANATOLIAN HIEROGLYPH A041;Lo;0;L;;;;;N;;;;; +1442C;ANATOLIAN HIEROGLYPH A041A;Lo;0;L;;;;;N;;;;; +1442D;ANATOLIAN HIEROGLYPH A042;Lo;0;L;;;;;N;;;;; +1442E;ANATOLIAN HIEROGLYPH A043;Lo;0;L;;;;;N;;;;; +1442F;ANATOLIAN HIEROGLYPH A044;Lo;0;L;;;;;N;;;;; +14430;ANATOLIAN HIEROGLYPH A045;Lo;0;L;;;;;N;;;;; +14431;ANATOLIAN HIEROGLYPH A045A;Lo;0;L;;;;;N;;;;; +14432;ANATOLIAN HIEROGLYPH A046;Lo;0;L;;;;;N;;;;; +14433;ANATOLIAN HIEROGLYPH A046A;Lo;0;L;;;;;N;;;;; +14434;ANATOLIAN HIEROGLYPH A046B;Lo;0;L;;;;;N;;;;; +14435;ANATOLIAN HIEROGLYPH A047;Lo;0;L;;;;;N;;;;; +14436;ANATOLIAN HIEROGLYPH A048;Lo;0;L;;;;;N;;;;; +14437;ANATOLIAN HIEROGLYPH A049;Lo;0;L;;;;;N;;;;; +14438;ANATOLIAN HIEROGLYPH A050;Lo;0;L;;;;;N;;;;; +14439;ANATOLIAN HIEROGLYPH A051;Lo;0;L;;;;;N;;;;; +1443A;ANATOLIAN HIEROGLYPH A052;Lo;0;L;;;;;N;;;;; +1443B;ANATOLIAN HIEROGLYPH A053;Lo;0;L;;;;;N;;;;; +1443C;ANATOLIAN HIEROGLYPH A054;Lo;0;L;;;;;N;;;;; +1443D;ANATOLIAN HIEROGLYPH A055;Lo;0;L;;;;;N;;;;; +1443E;ANATOLIAN HIEROGLYPH A056;Lo;0;L;;;;;N;;;;; +1443F;ANATOLIAN HIEROGLYPH A057;Lo;0;L;;;;;N;;;;; +14440;ANATOLIAN HIEROGLYPH A058;Lo;0;L;;;;;N;;;;; +14441;ANATOLIAN HIEROGLYPH A059;Lo;0;L;;;;;N;;;;; +14442;ANATOLIAN HIEROGLYPH A060;Lo;0;L;;;;;N;;;;; +14443;ANATOLIAN HIEROGLYPH A061;Lo;0;L;;;;;N;;;;; +14444;ANATOLIAN HIEROGLYPH A062;Lo;0;L;;;;;N;;;;; +14445;ANATOLIAN HIEROGLYPH A063;Lo;0;L;;;;;N;;;;; +14446;ANATOLIAN HIEROGLYPH A064;Lo;0;L;;;;;N;;;;; +14447;ANATOLIAN HIEROGLYPH A065;Lo;0;L;;;;;N;;;;; +14448;ANATOLIAN HIEROGLYPH A066;Lo;0;L;;;;;N;;;;; +14449;ANATOLIAN HIEROGLYPH A066A;Lo;0;L;;;;;N;;;;; +1444A;ANATOLIAN HIEROGLYPH A066B;Lo;0;L;;;;;N;;;;; +1444B;ANATOLIAN HIEROGLYPH A066C;Lo;0;L;;;;;N;;;;; +1444C;ANATOLIAN HIEROGLYPH A067;Lo;0;L;;;;;N;;;;; +1444D;ANATOLIAN HIEROGLYPH A068;Lo;0;L;;;;;N;;;;; +1444E;ANATOLIAN HIEROGLYPH A069;Lo;0;L;;;;;N;;;;; +1444F;ANATOLIAN HIEROGLYPH A070;Lo;0;L;;;;;N;;;;; +14450;ANATOLIAN HIEROGLYPH A071;Lo;0;L;;;;;N;;;;; +14451;ANATOLIAN HIEROGLYPH A072;Lo;0;L;;;;;N;;;;; +14452;ANATOLIAN HIEROGLYPH A073;Lo;0;L;;;;;N;;;;; +14453;ANATOLIAN HIEROGLYPH A074;Lo;0;L;;;;;N;;;;; +14454;ANATOLIAN HIEROGLYPH A075;Lo;0;L;;;;;N;;;;; +14455;ANATOLIAN HIEROGLYPH A076;Lo;0;L;;;;;N;;;;; +14456;ANATOLIAN HIEROGLYPH A077;Lo;0;L;;;;;N;;;;; +14457;ANATOLIAN HIEROGLYPH A078;Lo;0;L;;;;;N;;;;; +14458;ANATOLIAN HIEROGLYPH A079;Lo;0;L;;;;;N;;;;; +14459;ANATOLIAN HIEROGLYPH A080;Lo;0;L;;;;;N;;;;; +1445A;ANATOLIAN HIEROGLYPH A081;Lo;0;L;;;;;N;;;;; +1445B;ANATOLIAN HIEROGLYPH A082;Lo;0;L;;;;;N;;;;; +1445C;ANATOLIAN HIEROGLYPH A083;Lo;0;L;;;;;N;;;;; +1445D;ANATOLIAN HIEROGLYPH A084;Lo;0;L;;;;;N;;;;; +1445E;ANATOLIAN HIEROGLYPH A085;Lo;0;L;;;;;N;;;;; +1445F;ANATOLIAN HIEROGLYPH A086;Lo;0;L;;;;;N;;;;; +14460;ANATOLIAN HIEROGLYPH A087;Lo;0;L;;;;;N;;;;; +14461;ANATOLIAN HIEROGLYPH A088;Lo;0;L;;;;;N;;;;; +14462;ANATOLIAN HIEROGLYPH A089;Lo;0;L;;;;;N;;;;; +14463;ANATOLIAN HIEROGLYPH A090;Lo;0;L;;;;;N;;;;; +14464;ANATOLIAN HIEROGLYPH A091;Lo;0;L;;;;;N;;;;; +14465;ANATOLIAN HIEROGLYPH A092;Lo;0;L;;;;;N;;;;; +14466;ANATOLIAN HIEROGLYPH A093;Lo;0;L;;;;;N;;;;; +14467;ANATOLIAN HIEROGLYPH A094;Lo;0;L;;;;;N;;;;; +14468;ANATOLIAN HIEROGLYPH A095;Lo;0;L;;;;;N;;;;; +14469;ANATOLIAN HIEROGLYPH A096;Lo;0;L;;;;;N;;;;; +1446A;ANATOLIAN HIEROGLYPH A097;Lo;0;L;;;;;N;;;;; +1446B;ANATOLIAN HIEROGLYPH A097A;Lo;0;L;;;;;N;;;;; +1446C;ANATOLIAN HIEROGLYPH A098;Lo;0;L;;;;;N;;;;; +1446D;ANATOLIAN HIEROGLYPH A098A;Lo;0;L;;;;;N;;;;; +1446E;ANATOLIAN HIEROGLYPH A099;Lo;0;L;;;;;N;;;;; +1446F;ANATOLIAN HIEROGLYPH A100;Lo;0;L;;;;;N;;;;; +14470;ANATOLIAN HIEROGLYPH A100A;Lo;0;L;;;;;N;;;;; +14471;ANATOLIAN HIEROGLYPH A101;Lo;0;L;;;;;N;;;;; +14472;ANATOLIAN HIEROGLYPH A101A;Lo;0;L;;;;;N;;;;; +14473;ANATOLIAN HIEROGLYPH A102;Lo;0;L;;;;;N;;;;; +14474;ANATOLIAN HIEROGLYPH A102A;Lo;0;L;;;;;N;;;;; +14475;ANATOLIAN HIEROGLYPH A103;Lo;0;L;;;;;N;;;;; +14476;ANATOLIAN HIEROGLYPH A104;Lo;0;L;;;;;N;;;;; +14477;ANATOLIAN HIEROGLYPH A104A;Lo;0;L;;;;;N;;;;; +14478;ANATOLIAN HIEROGLYPH A104B;Lo;0;L;;;;;N;;;;; +14479;ANATOLIAN HIEROGLYPH A104C;Lo;0;L;;;;;N;;;;; +1447A;ANATOLIAN HIEROGLYPH A105;Lo;0;L;;;;;N;;;;; +1447B;ANATOLIAN HIEROGLYPH A105A;Lo;0;L;;;;;N;;;;; +1447C;ANATOLIAN HIEROGLYPH A105B;Lo;0;L;;;;;N;;;;; +1447D;ANATOLIAN HIEROGLYPH A106;Lo;0;L;;;;;N;;;;; +1447E;ANATOLIAN HIEROGLYPH A107;Lo;0;L;;;;;N;;;;; +1447F;ANATOLIAN HIEROGLYPH A107A;Lo;0;L;;;;;N;;;;; +14480;ANATOLIAN HIEROGLYPH A107B;Lo;0;L;;;;;N;;;;; +14481;ANATOLIAN HIEROGLYPH A107C;Lo;0;L;;;;;N;;;;; +14482;ANATOLIAN HIEROGLYPH A108;Lo;0;L;;;;;N;;;;; +14483;ANATOLIAN HIEROGLYPH A109;Lo;0;L;;;;;N;;;;; +14484;ANATOLIAN HIEROGLYPH A110;Lo;0;L;;;;;N;;;;; +14485;ANATOLIAN HIEROGLYPH A110A;Lo;0;L;;;;;N;;;;; +14486;ANATOLIAN HIEROGLYPH A110B;Lo;0;L;;;;;N;;;;; +14487;ANATOLIAN HIEROGLYPH A111;Lo;0;L;;;;;N;;;;; +14488;ANATOLIAN HIEROGLYPH A112;Lo;0;L;;;;;N;;;;; +14489;ANATOLIAN HIEROGLYPH A113;Lo;0;L;;;;;N;;;;; +1448A;ANATOLIAN HIEROGLYPH A114;Lo;0;L;;;;;N;;;;; +1448B;ANATOLIAN HIEROGLYPH A115;Lo;0;L;;;;;N;;;;; +1448C;ANATOLIAN HIEROGLYPH A115A;Lo;0;L;;;;;N;;;;; +1448D;ANATOLIAN HIEROGLYPH A116;Lo;0;L;;;;;N;;;;; +1448E;ANATOLIAN HIEROGLYPH A117;Lo;0;L;;;;;N;;;;; +1448F;ANATOLIAN HIEROGLYPH A118;Lo;0;L;;;;;N;;;;; +14490;ANATOLIAN HIEROGLYPH A119;Lo;0;L;;;;;N;;;;; +14491;ANATOLIAN HIEROGLYPH A120;Lo;0;L;;;;;N;;;;; +14492;ANATOLIAN HIEROGLYPH A121;Lo;0;L;;;;;N;;;;; +14493;ANATOLIAN HIEROGLYPH A122;Lo;0;L;;;;;N;;;;; +14494;ANATOLIAN HIEROGLYPH A123;Lo;0;L;;;;;N;;;;; +14495;ANATOLIAN HIEROGLYPH A124;Lo;0;L;;;;;N;;;;; +14496;ANATOLIAN HIEROGLYPH A125;Lo;0;L;;;;;N;;;;; +14497;ANATOLIAN HIEROGLYPH A125A;Lo;0;L;;;;;N;;;;; +14498;ANATOLIAN HIEROGLYPH A126;Lo;0;L;;;;;N;;;;; +14499;ANATOLIAN HIEROGLYPH A127;Lo;0;L;;;;;N;;;;; +1449A;ANATOLIAN HIEROGLYPH A128;Lo;0;L;;;;;N;;;;; +1449B;ANATOLIAN HIEROGLYPH A129;Lo;0;L;;;;;N;;;;; +1449C;ANATOLIAN HIEROGLYPH A130;Lo;0;L;;;;;N;;;;; +1449D;ANATOLIAN HIEROGLYPH A131;Lo;0;L;;;;;N;;;;; +1449E;ANATOLIAN HIEROGLYPH A132;Lo;0;L;;;;;N;;;;; +1449F;ANATOLIAN HIEROGLYPH A133;Lo;0;L;;;;;N;;;;; +144A0;ANATOLIAN HIEROGLYPH A134;Lo;0;L;;;;;N;;;;; +144A1;ANATOLIAN HIEROGLYPH A135;Lo;0;L;;;;;N;;;;; +144A2;ANATOLIAN HIEROGLYPH A135A;Lo;0;L;;;;;N;;;;; +144A3;ANATOLIAN HIEROGLYPH A136;Lo;0;L;;;;;N;;;;; +144A4;ANATOLIAN HIEROGLYPH A137;Lo;0;L;;;;;N;;;;; +144A5;ANATOLIAN HIEROGLYPH A138;Lo;0;L;;;;;N;;;;; +144A6;ANATOLIAN HIEROGLYPH A139;Lo;0;L;;;;;N;;;;; +144A7;ANATOLIAN HIEROGLYPH A140;Lo;0;L;;;;;N;;;;; +144A8;ANATOLIAN HIEROGLYPH A141;Lo;0;L;;;;;N;;;;; +144A9;ANATOLIAN HIEROGLYPH A142;Lo;0;L;;;;;N;;;;; +144AA;ANATOLIAN HIEROGLYPH A143;Lo;0;L;;;;;N;;;;; +144AB;ANATOLIAN HIEROGLYPH A144;Lo;0;L;;;;;N;;;;; +144AC;ANATOLIAN HIEROGLYPH A145;Lo;0;L;;;;;N;;;;; +144AD;ANATOLIAN HIEROGLYPH A146;Lo;0;L;;;;;N;;;;; +144AE;ANATOLIAN HIEROGLYPH A147;Lo;0;L;;;;;N;;;;; +144AF;ANATOLIAN HIEROGLYPH A148;Lo;0;L;;;;;N;;;;; +144B0;ANATOLIAN HIEROGLYPH A149;Lo;0;L;;;;;N;;;;; +144B1;ANATOLIAN HIEROGLYPH A150;Lo;0;L;;;;;N;;;;; +144B2;ANATOLIAN HIEROGLYPH A151;Lo;0;L;;;;;N;;;;; +144B3;ANATOLIAN HIEROGLYPH A152;Lo;0;L;;;;;N;;;;; +144B4;ANATOLIAN HIEROGLYPH A153;Lo;0;L;;;;;N;;;;; +144B5;ANATOLIAN HIEROGLYPH A154;Lo;0;L;;;;;N;;;;; +144B6;ANATOLIAN HIEROGLYPH A155;Lo;0;L;;;;;N;;;;; +144B7;ANATOLIAN HIEROGLYPH A156;Lo;0;L;;;;;N;;;;; +144B8;ANATOLIAN HIEROGLYPH A157;Lo;0;L;;;;;N;;;;; +144B9;ANATOLIAN HIEROGLYPH A158;Lo;0;L;;;;;N;;;;; +144BA;ANATOLIAN HIEROGLYPH A159;Lo;0;L;;;;;N;;;;; +144BB;ANATOLIAN HIEROGLYPH A160;Lo;0;L;;;;;N;;;;; +144BC;ANATOLIAN HIEROGLYPH A161;Lo;0;L;;;;;N;;;;; +144BD;ANATOLIAN HIEROGLYPH A162;Lo;0;L;;;;;N;;;;; +144BE;ANATOLIAN HIEROGLYPH A163;Lo;0;L;;;;;N;;;;; +144BF;ANATOLIAN HIEROGLYPH A164;Lo;0;L;;;;;N;;;;; +144C0;ANATOLIAN HIEROGLYPH A165;Lo;0;L;;;;;N;;;;; +144C1;ANATOLIAN HIEROGLYPH A166;Lo;0;L;;;;;N;;;;; +144C2;ANATOLIAN HIEROGLYPH A167;Lo;0;L;;;;;N;;;;; +144C3;ANATOLIAN HIEROGLYPH A168;Lo;0;L;;;;;N;;;;; +144C4;ANATOLIAN HIEROGLYPH A169;Lo;0;L;;;;;N;;;;; +144C5;ANATOLIAN HIEROGLYPH A170;Lo;0;L;;;;;N;;;;; +144C6;ANATOLIAN HIEROGLYPH A171;Lo;0;L;;;;;N;;;;; +144C7;ANATOLIAN HIEROGLYPH A172;Lo;0;L;;;;;N;;;;; +144C8;ANATOLIAN HIEROGLYPH A173;Lo;0;L;;;;;N;;;;; +144C9;ANATOLIAN HIEROGLYPH A174;Lo;0;L;;;;;N;;;;; +144CA;ANATOLIAN HIEROGLYPH A175;Lo;0;L;;;;;N;;;;; +144CB;ANATOLIAN HIEROGLYPH A176;Lo;0;L;;;;;N;;;;; +144CC;ANATOLIAN HIEROGLYPH A177;Lo;0;L;;;;;N;;;;; +144CD;ANATOLIAN HIEROGLYPH A178;Lo;0;L;;;;;N;;;;; +144CE;ANATOLIAN HIEROGLYPH A179;Lo;0;L;;;;;N;;;;; +144CF;ANATOLIAN HIEROGLYPH A180;Lo;0;L;;;;;N;;;;; +144D0;ANATOLIAN HIEROGLYPH A181;Lo;0;L;;;;;N;;;;; +144D1;ANATOLIAN HIEROGLYPH A182;Lo;0;L;;;;;N;;;;; +144D2;ANATOLIAN HIEROGLYPH A183;Lo;0;L;;;;;N;;;;; +144D3;ANATOLIAN HIEROGLYPH A184;Lo;0;L;;;;;N;;;;; +144D4;ANATOLIAN HIEROGLYPH A185;Lo;0;L;;;;;N;;;;; +144D5;ANATOLIAN HIEROGLYPH A186;Lo;0;L;;;;;N;;;;; +144D6;ANATOLIAN HIEROGLYPH A187;Lo;0;L;;;;;N;;;;; +144D7;ANATOLIAN HIEROGLYPH A188;Lo;0;L;;;;;N;;;;; +144D8;ANATOLIAN HIEROGLYPH A189;Lo;0;L;;;;;N;;;;; +144D9;ANATOLIAN HIEROGLYPH A190;Lo;0;L;;;;;N;;;;; +144DA;ANATOLIAN HIEROGLYPH A191;Lo;0;L;;;;;N;;;;; +144DB;ANATOLIAN HIEROGLYPH A192;Lo;0;L;;;;;N;;;;; +144DC;ANATOLIAN HIEROGLYPH A193;Lo;0;L;;;;;N;;;;; +144DD;ANATOLIAN HIEROGLYPH A194;Lo;0;L;;;;;N;;;;; +144DE;ANATOLIAN HIEROGLYPH A195;Lo;0;L;;;;;N;;;;; +144DF;ANATOLIAN HIEROGLYPH A196;Lo;0;L;;;;;N;;;;; +144E0;ANATOLIAN HIEROGLYPH A197;Lo;0;L;;;;;N;;;;; +144E1;ANATOLIAN HIEROGLYPH A198;Lo;0;L;;;;;N;;;;; +144E2;ANATOLIAN HIEROGLYPH A199;Lo;0;L;;;;;N;;;;; +144E3;ANATOLIAN HIEROGLYPH A200;Lo;0;L;;;;;N;;;;; +144E4;ANATOLIAN HIEROGLYPH A201;Lo;0;L;;;;;N;;;;; +144E5;ANATOLIAN HIEROGLYPH A202;Lo;0;L;;;;;N;;;;; +144E6;ANATOLIAN HIEROGLYPH A202A;Lo;0;L;;;;;N;;;;; +144E7;ANATOLIAN HIEROGLYPH A202B;Lo;0;L;;;;;N;;;;; +144E8;ANATOLIAN HIEROGLYPH A203;Lo;0;L;;;;;N;;;;; +144E9;ANATOLIAN HIEROGLYPH A204;Lo;0;L;;;;;N;;;;; +144EA;ANATOLIAN HIEROGLYPH A205;Lo;0;L;;;;;N;;;;; +144EB;ANATOLIAN HIEROGLYPH A206;Lo;0;L;;;;;N;;;;; +144EC;ANATOLIAN HIEROGLYPH A207;Lo;0;L;;;;;N;;;;; +144ED;ANATOLIAN HIEROGLYPH A207A;Lo;0;L;;;;;N;;;;; +144EE;ANATOLIAN HIEROGLYPH A208;Lo;0;L;;;;;N;;;;; +144EF;ANATOLIAN HIEROGLYPH A209;Lo;0;L;;;;;N;;;;; +144F0;ANATOLIAN HIEROGLYPH A209A;Lo;0;L;;;;;N;;;;; +144F1;ANATOLIAN HIEROGLYPH A210;Lo;0;L;;;;;N;;;;; +144F2;ANATOLIAN HIEROGLYPH A211;Lo;0;L;;;;;N;;;;; +144F3;ANATOLIAN HIEROGLYPH A212;Lo;0;L;;;;;N;;;;; +144F4;ANATOLIAN HIEROGLYPH A213;Lo;0;L;;;;;N;;;;; +144F5;ANATOLIAN HIEROGLYPH A214;Lo;0;L;;;;;N;;;;; +144F6;ANATOLIAN HIEROGLYPH A215;Lo;0;L;;;;;N;;;;; +144F7;ANATOLIAN HIEROGLYPH A215A;Lo;0;L;;;;;N;;;;; +144F8;ANATOLIAN HIEROGLYPH A216;Lo;0;L;;;;;N;;;;; +144F9;ANATOLIAN HIEROGLYPH A216A;Lo;0;L;;;;;N;;;;; +144FA;ANATOLIAN HIEROGLYPH A217;Lo;0;L;;;;;N;;;;; +144FB;ANATOLIAN HIEROGLYPH A218;Lo;0;L;;;;;N;;;;; +144FC;ANATOLIAN HIEROGLYPH A219;Lo;0;L;;;;;N;;;;; +144FD;ANATOLIAN HIEROGLYPH A220;Lo;0;L;;;;;N;;;;; +144FE;ANATOLIAN HIEROGLYPH A221;Lo;0;L;;;;;N;;;;; +144FF;ANATOLIAN HIEROGLYPH A222;Lo;0;L;;;;;N;;;;; +14500;ANATOLIAN HIEROGLYPH A223;Lo;0;L;;;;;N;;;;; +14501;ANATOLIAN HIEROGLYPH A224;Lo;0;L;;;;;N;;;;; +14502;ANATOLIAN HIEROGLYPH A225;Lo;0;L;;;;;N;;;;; +14503;ANATOLIAN HIEROGLYPH A226;Lo;0;L;;;;;N;;;;; +14504;ANATOLIAN HIEROGLYPH A227;Lo;0;L;;;;;N;;;;; +14505;ANATOLIAN HIEROGLYPH A227A;Lo;0;L;;;;;N;;;;; +14506;ANATOLIAN HIEROGLYPH A228;Lo;0;L;;;;;N;;;;; +14507;ANATOLIAN HIEROGLYPH A229;Lo;0;L;;;;;N;;;;; +14508;ANATOLIAN HIEROGLYPH A230;Lo;0;L;;;;;N;;;;; +14509;ANATOLIAN HIEROGLYPH A231;Lo;0;L;;;;;N;;;;; +1450A;ANATOLIAN HIEROGLYPH A232;Lo;0;L;;;;;N;;;;; +1450B;ANATOLIAN HIEROGLYPH A233;Lo;0;L;;;;;N;;;;; +1450C;ANATOLIAN HIEROGLYPH A234;Lo;0;L;;;;;N;;;;; +1450D;ANATOLIAN HIEROGLYPH A235;Lo;0;L;;;;;N;;;;; +1450E;ANATOLIAN HIEROGLYPH A236;Lo;0;L;;;;;N;;;;; +1450F;ANATOLIAN HIEROGLYPH A237;Lo;0;L;;;;;N;;;;; +14510;ANATOLIAN HIEROGLYPH A238;Lo;0;L;;;;;N;;;;; +14511;ANATOLIAN HIEROGLYPH A239;Lo;0;L;;;;;N;;;;; +14512;ANATOLIAN HIEROGLYPH A240;Lo;0;L;;;;;N;;;;; +14513;ANATOLIAN HIEROGLYPH A241;Lo;0;L;;;;;N;;;;; +14514;ANATOLIAN HIEROGLYPH A242;Lo;0;L;;;;;N;;;;; +14515;ANATOLIAN HIEROGLYPH A243;Lo;0;L;;;;;N;;;;; +14516;ANATOLIAN HIEROGLYPH A244;Lo;0;L;;;;;N;;;;; +14517;ANATOLIAN HIEROGLYPH A245;Lo;0;L;;;;;N;;;;; +14518;ANATOLIAN HIEROGLYPH A246;Lo;0;L;;;;;N;;;;; +14519;ANATOLIAN HIEROGLYPH A247;Lo;0;L;;;;;N;;;;; +1451A;ANATOLIAN HIEROGLYPH A248;Lo;0;L;;;;;N;;;;; +1451B;ANATOLIAN HIEROGLYPH A249;Lo;0;L;;;;;N;;;;; +1451C;ANATOLIAN HIEROGLYPH A250;Lo;0;L;;;;;N;;;;; +1451D;ANATOLIAN HIEROGLYPH A251;Lo;0;L;;;;;N;;;;; +1451E;ANATOLIAN HIEROGLYPH A252;Lo;0;L;;;;;N;;;;; +1451F;ANATOLIAN HIEROGLYPH A253;Lo;0;L;;;;;N;;;;; +14520;ANATOLIAN HIEROGLYPH A254;Lo;0;L;;;;;N;;;;; +14521;ANATOLIAN HIEROGLYPH A255;Lo;0;L;;;;;N;;;;; +14522;ANATOLIAN HIEROGLYPH A256;Lo;0;L;;;;;N;;;;; +14523;ANATOLIAN HIEROGLYPH A257;Lo;0;L;;;;;N;;;;; +14524;ANATOLIAN HIEROGLYPH A258;Lo;0;L;;;;;N;;;;; +14525;ANATOLIAN HIEROGLYPH A259;Lo;0;L;;;;;N;;;;; +14526;ANATOLIAN HIEROGLYPH A260;Lo;0;L;;;;;N;;;;; +14527;ANATOLIAN HIEROGLYPH A261;Lo;0;L;;;;;N;;;;; +14528;ANATOLIAN HIEROGLYPH A262;Lo;0;L;;;;;N;;;;; +14529;ANATOLIAN HIEROGLYPH A263;Lo;0;L;;;;;N;;;;; +1452A;ANATOLIAN HIEROGLYPH A264;Lo;0;L;;;;;N;;;;; +1452B;ANATOLIAN HIEROGLYPH A265;Lo;0;L;;;;;N;;;;; +1452C;ANATOLIAN HIEROGLYPH A266;Lo;0;L;;;;;N;;;;; +1452D;ANATOLIAN HIEROGLYPH A267;Lo;0;L;;;;;N;;;;; +1452E;ANATOLIAN HIEROGLYPH A267A;Lo;0;L;;;;;N;;;;; +1452F;ANATOLIAN HIEROGLYPH A268;Lo;0;L;;;;;N;;;;; +14530;ANATOLIAN HIEROGLYPH A269;Lo;0;L;;;;;N;;;;; +14531;ANATOLIAN HIEROGLYPH A270;Lo;0;L;;;;;N;;;;; +14532;ANATOLIAN HIEROGLYPH A271;Lo;0;L;;;;;N;;;;; +14533;ANATOLIAN HIEROGLYPH A272;Lo;0;L;;;;;N;;;;; +14534;ANATOLIAN HIEROGLYPH A273;Lo;0;L;;;;;N;;;;; +14535;ANATOLIAN HIEROGLYPH A274;Lo;0;L;;;;;N;;;;; +14536;ANATOLIAN HIEROGLYPH A275;Lo;0;L;;;;;N;;;;; +14537;ANATOLIAN HIEROGLYPH A276;Lo;0;L;;;;;N;;;;; +14538;ANATOLIAN HIEROGLYPH A277;Lo;0;L;;;;;N;;;;; +14539;ANATOLIAN HIEROGLYPH A278;Lo;0;L;;;;;N;;;;; +1453A;ANATOLIAN HIEROGLYPH A279;Lo;0;L;;;;;N;;;;; +1453B;ANATOLIAN HIEROGLYPH A280;Lo;0;L;;;;;N;;;;; +1453C;ANATOLIAN HIEROGLYPH A281;Lo;0;L;;;;;N;;;;; +1453D;ANATOLIAN HIEROGLYPH A282;Lo;0;L;;;;;N;;;;; +1453E;ANATOLIAN HIEROGLYPH A283;Lo;0;L;;;;;N;;;;; +1453F;ANATOLIAN HIEROGLYPH A284;Lo;0;L;;;;;N;;;;; +14540;ANATOLIAN HIEROGLYPH A285;Lo;0;L;;;;;N;;;;; +14541;ANATOLIAN HIEROGLYPH A286;Lo;0;L;;;;;N;;;;; +14542;ANATOLIAN HIEROGLYPH A287;Lo;0;L;;;;;N;;;;; +14543;ANATOLIAN HIEROGLYPH A288;Lo;0;L;;;;;N;;;;; +14544;ANATOLIAN HIEROGLYPH A289;Lo;0;L;;;;;N;;;;; +14545;ANATOLIAN HIEROGLYPH A289A;Lo;0;L;;;;;N;;;;; +14546;ANATOLIAN HIEROGLYPH A290;Lo;0;L;;;;;N;;;;; +14547;ANATOLIAN HIEROGLYPH A291;Lo;0;L;;;;;N;;;;; +14548;ANATOLIAN HIEROGLYPH A292;Lo;0;L;;;;;N;;;;; +14549;ANATOLIAN HIEROGLYPH A293;Lo;0;L;;;;;N;;;;; +1454A;ANATOLIAN HIEROGLYPH A294;Lo;0;L;;;;;N;;;;; +1454B;ANATOLIAN HIEROGLYPH A294A;Lo;0;L;;;;;N;;;;; +1454C;ANATOLIAN HIEROGLYPH A295;Lo;0;L;;;;;N;;;;; +1454D;ANATOLIAN HIEROGLYPH A296;Lo;0;L;;;;;N;;;;; +1454E;ANATOLIAN HIEROGLYPH A297;Lo;0;L;;;;;N;;;;; +1454F;ANATOLIAN HIEROGLYPH A298;Lo;0;L;;;;;N;;;;; +14550;ANATOLIAN HIEROGLYPH A299;Lo;0;L;;;;;N;;;;; +14551;ANATOLIAN HIEROGLYPH A299A;Lo;0;L;;;;;N;;;;; +14552;ANATOLIAN HIEROGLYPH A300;Lo;0;L;;;;;N;;;;; +14553;ANATOLIAN HIEROGLYPH A301;Lo;0;L;;;;;N;;;;; +14554;ANATOLIAN HIEROGLYPH A302;Lo;0;L;;;;;N;;;;; +14555;ANATOLIAN HIEROGLYPH A303;Lo;0;L;;;;;N;;;;; +14556;ANATOLIAN HIEROGLYPH A304;Lo;0;L;;;;;N;;;;; +14557;ANATOLIAN HIEROGLYPH A305;Lo;0;L;;;;;N;;;;; +14558;ANATOLIAN HIEROGLYPH A306;Lo;0;L;;;;;N;;;;; +14559;ANATOLIAN HIEROGLYPH A307;Lo;0;L;;;;;N;;;;; +1455A;ANATOLIAN HIEROGLYPH A308;Lo;0;L;;;;;N;;;;; +1455B;ANATOLIAN HIEROGLYPH A309;Lo;0;L;;;;;N;;;;; +1455C;ANATOLIAN HIEROGLYPH A309A;Lo;0;L;;;;;N;;;;; +1455D;ANATOLIAN HIEROGLYPH A310;Lo;0;L;;;;;N;;;;; +1455E;ANATOLIAN HIEROGLYPH A311;Lo;0;L;;;;;N;;;;; +1455F;ANATOLIAN HIEROGLYPH A312;Lo;0;L;;;;;N;;;;; +14560;ANATOLIAN HIEROGLYPH A313;Lo;0;L;;;;;N;;;;; +14561;ANATOLIAN HIEROGLYPH A314;Lo;0;L;;;;;N;;;;; +14562;ANATOLIAN HIEROGLYPH A315;Lo;0;L;;;;;N;;;;; +14563;ANATOLIAN HIEROGLYPH A316;Lo;0;L;;;;;N;;;;; +14564;ANATOLIAN HIEROGLYPH A317;Lo;0;L;;;;;N;;;;; +14565;ANATOLIAN HIEROGLYPH A318;Lo;0;L;;;;;N;;;;; +14566;ANATOLIAN HIEROGLYPH A319;Lo;0;L;;;;;N;;;;; +14567;ANATOLIAN HIEROGLYPH A320;Lo;0;L;;;;;N;;;;; +14568;ANATOLIAN HIEROGLYPH A321;Lo;0;L;;;;;N;;;;; +14569;ANATOLIAN HIEROGLYPH A322;Lo;0;L;;;;;N;;;;; +1456A;ANATOLIAN HIEROGLYPH A323;Lo;0;L;;;;;N;;;;; +1456B;ANATOLIAN HIEROGLYPH A324;Lo;0;L;;;;;N;;;;; +1456C;ANATOLIAN HIEROGLYPH A325;Lo;0;L;;;;;N;;;;; +1456D;ANATOLIAN HIEROGLYPH A326;Lo;0;L;;;;;N;;;;; +1456E;ANATOLIAN HIEROGLYPH A327;Lo;0;L;;;;;N;;;;; +1456F;ANATOLIAN HIEROGLYPH A328;Lo;0;L;;;;;N;;;;; +14570;ANATOLIAN HIEROGLYPH A329;Lo;0;L;;;;;N;;;;; +14571;ANATOLIAN HIEROGLYPH A329A;Lo;0;L;;;;;N;;;;; +14572;ANATOLIAN HIEROGLYPH A330;Lo;0;L;;;;;N;;;;; +14573;ANATOLIAN HIEROGLYPH A331;Lo;0;L;;;;;N;;;;; +14574;ANATOLIAN HIEROGLYPH A332A;Lo;0;L;;;;;N;;;;; +14575;ANATOLIAN HIEROGLYPH A332B;Lo;0;L;;;;;N;;;;; +14576;ANATOLIAN HIEROGLYPH A332C;Lo;0;L;;;;;N;;;;; +14577;ANATOLIAN HIEROGLYPH A333;Lo;0;L;;;;;N;;;;; +14578;ANATOLIAN HIEROGLYPH A334;Lo;0;L;;;;;N;;;;; +14579;ANATOLIAN HIEROGLYPH A335;Lo;0;L;;;;;N;;;;; +1457A;ANATOLIAN HIEROGLYPH A336;Lo;0;L;;;;;N;;;;; +1457B;ANATOLIAN HIEROGLYPH A336A;Lo;0;L;;;;;N;;;;; +1457C;ANATOLIAN HIEROGLYPH A336B;Lo;0;L;;;;;N;;;;; +1457D;ANATOLIAN HIEROGLYPH A336C;Lo;0;L;;;;;N;;;;; +1457E;ANATOLIAN HIEROGLYPH A337;Lo;0;L;;;;;N;;;;; +1457F;ANATOLIAN HIEROGLYPH A338;Lo;0;L;;;;;N;;;;; +14580;ANATOLIAN HIEROGLYPH A339;Lo;0;L;;;;;N;;;;; +14581;ANATOLIAN HIEROGLYPH A340;Lo;0;L;;;;;N;;;;; +14582;ANATOLIAN HIEROGLYPH A341;Lo;0;L;;;;;N;;;;; +14583;ANATOLIAN HIEROGLYPH A342;Lo;0;L;;;;;N;;;;; +14584;ANATOLIAN HIEROGLYPH A343;Lo;0;L;;;;;N;;;;; +14585;ANATOLIAN HIEROGLYPH A344;Lo;0;L;;;;;N;;;;; +14586;ANATOLIAN HIEROGLYPH A345;Lo;0;L;;;;;N;;;;; +14587;ANATOLIAN HIEROGLYPH A346;Lo;0;L;;;;;N;;;;; +14588;ANATOLIAN HIEROGLYPH A347;Lo;0;L;;;;;N;;;;; +14589;ANATOLIAN HIEROGLYPH A348;Lo;0;L;;;;;N;;;;; +1458A;ANATOLIAN HIEROGLYPH A349;Lo;0;L;;;;;N;;;;; +1458B;ANATOLIAN HIEROGLYPH A350;Lo;0;L;;;;;N;;;;; +1458C;ANATOLIAN HIEROGLYPH A351;Lo;0;L;;;;;N;;;;; +1458D;ANATOLIAN HIEROGLYPH A352;Lo;0;L;;;;;N;;;;; +1458E;ANATOLIAN HIEROGLYPH A353;Lo;0;L;;;;;N;;;;; +1458F;ANATOLIAN HIEROGLYPH A354;Lo;0;L;;;;;N;;;;; +14590;ANATOLIAN HIEROGLYPH A355;Lo;0;L;;;;;N;;;;; +14591;ANATOLIAN HIEROGLYPH A356;Lo;0;L;;;;;N;;;;; +14592;ANATOLIAN HIEROGLYPH A357;Lo;0;L;;;;;N;;;;; +14593;ANATOLIAN HIEROGLYPH A358;Lo;0;L;;;;;N;;;;; +14594;ANATOLIAN HIEROGLYPH A359;Lo;0;L;;;;;N;;;;; +14595;ANATOLIAN HIEROGLYPH A359A;Lo;0;L;;;;;N;;;;; +14596;ANATOLIAN HIEROGLYPH A360;Lo;0;L;;;;;N;;;;; +14597;ANATOLIAN HIEROGLYPH A361;Lo;0;L;;;;;N;;;;; +14598;ANATOLIAN HIEROGLYPH A362;Lo;0;L;;;;;N;;;;; +14599;ANATOLIAN HIEROGLYPH A363;Lo;0;L;;;;;N;;;;; +1459A;ANATOLIAN HIEROGLYPH A364;Lo;0;L;;;;;N;;;;; +1459B;ANATOLIAN HIEROGLYPH A364A;Lo;0;L;;;;;N;;;;; +1459C;ANATOLIAN HIEROGLYPH A365;Lo;0;L;;;;;N;;;;; +1459D;ANATOLIAN HIEROGLYPH A366;Lo;0;L;;;;;N;;;;; +1459E;ANATOLIAN HIEROGLYPH A367;Lo;0;L;;;;;N;;;;; +1459F;ANATOLIAN HIEROGLYPH A368;Lo;0;L;;;;;N;;;;; +145A0;ANATOLIAN HIEROGLYPH A368A;Lo;0;L;;;;;N;;;;; +145A1;ANATOLIAN HIEROGLYPH A369;Lo;0;L;;;;;N;;;;; +145A2;ANATOLIAN HIEROGLYPH A370;Lo;0;L;;;;;N;;;;; +145A3;ANATOLIAN HIEROGLYPH A371;Lo;0;L;;;;;N;;;;; +145A4;ANATOLIAN HIEROGLYPH A371A;Lo;0;L;;;;;N;;;;; +145A5;ANATOLIAN HIEROGLYPH A372;Lo;0;L;;;;;N;;;;; +145A6;ANATOLIAN HIEROGLYPH A373;Lo;0;L;;;;;N;;;;; +145A7;ANATOLIAN HIEROGLYPH A374;Lo;0;L;;;;;N;;;;; +145A8;ANATOLIAN HIEROGLYPH A375;Lo;0;L;;;;;N;;;;; +145A9;ANATOLIAN HIEROGLYPH A376;Lo;0;L;;;;;N;;;;; +145AA;ANATOLIAN HIEROGLYPH A377;Lo;0;L;;;;;N;;;;; +145AB;ANATOLIAN HIEROGLYPH A378;Lo;0;L;;;;;N;;;;; +145AC;ANATOLIAN HIEROGLYPH A379;Lo;0;L;;;;;N;;;;; +145AD;ANATOLIAN HIEROGLYPH A380;Lo;0;L;;;;;N;;;;; +145AE;ANATOLIAN HIEROGLYPH A381;Lo;0;L;;;;;N;;;;; +145AF;ANATOLIAN HIEROGLYPH A381A;Lo;0;L;;;;;N;;;;; +145B0;ANATOLIAN HIEROGLYPH A382;Lo;0;L;;;;;N;;;;; +145B1;ANATOLIAN HIEROGLYPH A383 RA OR RI;Lo;0;L;;;;;N;;;;; +145B2;ANATOLIAN HIEROGLYPH A383A;Lo;0;L;;;;;N;;;;; +145B3;ANATOLIAN HIEROGLYPH A384;Lo;0;L;;;;;N;;;;; +145B4;ANATOLIAN HIEROGLYPH A385;Lo;0;L;;;;;N;;;;; +145B5;ANATOLIAN HIEROGLYPH A386;Lo;0;L;;;;;N;;;;; +145B6;ANATOLIAN HIEROGLYPH A386A;Lo;0;L;;;;;N;;;;; +145B7;ANATOLIAN HIEROGLYPH A387;Lo;0;L;;;;;N;;;;; +145B8;ANATOLIAN HIEROGLYPH A388;Lo;0;L;;;;;N;;;;; +145B9;ANATOLIAN HIEROGLYPH A389;Lo;0;L;;;;;N;;;;; +145BA;ANATOLIAN HIEROGLYPH A390;Lo;0;L;;;;;N;;;;; +145BB;ANATOLIAN HIEROGLYPH A391;Lo;0;L;;;;;N;;;;; +145BC;ANATOLIAN HIEROGLYPH A392;Lo;0;L;;;;;N;;;;; +145BD;ANATOLIAN HIEROGLYPH A393 EIGHT;Lo;0;L;;;;;N;;;;; +145BE;ANATOLIAN HIEROGLYPH A394;Lo;0;L;;;;;N;;;;; +145BF;ANATOLIAN HIEROGLYPH A395;Lo;0;L;;;;;N;;;;; +145C0;ANATOLIAN HIEROGLYPH A396;Lo;0;L;;;;;N;;;;; +145C1;ANATOLIAN HIEROGLYPH A397;Lo;0;L;;;;;N;;;;; +145C2;ANATOLIAN HIEROGLYPH A398;Lo;0;L;;;;;N;;;;; +145C3;ANATOLIAN HIEROGLYPH A399;Lo;0;L;;;;;N;;;;; +145C4;ANATOLIAN HIEROGLYPH A400;Lo;0;L;;;;;N;;;;; +145C5;ANATOLIAN HIEROGLYPH A401;Lo;0;L;;;;;N;;;;; +145C6;ANATOLIAN HIEROGLYPH A402;Lo;0;L;;;;;N;;;;; +145C7;ANATOLIAN HIEROGLYPH A403;Lo;0;L;;;;;N;;;;; +145C8;ANATOLIAN HIEROGLYPH A404;Lo;0;L;;;;;N;;;;; +145C9;ANATOLIAN HIEROGLYPH A405;Lo;0;L;;;;;N;;;;; +145CA;ANATOLIAN HIEROGLYPH A406;Lo;0;L;;;;;N;;;;; +145CB;ANATOLIAN HIEROGLYPH A407;Lo;0;L;;;;;N;;;;; +145CC;ANATOLIAN HIEROGLYPH A408;Lo;0;L;;;;;N;;;;; +145CD;ANATOLIAN HIEROGLYPH A409;Lo;0;L;;;;;N;;;;; +145CE;ANATOLIAN HIEROGLYPH A410 BEGIN LOGOGRAM MARK;Lo;0;L;;;;;N;;;;; +145CF;ANATOLIAN HIEROGLYPH A410A END LOGOGRAM MARK;Lo;0;L;;;;;N;;;;; +145D0;ANATOLIAN HIEROGLYPH A411;Lo;0;L;;;;;N;;;;; +145D1;ANATOLIAN HIEROGLYPH A412;Lo;0;L;;;;;N;;;;; +145D2;ANATOLIAN HIEROGLYPH A413;Lo;0;L;;;;;N;;;;; +145D3;ANATOLIAN HIEROGLYPH A414;Lo;0;L;;;;;N;;;;; +145D4;ANATOLIAN HIEROGLYPH A415;Lo;0;L;;;;;N;;;;; +145D5;ANATOLIAN HIEROGLYPH A416;Lo;0;L;;;;;N;;;;; +145D6;ANATOLIAN HIEROGLYPH A417;Lo;0;L;;;;;N;;;;; +145D7;ANATOLIAN HIEROGLYPH A418;Lo;0;L;;;;;N;;;;; +145D8;ANATOLIAN HIEROGLYPH A419;Lo;0;L;;;;;N;;;;; +145D9;ANATOLIAN HIEROGLYPH A420;Lo;0;L;;;;;N;;;;; +145DA;ANATOLIAN HIEROGLYPH A421;Lo;0;L;;;;;N;;;;; +145DB;ANATOLIAN HIEROGLYPH A422;Lo;0;L;;;;;N;;;;; +145DC;ANATOLIAN HIEROGLYPH A423;Lo;0;L;;;;;N;;;;; +145DD;ANATOLIAN HIEROGLYPH A424;Lo;0;L;;;;;N;;;;; +145DE;ANATOLIAN HIEROGLYPH A425;Lo;0;L;;;;;N;;;;; +145DF;ANATOLIAN HIEROGLYPH A426;Lo;0;L;;;;;N;;;;; +145E0;ANATOLIAN HIEROGLYPH A427;Lo;0;L;;;;;N;;;;; +145E1;ANATOLIAN HIEROGLYPH A428;Lo;0;L;;;;;N;;;;; +145E2;ANATOLIAN HIEROGLYPH A429;Lo;0;L;;;;;N;;;;; +145E3;ANATOLIAN HIEROGLYPH A430;Lo;0;L;;;;;N;;;;; +145E4;ANATOLIAN HIEROGLYPH A431;Lo;0;L;;;;;N;;;;; +145E5;ANATOLIAN HIEROGLYPH A432;Lo;0;L;;;;;N;;;;; +145E6;ANATOLIAN HIEROGLYPH A433;Lo;0;L;;;;;N;;;;; +145E7;ANATOLIAN HIEROGLYPH A434;Lo;0;L;;;;;N;;;;; +145E8;ANATOLIAN HIEROGLYPH A435;Lo;0;L;;;;;N;;;;; +145E9;ANATOLIAN HIEROGLYPH A436;Lo;0;L;;;;;N;;;;; +145EA;ANATOLIAN HIEROGLYPH A437;Lo;0;L;;;;;N;;;;; +145EB;ANATOLIAN HIEROGLYPH A438;Lo;0;L;;;;;N;;;;; +145EC;ANATOLIAN HIEROGLYPH A439;Lo;0;L;;;;;N;;;;; +145ED;ANATOLIAN HIEROGLYPH A440;Lo;0;L;;;;;N;;;;; +145EE;ANATOLIAN HIEROGLYPH A441;Lo;0;L;;;;;N;;;;; +145EF;ANATOLIAN HIEROGLYPH A442;Lo;0;L;;;;;N;;;;; +145F0;ANATOLIAN HIEROGLYPH A443;Lo;0;L;;;;;N;;;;; +145F1;ANATOLIAN HIEROGLYPH A444;Lo;0;L;;;;;N;;;;; +145F2;ANATOLIAN HIEROGLYPH A445;Lo;0;L;;;;;N;;;;; +145F3;ANATOLIAN HIEROGLYPH A446;Lo;0;L;;;;;N;;;;; +145F4;ANATOLIAN HIEROGLYPH A447;Lo;0;L;;;;;N;;;;; +145F5;ANATOLIAN HIEROGLYPH A448;Lo;0;L;;;;;N;;;;; +145F6;ANATOLIAN HIEROGLYPH A449;Lo;0;L;;;;;N;;;;; +145F7;ANATOLIAN HIEROGLYPH A450;Lo;0;L;;;;;N;;;;; +145F8;ANATOLIAN HIEROGLYPH A450A;Lo;0;L;;;;;N;;;;; +145F9;ANATOLIAN HIEROGLYPH A451;Lo;0;L;;;;;N;;;;; +145FA;ANATOLIAN HIEROGLYPH A452;Lo;0;L;;;;;N;;;;; +145FB;ANATOLIAN HIEROGLYPH A453;Lo;0;L;;;;;N;;;;; +145FC;ANATOLIAN HIEROGLYPH A454;Lo;0;L;;;;;N;;;;; +145FD;ANATOLIAN HIEROGLYPH A455;Lo;0;L;;;;;N;;;;; +145FE;ANATOLIAN HIEROGLYPH A456;Lo;0;L;;;;;N;;;;; +145FF;ANATOLIAN HIEROGLYPH A457;Lo;0;L;;;;;N;;;;; +14600;ANATOLIAN HIEROGLYPH A457A;Lo;0;L;;;;;N;;;;; +14601;ANATOLIAN HIEROGLYPH A458;Lo;0;L;;;;;N;;;;; +14602;ANATOLIAN HIEROGLYPH A459;Lo;0;L;;;;;N;;;;; +14603;ANATOLIAN HIEROGLYPH A460;Lo;0;L;;;;;N;;;;; +14604;ANATOLIAN HIEROGLYPH A461;Lo;0;L;;;;;N;;;;; +14605;ANATOLIAN HIEROGLYPH A462;Lo;0;L;;;;;N;;;;; +14606;ANATOLIAN HIEROGLYPH A463;Lo;0;L;;;;;N;;;;; +14607;ANATOLIAN HIEROGLYPH A464;Lo;0;L;;;;;N;;;;; +14608;ANATOLIAN HIEROGLYPH A465;Lo;0;L;;;;;N;;;;; +14609;ANATOLIAN HIEROGLYPH A466;Lo;0;L;;;;;N;;;;; +1460A;ANATOLIAN HIEROGLYPH A467;Lo;0;L;;;;;N;;;;; +1460B;ANATOLIAN HIEROGLYPH A468;Lo;0;L;;;;;N;;;;; +1460C;ANATOLIAN HIEROGLYPH A469;Lo;0;L;;;;;N;;;;; +1460D;ANATOLIAN HIEROGLYPH A470;Lo;0;L;;;;;N;;;;; +1460E;ANATOLIAN HIEROGLYPH A471;Lo;0;L;;;;;N;;;;; +1460F;ANATOLIAN HIEROGLYPH A472;Lo;0;L;;;;;N;;;;; +14610;ANATOLIAN HIEROGLYPH A473;Lo;0;L;;;;;N;;;;; +14611;ANATOLIAN HIEROGLYPH A474;Lo;0;L;;;;;N;;;;; +14612;ANATOLIAN HIEROGLYPH A475;Lo;0;L;;;;;N;;;;; +14613;ANATOLIAN HIEROGLYPH A476;Lo;0;L;;;;;N;;;;; +14614;ANATOLIAN HIEROGLYPH A477;Lo;0;L;;;;;N;;;;; +14615;ANATOLIAN HIEROGLYPH A478;Lo;0;L;;;;;N;;;;; +14616;ANATOLIAN HIEROGLYPH A479;Lo;0;L;;;;;N;;;;; +14617;ANATOLIAN HIEROGLYPH A480;Lo;0;L;;;;;N;;;;; +14618;ANATOLIAN HIEROGLYPH A481;Lo;0;L;;;;;N;;;;; +14619;ANATOLIAN HIEROGLYPH A482;Lo;0;L;;;;;N;;;;; +1461A;ANATOLIAN HIEROGLYPH A483;Lo;0;L;;;;;N;;;;; +1461B;ANATOLIAN HIEROGLYPH A484;Lo;0;L;;;;;N;;;;; +1461C;ANATOLIAN HIEROGLYPH A485;Lo;0;L;;;;;N;;;;; +1461D;ANATOLIAN HIEROGLYPH A486;Lo;0;L;;;;;N;;;;; +1461E;ANATOLIAN HIEROGLYPH A487;Lo;0;L;;;;;N;;;;; +1461F;ANATOLIAN HIEROGLYPH A488;Lo;0;L;;;;;N;;;;; +14620;ANATOLIAN HIEROGLYPH A489;Lo;0;L;;;;;N;;;;; +14621;ANATOLIAN HIEROGLYPH A490;Lo;0;L;;;;;N;;;;; +14622;ANATOLIAN HIEROGLYPH A491;Lo;0;L;;;;;N;;;;; +14623;ANATOLIAN HIEROGLYPH A492;Lo;0;L;;;;;N;;;;; +14624;ANATOLIAN HIEROGLYPH A493;Lo;0;L;;;;;N;;;;; +14625;ANATOLIAN HIEROGLYPH A494;Lo;0;L;;;;;N;;;;; +14626;ANATOLIAN HIEROGLYPH A495;Lo;0;L;;;;;N;;;;; +14627;ANATOLIAN HIEROGLYPH A496;Lo;0;L;;;;;N;;;;; +14628;ANATOLIAN HIEROGLYPH A497;Lo;0;L;;;;;N;;;;; +14629;ANATOLIAN HIEROGLYPH A501;Lo;0;L;;;;;N;;;;; +1462A;ANATOLIAN HIEROGLYPH A502;Lo;0;L;;;;;N;;;;; +1462B;ANATOLIAN HIEROGLYPH A503;Lo;0;L;;;;;N;;;;; +1462C;ANATOLIAN HIEROGLYPH A504;Lo;0;L;;;;;N;;;;; +1462D;ANATOLIAN HIEROGLYPH A505;Lo;0;L;;;;;N;;;;; +1462E;ANATOLIAN HIEROGLYPH A506;Lo;0;L;;;;;N;;;;; +1462F;ANATOLIAN HIEROGLYPH A507;Lo;0;L;;;;;N;;;;; +14630;ANATOLIAN HIEROGLYPH A508;Lo;0;L;;;;;N;;;;; +14631;ANATOLIAN HIEROGLYPH A509;Lo;0;L;;;;;N;;;;; +14632;ANATOLIAN HIEROGLYPH A510;Lo;0;L;;;;;N;;;;; +14633;ANATOLIAN HIEROGLYPH A511;Lo;0;L;;;;;N;;;;; +14634;ANATOLIAN HIEROGLYPH A512;Lo;0;L;;;;;N;;;;; +14635;ANATOLIAN HIEROGLYPH A513;Lo;0;L;;;;;N;;;;; +14636;ANATOLIAN HIEROGLYPH A514;Lo;0;L;;;;;N;;;;; +14637;ANATOLIAN HIEROGLYPH A515;Lo;0;L;;;;;N;;;;; +14638;ANATOLIAN HIEROGLYPH A516;Lo;0;L;;;;;N;;;;; +14639;ANATOLIAN HIEROGLYPH A517;Lo;0;L;;;;;N;;;;; +1463A;ANATOLIAN HIEROGLYPH A518;Lo;0;L;;;;;N;;;;; +1463B;ANATOLIAN HIEROGLYPH A519;Lo;0;L;;;;;N;;;;; +1463C;ANATOLIAN HIEROGLYPH A520;Lo;0;L;;;;;N;;;;; +1463D;ANATOLIAN HIEROGLYPH A521;Lo;0;L;;;;;N;;;;; +1463E;ANATOLIAN HIEROGLYPH A522;Lo;0;L;;;;;N;;;;; +1463F;ANATOLIAN HIEROGLYPH A523;Lo;0;L;;;;;N;;;;; +14640;ANATOLIAN HIEROGLYPH A524;Lo;0;L;;;;;N;;;;; +14641;ANATOLIAN HIEROGLYPH A525;Lo;0;L;;;;;N;;;;; +14642;ANATOLIAN HIEROGLYPH A526;Lo;0;L;;;;;N;;;;; +14643;ANATOLIAN HIEROGLYPH A527;Lo;0;L;;;;;N;;;;; +14644;ANATOLIAN HIEROGLYPH A528;Lo;0;L;;;;;N;;;;; +14645;ANATOLIAN HIEROGLYPH A529;Lo;0;L;;;;;N;;;;; +14646;ANATOLIAN HIEROGLYPH A530;Lo;0;L;;;;;N;;;;; 16800;BAMUM LETTER PHASE-A NGKUE MFON;Lo;0;L;;;;;N;;;;; 16801;BAMUM LETTER PHASE-A GBIEE FON;Lo;0;L;;;;;N;;;;; 16802;BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE;Lo;0;L;;;;;N;;;;; @@ -23080,6 +24300,17 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 1D1DB;MUSICAL SYMBOL SCANDICUS FLEXUS;So;0;L;;;;;N;;;;; 1D1DC;MUSICAL SYMBOL TORCULUS RESUPINUS;So;0;L;;;;;N;;;;; 1D1DD;MUSICAL SYMBOL PES SUBPUNCTIS;So;0;L;;;;;N;;;;; +1D1DE;MUSICAL SYMBOL KIEVAN C CLEF;So;0;L;;;;;N;;;;; +1D1DF;MUSICAL SYMBOL KIEVAN END OF PIECE;So;0;L;;;;;N;;;;; +1D1E0;MUSICAL SYMBOL KIEVAN FINAL NOTE;So;0;L;;;;;N;;;;; +1D1E1;MUSICAL SYMBOL KIEVAN RECITATIVE MARK;So;0;L;;;;;N;;;;; +1D1E2;MUSICAL SYMBOL KIEVAN WHOLE NOTE;So;0;L;;;;;N;;;;; +1D1E3;MUSICAL SYMBOL KIEVAN HALF NOTE;So;0;L;;;;;N;;;;; +1D1E4;MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM DOWN;So;0;L;;;;;N;;;;; +1D1E5;MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM UP;So;0;L;;;;;N;;;;; +1D1E6;MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM DOWN;So;0;L;;;;;N;;;;; +1D1E7;MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM UP;So;0;L;;;;;N;;;;; +1D1E8;MUSICAL SYMBOL KIEVAN FLAT SIGN;So;0;L;;;;;N;;;;; 1D200;GREEK VOCAL NOTATION SYMBOL-1;So;0;ON;;;;;N;;;;; 1D201;GREEK VOCAL NOTATION SYMBOL-2;So;0;ON;;;;;N;;;;; 1D202;GREEK VOCAL NOTATION SYMBOL-3;So;0;ON;;;;;N;;;;; @@ -24251,6 +25482,678 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 1D7FD;MATHEMATICAL MONOSPACE DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; 1D7FE;MATHEMATICAL MONOSPACE DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; 1D7FF;MATHEMATICAL MONOSPACE DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; +1D800;SIGNWRITING HAND-FIST INDEX;So;0;L;;;;;N;;;;; +1D801;SIGNWRITING HAND-CIRCLE INDEX;So;0;L;;;;;N;;;;; +1D802;SIGNWRITING HAND-CUP INDEX;So;0;L;;;;;N;;;;; +1D803;SIGNWRITING HAND-OVAL INDEX;So;0;L;;;;;N;;;;; +1D804;SIGNWRITING HAND-HINGE INDEX;So;0;L;;;;;N;;;;; +1D805;SIGNWRITING HAND-ANGLE INDEX;So;0;L;;;;;N;;;;; +1D806;SIGNWRITING HAND-FIST INDEX BENT;So;0;L;;;;;N;;;;; +1D807;SIGNWRITING HAND-CIRCLE INDEX BENT;So;0;L;;;;;N;;;;; +1D808;SIGNWRITING HAND-FIST THUMB UNDER INDEX BENT;So;0;L;;;;;N;;;;; +1D809;SIGNWRITING HAND-FIST INDEX RAISED KNUCKLE;So;0;L;;;;;N;;;;; +1D80A;SIGNWRITING HAND-FIST INDEX CUPPED;So;0;L;;;;;N;;;;; +1D80B;SIGNWRITING HAND-FIST INDEX HINGED;So;0;L;;;;;N;;;;; +1D80C;SIGNWRITING HAND-FIST INDEX HINGED LOW;So;0;L;;;;;N;;;;; +1D80D;SIGNWRITING HAND-CIRCLE INDEX HINGE;So;0;L;;;;;N;;;;; +1D80E;SIGNWRITING HAND-FIST INDEX MIDDLE;So;0;L;;;;;N;;;;; +1D80F;SIGNWRITING HAND-CIRCLE INDEX MIDDLE;So;0;L;;;;;N;;;;; +1D810;SIGNWRITING HAND-FIST INDEX MIDDLE BENT;So;0;L;;;;;N;;;;; +1D811;SIGNWRITING HAND-FIST INDEX MIDDLE RAISED KNUCKLES;So;0;L;;;;;N;;;;; +1D812;SIGNWRITING HAND-FIST INDEX MIDDLE HINGED;So;0;L;;;;;N;;;;; +1D813;SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED;So;0;L;;;;;N;;;;; +1D814;SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP;So;0;L;;;;;N;;;;; +1D815;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED;So;0;L;;;;;N;;;;; +1D816;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED INDEX BENT;So;0;L;;;;;N;;;;; +1D817;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED MIDDLE BENT;So;0;L;;;;;N;;;;; +1D818;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED;So;0;L;;;;;N;;;;; +1D819;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED;So;0;L;;;;;N;;;;; +1D81A;SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED;So;0;L;;;;;N;;;;; +1D81B;SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSSED;So;0;L;;;;;N;;;;; +1D81C;SIGNWRITING HAND-FIST MIDDLE BENT OVER INDEX;So;0;L;;;;;N;;;;; +1D81D;SIGNWRITING HAND-FIST INDEX BENT OVER MIDDLE;So;0;L;;;;;N;;;;; +1D81E;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB;So;0;L;;;;;N;;;;; +1D81F;SIGNWRITING HAND-CIRCLE INDEX MIDDLE THUMB;So;0;L;;;;;N;;;;; +1D820;SIGNWRITING HAND-FIST INDEX MIDDLE STRAIGHT THUMB BENT;So;0;L;;;;;N;;;;; +1D821;SIGNWRITING HAND-FIST INDEX MIDDLE BENT THUMB STRAIGHT;So;0;L;;;;;N;;;;; +1D822;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB BENT;So;0;L;;;;;N;;;;; +1D823;SIGNWRITING HAND-FIST INDEX MIDDLE HINGED SPREAD THUMB SIDE;So;0;L;;;;;N;;;;; +1D824;SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB SIDE;So;0;L;;;;;N;;;;; +1D825;SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB CONJOINED;So;0;L;;;;;N;;;;; +1D826;SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP THUMB SIDE;So;0;L;;;;;N;;;;; +1D827;SIGNWRITING HAND-FIST INDEX MIDDLE UP SPREAD THUMB FORWARD;So;0;L;;;;;N;;;;; +1D828;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CUPPED;So;0;L;;;;;N;;;;; +1D829;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CIRCLED;So;0;L;;;;;N;;;;; +1D82A;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HOOKED;So;0;L;;;;;N;;;;; +1D82B;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HINGED;So;0;L;;;;;N;;;;; +1D82C;SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE STRAIGHT;So;0;L;;;;;N;;;;; +1D82D;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE;So;0;L;;;;;N;;;;; +1D82E;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE CONJOINED;So;0;L;;;;;N;;;;; +1D82F;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE BENT;So;0;L;;;;;N;;;;; +1D830;SIGNWRITING HAND-FIST MIDDLE THUMB HOOKED INDEX UP;So;0;L;;;;;N;;;;; +1D831;SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE UP;So;0;L;;;;;N;;;;; +1D832;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED THUMB SIDE;So;0;L;;;;;N;;;;; +1D833;SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED THUMB SIDE;So;0;L;;;;;N;;;;; +1D834;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB FORWARD;So;0;L;;;;;N;;;;; +1D835;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED THUMB FORWARD;So;0;L;;;;;N;;;;; +1D836;SIGNWRITING HAND-FIST MIDDLE THUMB CUPPED INDEX UP;So;0;L;;;;;N;;;;; +1D837;SIGNWRITING HAND-FIST INDEX THUMB CUPPED MIDDLE UP;So;0;L;;;;;N;;;;; +1D838;SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX UP;So;0;L;;;;;N;;;;; +1D839;SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX HINGED;So;0;L;;;;;N;;;;; +1D83A;SIGNWRITING HAND-FIST INDEX THUMB ANGLED OUT MIDDLE UP;So;0;L;;;;;N;;;;; +1D83B;SIGNWRITING HAND-FIST INDEX THUMB ANGLED IN MIDDLE UP;So;0;L;;;;;N;;;;; +1D83C;SIGNWRITING HAND-FIST INDEX THUMB CIRCLED MIDDLE UP;So;0;L;;;;;N;;;;; +1D83D;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CONJOINED HINGED;So;0;L;;;;;N;;;;; +1D83E;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED OUT;So;0;L;;;;;N;;;;; +1D83F;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED;So;0;L;;;;;N;;;;; +1D840;SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX UP;So;0;L;;;;;N;;;;; +1D841;SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX CROSSED;So;0;L;;;;;N;;;;; +1D842;SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED INDEX UP;So;0;L;;;;;N;;;;; +1D843;SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE HINGED;So;0;L;;;;;N;;;;; +1D844;SIGNWRITING HAND-FLAT FOUR FINGERS;So;0;L;;;;;N;;;;; +1D845;SIGNWRITING HAND-FLAT FOUR FINGERS BENT;So;0;L;;;;;N;;;;; +1D846;SIGNWRITING HAND-FLAT FOUR FINGERS HINGED;So;0;L;;;;;N;;;;; +1D847;SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED;So;0;L;;;;;N;;;;; +1D848;SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED SPLIT;So;0;L;;;;;N;;;;; +1D849;SIGNWRITING HAND-CLAW FOUR FINGERS CONJOINED;So;0;L;;;;;N;;;;; +1D84A;SIGNWRITING HAND-FIST FOUR FINGERS CONJOINED BENT;So;0;L;;;;;N;;;;; +1D84B;SIGNWRITING HAND-HINGE FOUR FINGERS CONJOINED;So;0;L;;;;;N;;;;; +1D84C;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;; +1D84D;SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;; +1D84E;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD FOUR BENT;So;0;L;;;;;N;;;;; +1D84F;SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD FOUR BENT;So;0;L;;;;;N;;;;; +1D850;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD BENT;So;0;L;;;;;N;;;;; +1D851;SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD BENT;So;0;L;;;;;N;;;;; +1D852;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD THUMB FORWARD;So;0;L;;;;;N;;;;; +1D853;SIGNWRITING HAND-CUP FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;; +1D854;SIGNWRITING HAND-CUP FIVE FINGERS SPREAD OPEN;So;0;L;;;;;N;;;;; +1D855;SIGNWRITING HAND-HINGE FIVE FINGERS SPREAD OPEN;So;0;L;;;;;N;;;;; +1D856;SIGNWRITING HAND-OVAL FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;; +1D857;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED;So;0;L;;;;;N;;;;; +1D858;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED THUMB SIDE;So;0;L;;;;;N;;;;; +1D859;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED NO THUMB;So;0;L;;;;;N;;;;; +1D85A;SIGNWRITING HAND-FLAT;So;0;L;;;;;N;;;;; +1D85B;SIGNWRITING HAND-FLAT BETWEEN PALM FACINGS;So;0;L;;;;;N;;;;; +1D85C;SIGNWRITING HAND-FLAT HEEL;So;0;L;;;;;N;;;;; +1D85D;SIGNWRITING HAND-FLAT THUMB SIDE;So;0;L;;;;;N;;;;; +1D85E;SIGNWRITING HAND-FLAT HEEL THUMB SIDE;So;0;L;;;;;N;;;;; +1D85F;SIGNWRITING HAND-FLAT THUMB BENT;So;0;L;;;;;N;;;;; +1D860;SIGNWRITING HAND-FLAT THUMB FORWARD;So;0;L;;;;;N;;;;; +1D861;SIGNWRITING HAND-FLAT SPLIT INDEX THUMB SIDE;So;0;L;;;;;N;;;;; +1D862;SIGNWRITING HAND-FLAT SPLIT CENTRE;So;0;L;;;;;N;;;;; +1D863;SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE;So;0;L;;;;;N;;;;; +1D864;SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE BENT;So;0;L;;;;;N;;;;; +1D865;SIGNWRITING HAND-FLAT SPLIT LITTLE;So;0;L;;;;;N;;;;; +1D866;SIGNWRITING HAND-CLAW;So;0;L;;;;;N;;;;; +1D867;SIGNWRITING HAND-CLAW THUMB SIDE;So;0;L;;;;;N;;;;; +1D868;SIGNWRITING HAND-CLAW NO THUMB;So;0;L;;;;;N;;;;; +1D869;SIGNWRITING HAND-CLAW THUMB FORWARD;So;0;L;;;;;N;;;;; +1D86A;SIGNWRITING HAND-HOOK CURLICUE;So;0;L;;;;;N;;;;; +1D86B;SIGNWRITING HAND-HOOK;So;0;L;;;;;N;;;;; +1D86C;SIGNWRITING HAND-CUP OPEN;So;0;L;;;;;N;;;;; +1D86D;SIGNWRITING HAND-CUP;So;0;L;;;;;N;;;;; +1D86E;SIGNWRITING HAND-CUP OPEN THUMB SIDE;So;0;L;;;;;N;;;;; +1D86F;SIGNWRITING HAND-CUP THUMB SIDE;So;0;L;;;;;N;;;;; +1D870;SIGNWRITING HAND-CUP OPEN NO THUMB;So;0;L;;;;;N;;;;; +1D871;SIGNWRITING HAND-CUP NO THUMB;So;0;L;;;;;N;;;;; +1D872;SIGNWRITING HAND-CUP OPEN THUMB FORWARD;So;0;L;;;;;N;;;;; +1D873;SIGNWRITING HAND-CUP THUMB FORWARD;So;0;L;;;;;N;;;;; +1D874;SIGNWRITING HAND-CURLICUE OPEN;So;0;L;;;;;N;;;;; +1D875;SIGNWRITING HAND-CURLICUE;So;0;L;;;;;N;;;;; +1D876;SIGNWRITING HAND-CIRCLE;So;0;L;;;;;N;;;;; +1D877;SIGNWRITING HAND-OVAL;So;0;L;;;;;N;;;;; +1D878;SIGNWRITING HAND-OVAL THUMB SIDE;So;0;L;;;;;N;;;;; +1D879;SIGNWRITING HAND-OVAL NO THUMB;So;0;L;;;;;N;;;;; +1D87A;SIGNWRITING HAND-OVAL THUMB FORWARD;So;0;L;;;;;N;;;;; +1D87B;SIGNWRITING HAND-HINGE OPEN;So;0;L;;;;;N;;;;; +1D87C;SIGNWRITING HAND-HINGE OPEN THUMB FORWARD;So;0;L;;;;;N;;;;; +1D87D;SIGNWRITING HAND-HINGE;So;0;L;;;;;N;;;;; +1D87E;SIGNWRITING HAND-HINGE SMALL;So;0;L;;;;;N;;;;; +1D87F;SIGNWRITING HAND-HINGE OPEN THUMB SIDE;So;0;L;;;;;N;;;;; +1D880;SIGNWRITING HAND-HINGE THUMB SIDE;So;0;L;;;;;N;;;;; +1D881;SIGNWRITING HAND-HINGE OPEN NO THUMB;So;0;L;;;;;N;;;;; +1D882;SIGNWRITING HAND-HINGE NO THUMB;So;0;L;;;;;N;;;;; +1D883;SIGNWRITING HAND-HINGE THUMB SIDE TOUCHING INDEX;So;0;L;;;;;N;;;;; +1D884;SIGNWRITING HAND-HINGE THUMB BETWEEN MIDDLE RING;So;0;L;;;;;N;;;;; +1D885;SIGNWRITING HAND-ANGLE;So;0;L;;;;;N;;;;; +1D886;SIGNWRITING HAND-FIST INDEX MIDDLE RING;So;0;L;;;;;N;;;;; +1D887;SIGNWRITING HAND-CIRCLE INDEX MIDDLE RING;So;0;L;;;;;N;;;;; +1D888;SIGNWRITING HAND-HINGE INDEX MIDDLE RING;So;0;L;;;;;N;;;;; +1D889;SIGNWRITING HAND-ANGLE INDEX MIDDLE RING;So;0;L;;;;;N;;;;; +1D88A;SIGNWRITING HAND-HINGE LITTLE;So;0;L;;;;;N;;;;; +1D88B;SIGNWRITING HAND-FIST INDEX MIDDLE RING BENT;So;0;L;;;;;N;;;;; +1D88C;SIGNWRITING HAND-FIST INDEX MIDDLE RING CONJOINED;So;0;L;;;;;N;;;;; +1D88D;SIGNWRITING HAND-HINGE INDEX MIDDLE RING CONJOINED;So;0;L;;;;;N;;;;; +1D88E;SIGNWRITING HAND-FIST LITTLE DOWN;So;0;L;;;;;N;;;;; +1D88F;SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE STRAIGHT;So;0;L;;;;;N;;;;; +1D890;SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE CURVED;So;0;L;;;;;N;;;;; +1D891;SIGNWRITING HAND-FIST LITTLE DOWN OTHERS CIRCLED;So;0;L;;;;;N;;;;; +1D892;SIGNWRITING HAND-FIST LITTLE UP;So;0;L;;;;;N;;;;; +1D893;SIGNWRITING HAND-FIST THUMB UNDER LITTLE UP;So;0;L;;;;;N;;;;; +1D894;SIGNWRITING HAND-CIRCLE LITTLE UP;So;0;L;;;;;N;;;;; +1D895;SIGNWRITING HAND-OVAL LITTLE UP;So;0;L;;;;;N;;;;; +1D896;SIGNWRITING HAND-ANGLE LITTLE UP;So;0;L;;;;;N;;;;; +1D897;SIGNWRITING HAND-FIST LITTLE RAISED KNUCKLE;So;0;L;;;;;N;;;;; +1D898;SIGNWRITING HAND-FIST LITTLE BENT;So;0;L;;;;;N;;;;; +1D899;SIGNWRITING HAND-FIST LITTLE TOUCHES THUMB;So;0;L;;;;;N;;;;; +1D89A;SIGNWRITING HAND-FIST LITTLE THUMB;So;0;L;;;;;N;;;;; +1D89B;SIGNWRITING HAND-HINGE LITTLE THUMB;So;0;L;;;;;N;;;;; +1D89C;SIGNWRITING HAND-FIST LITTLE INDEX THUMB;So;0;L;;;;;N;;;;; +1D89D;SIGNWRITING HAND-HINGE LITTLE INDEX THUMB;So;0;L;;;;;N;;;;; +1D89E;SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB OUT;So;0;L;;;;;N;;;;; +1D89F;SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB;So;0;L;;;;;N;;;;; +1D8A0;SIGNWRITING HAND-FIST LITTLE INDEX;So;0;L;;;;;N;;;;; +1D8A1;SIGNWRITING HAND-CIRCLE LITTLE INDEX;So;0;L;;;;;N;;;;; +1D8A2;SIGNWRITING HAND-HINGE LITTLE INDEX;So;0;L;;;;;N;;;;; +1D8A3;SIGNWRITING HAND-ANGLE LITTLE INDEX;So;0;L;;;;;N;;;;; +1D8A4;SIGNWRITING HAND-FIST INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;; +1D8A5;SIGNWRITING HAND-CIRCLE INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;; +1D8A6;SIGNWRITING HAND-HINGE INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;; +1D8A7;SIGNWRITING HAND-HINGE RING;So;0;L;;;;;N;;;;; +1D8A8;SIGNWRITING HAND-ANGLE INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;; +1D8A9;SIGNWRITING HAND-FIST INDEX MIDDLE CROSS LITTLE;So;0;L;;;;;N;;;;; +1D8AA;SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSS LITTLE;So;0;L;;;;;N;;;;; +1D8AB;SIGNWRITING HAND-FIST RING DOWN;So;0;L;;;;;N;;;;; +1D8AC;SIGNWRITING HAND-HINGE RING DOWN INDEX THUMB HOOK MIDDLE;So;0;L;;;;;N;;;;; +1D8AD;SIGNWRITING HAND-ANGLE RING DOWN MIDDLE THUMB INDEX CROSS;So;0;L;;;;;N;;;;; +1D8AE;SIGNWRITING HAND-FIST RING UP;So;0;L;;;;;N;;;;; +1D8AF;SIGNWRITING HAND-FIST RING RAISED KNUCKLE;So;0;L;;;;;N;;;;; +1D8B0;SIGNWRITING HAND-FIST RING LITTLE;So;0;L;;;;;N;;;;; +1D8B1;SIGNWRITING HAND-CIRCLE RING LITTLE;So;0;L;;;;;N;;;;; +1D8B2;SIGNWRITING HAND-OVAL RING LITTLE;So;0;L;;;;;N;;;;; +1D8B3;SIGNWRITING HAND-ANGLE RING LITTLE;So;0;L;;;;;N;;;;; +1D8B4;SIGNWRITING HAND-FIST RING MIDDLE;So;0;L;;;;;N;;;;; +1D8B5;SIGNWRITING HAND-FIST RING MIDDLE CONJOINED;So;0;L;;;;;N;;;;; +1D8B6;SIGNWRITING HAND-FIST RING MIDDLE RAISED KNUCKLES;So;0;L;;;;;N;;;;; +1D8B7;SIGNWRITING HAND-FIST RING INDEX;So;0;L;;;;;N;;;;; +1D8B8;SIGNWRITING HAND-FIST RING THUMB;So;0;L;;;;;N;;;;; +1D8B9;SIGNWRITING HAND-HOOK RING THUMB;So;0;L;;;;;N;;;;; +1D8BA;SIGNWRITING HAND-FIST INDEX RING LITTLE;So;0;L;;;;;N;;;;; +1D8BB;SIGNWRITING HAND-CIRCLE INDEX RING LITTLE;So;0;L;;;;;N;;;;; +1D8BC;SIGNWRITING HAND-CURLICUE INDEX RING LITTLE ON;So;0;L;;;;;N;;;;; +1D8BD;SIGNWRITING HAND-HOOK INDEX RING LITTLE OUT;So;0;L;;;;;N;;;;; +1D8BE;SIGNWRITING HAND-HOOK INDEX RING LITTLE IN;So;0;L;;;;;N;;;;; +1D8BF;SIGNWRITING HAND-HOOK INDEX RING LITTLE UNDER;So;0;L;;;;;N;;;;; +1D8C0;SIGNWRITING HAND-CUP INDEX RING LITTLE;So;0;L;;;;;N;;;;; +1D8C1;SIGNWRITING HAND-HINGE INDEX RING LITTLE;So;0;L;;;;;N;;;;; +1D8C2;SIGNWRITING HAND-ANGLE INDEX RING LITTLE OUT;So;0;L;;;;;N;;;;; +1D8C3;SIGNWRITING HAND-ANGLE INDEX RING LITTLE;So;0;L;;;;;N;;;;; +1D8C4;SIGNWRITING HAND-FIST MIDDLE DOWN;So;0;L;;;;;N;;;;; +1D8C5;SIGNWRITING HAND-HINGE MIDDLE;So;0;L;;;;;N;;;;; +1D8C6;SIGNWRITING HAND-FIST MIDDLE UP;So;0;L;;;;;N;;;;; +1D8C7;SIGNWRITING HAND-CIRCLE MIDDLE UP;So;0;L;;;;;N;;;;; +1D8C8;SIGNWRITING HAND-FIST MIDDLE RAISED KNUCKLE;So;0;L;;;;;N;;;;; +1D8C9;SIGNWRITING HAND-FIST MIDDLE UP THUMB SIDE;So;0;L;;;;;N;;;;; +1D8CA;SIGNWRITING HAND-HOOK MIDDLE THUMB;So;0;L;;;;;N;;;;; +1D8CB;SIGNWRITING HAND-FIST MIDDLE THUMB LITTLE;So;0;L;;;;;N;;;;; +1D8CC;SIGNWRITING HAND-FIST MIDDLE LITTLE;So;0;L;;;;;N;;;;; +1D8CD;SIGNWRITING HAND-FIST MIDDLE RING LITTLE;So;0;L;;;;;N;;;;; +1D8CE;SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE;So;0;L;;;;;N;;;;; +1D8CF;SIGNWRITING HAND-CURLICUE MIDDLE RING LITTLE ON;So;0;L;;;;;N;;;;; +1D8D0;SIGNWRITING HAND-CUP MIDDLE RING LITTLE;So;0;L;;;;;N;;;;; +1D8D1;SIGNWRITING HAND-HINGE MIDDLE RING LITTLE;So;0;L;;;;;N;;;;; +1D8D2;SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE OUT;So;0;L;;;;;N;;;;; +1D8D3;SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE IN;So;0;L;;;;;N;;;;; +1D8D4;SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE;So;0;L;;;;;N;;;;; +1D8D5;SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE BENT;So;0;L;;;;;N;;;;; +1D8D6;SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED;So;0;L;;;;;N;;;;; +1D8D7;SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED SIDE;So;0;L;;;;;N;;;;; +1D8D8;SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED OUT;So;0;L;;;;;N;;;;; +1D8D9;SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED IN;So;0;L;;;;;N;;;;; +1D8DA;SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED;So;0;L;;;;;N;;;;; +1D8DB;SIGNWRITING HAND-HINGE INDEX HINGED;So;0;L;;;;;N;;;;; +1D8DC;SIGNWRITING HAND-FIST INDEX THUMB SIDE;So;0;L;;;;;N;;;;; +1D8DD;SIGNWRITING HAND-HINGE INDEX THUMB SIDE;So;0;L;;;;;N;;;;; +1D8DE;SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB DIAGONAL;So;0;L;;;;;N;;;;; +1D8DF;SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB CONJOINED;So;0;L;;;;;N;;;;; +1D8E0;SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB BENT;So;0;L;;;;;N;;;;; +1D8E1;SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX BENT;So;0;L;;;;;N;;;;; +1D8E2;SIGNWRITING HAND-FIST INDEX THUMB SIDE BOTH BENT;So;0;L;;;;;N;;;;; +1D8E3;SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX HINGE;So;0;L;;;;;N;;;;; +1D8E4;SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX STRAIGHT;So;0;L;;;;;N;;;;; +1D8E5;SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX BENT;So;0;L;;;;;N;;;;; +1D8E6;SIGNWRITING HAND-FIST INDEX THUMB HOOK;So;0;L;;;;;N;;;;; +1D8E7;SIGNWRITING HAND-FIST INDEX THUMB CURLICUE;So;0;L;;;;;N;;;;; +1D8E8;SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB INSIDE;So;0;L;;;;;N;;;;; +1D8E9;SIGNWRITING HAND-CLAW INDEX THUMB CURVE THUMB INSIDE;So;0;L;;;;;N;;;;; +1D8EA;SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB UNDER;So;0;L;;;;;N;;;;; +1D8EB;SIGNWRITING HAND-FIST INDEX THUMB CIRCLE;So;0;L;;;;;N;;;;; +1D8EC;SIGNWRITING HAND-CUP INDEX THUMB;So;0;L;;;;;N;;;;; +1D8ED;SIGNWRITING HAND-CUP INDEX THUMB OPEN;So;0;L;;;;;N;;;;; +1D8EE;SIGNWRITING HAND-HINGE INDEX THUMB OPEN;So;0;L;;;;;N;;;;; +1D8EF;SIGNWRITING HAND-HINGE INDEX THUMB LARGE;So;0;L;;;;;N;;;;; +1D8F0;SIGNWRITING HAND-HINGE INDEX THUMB;So;0;L;;;;;N;;;;; +1D8F1;SIGNWRITING HAND-HINGE INDEX THUMB SMALL;So;0;L;;;;;N;;;;; +1D8F2;SIGNWRITING HAND-ANGLE INDEX THUMB OUT;So;0;L;;;;;N;;;;; +1D8F3;SIGNWRITING HAND-ANGLE INDEX THUMB IN;So;0;L;;;;;N;;;;; +1D8F4;SIGNWRITING HAND-ANGLE INDEX THUMB;So;0;L;;;;;N;;;;; +1D8F5;SIGNWRITING HAND-FIST THUMB;So;0;L;;;;;N;;;;; +1D8F6;SIGNWRITING HAND-FIST THUMB HEEL;So;0;L;;;;;N;;;;; +1D8F7;SIGNWRITING HAND-FIST THUMB SIDE DIAGONAL;So;0;L;;;;;N;;;;; +1D8F8;SIGNWRITING HAND-FIST THUMB SIDE CONJOINED;So;0;L;;;;;N;;;;; +1D8F9;SIGNWRITING HAND-FIST THUMB SIDE BENT;So;0;L;;;;;N;;;;; +1D8FA;SIGNWRITING HAND-FIST THUMB FORWARD;So;0;L;;;;;N;;;;; +1D8FB;SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE;So;0;L;;;;;N;;;;; +1D8FC;SIGNWRITING HAND-FIST THUMB BETWEEN MIDDLE RING;So;0;L;;;;;N;;;;; +1D8FD;SIGNWRITING HAND-FIST THUMB BETWEEN RING LITTLE;So;0;L;;;;;N;;;;; +1D8FE;SIGNWRITING HAND-FIST THUMB UNDER TWO FINGERS;So;0;L;;;;;N;;;;; +1D8FF;SIGNWRITING HAND-FIST THUMB OVER TWO FINGERS;So;0;L;;;;;N;;;;; +1D900;SIGNWRITING HAND-FIST THUMB UNDER THREE FINGERS;So;0;L;;;;;N;;;;; +1D901;SIGNWRITING HAND-FIST THUMB UNDER FOUR FINGERS;So;0;L;;;;;N;;;;; +1D902;SIGNWRITING HAND-FIST THUMB OVER FOUR RAISED KNUCKLES;So;0;L;;;;;N;;;;; +1D903;SIGNWRITING HAND-FIST;So;0;L;;;;;N;;;;; +1D904;SIGNWRITING HAND-FIST HEEL;So;0;L;;;;;N;;;;; +1D905;SIGNWRITING TOUCH SINGLE;So;0;L;;;;;N;;;;; +1D906;SIGNWRITING TOUCH MULTIPLE;So;0;L;;;;;N;;;;; +1D907;SIGNWRITING TOUCH BETWEEN;So;0;L;;;;;N;;;;; +1D908;SIGNWRITING GRASP SINGLE;So;0;L;;;;;N;;;;; +1D909;SIGNWRITING GRASP MULTIPLE;So;0;L;;;;;N;;;;; +1D90A;SIGNWRITING GRASP BETWEEN;So;0;L;;;;;N;;;;; +1D90B;SIGNWRITING STRIKE SINGLE;So;0;L;;;;;N;;;;; +1D90C;SIGNWRITING STRIKE MULTIPLE;So;0;L;;;;;N;;;;; +1D90D;SIGNWRITING STRIKE BETWEEN;So;0;L;;;;;N;;;;; +1D90E;SIGNWRITING BRUSH SINGLE;So;0;L;;;;;N;;;;; +1D90F;SIGNWRITING BRUSH MULTIPLE;So;0;L;;;;;N;;;;; +1D910;SIGNWRITING BRUSH BETWEEN;So;0;L;;;;;N;;;;; +1D911;SIGNWRITING RUB SINGLE;So;0;L;;;;;N;;;;; +1D912;SIGNWRITING RUB MULTIPLE;So;0;L;;;;;N;;;;; +1D913;SIGNWRITING RUB BETWEEN;So;0;L;;;;;N;;;;; +1D914;SIGNWRITING SURFACE SYMBOLS;So;0;L;;;;;N;;;;; +1D915;SIGNWRITING SURFACE BETWEEN;So;0;L;;;;;N;;;;; +1D916;SIGNWRITING SQUEEZE LARGE SINGLE;So;0;L;;;;;N;;;;; +1D917;SIGNWRITING SQUEEZE SMALL SINGLE;So;0;L;;;;;N;;;;; +1D918;SIGNWRITING SQUEEZE LARGE MULTIPLE;So;0;L;;;;;N;;;;; +1D919;SIGNWRITING SQUEEZE SMALL MULTIPLE;So;0;L;;;;;N;;;;; +1D91A;SIGNWRITING SQUEEZE SEQUENTIAL;So;0;L;;;;;N;;;;; +1D91B;SIGNWRITING FLICK LARGE SINGLE;So;0;L;;;;;N;;;;; +1D91C;SIGNWRITING FLICK SMALL SINGLE;So;0;L;;;;;N;;;;; +1D91D;SIGNWRITING FLICK LARGE MULTIPLE;So;0;L;;;;;N;;;;; +1D91E;SIGNWRITING FLICK SMALL MULTIPLE;So;0;L;;;;;N;;;;; +1D91F;SIGNWRITING FLICK SEQUENTIAL;So;0;L;;;;;N;;;;; +1D920;SIGNWRITING SQUEEZE FLICK ALTERNATING;So;0;L;;;;;N;;;;; +1D921;SIGNWRITING MOVEMENT-HINGE UP DOWN LARGE;So;0;L;;;;;N;;;;; +1D922;SIGNWRITING MOVEMENT-HINGE UP DOWN SMALL;So;0;L;;;;;N;;;;; +1D923;SIGNWRITING MOVEMENT-HINGE UP SEQUENTIAL;So;0;L;;;;;N;;;;; +1D924;SIGNWRITING MOVEMENT-HINGE DOWN SEQUENTIAL;So;0;L;;;;;N;;;;; +1D925;SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING LARGE;So;0;L;;;;;N;;;;; +1D926;SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING SMALL;So;0;L;;;;;N;;;;; +1D927;SIGNWRITING MOVEMENT-HINGE SIDE TO SIDE SCISSORS;So;0;L;;;;;N;;;;; +1D928;SIGNWRITING MOVEMENT-WALLPLANE FINGER CONTACT;So;0;L;;;;;N;;;;; +1D929;SIGNWRITING MOVEMENT-FLOORPLANE FINGER CONTACT;So;0;L;;;;;N;;;;; +1D92A;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT SMALL;So;0;L;;;;;N;;;;; +1D92B;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT MEDIUM;So;0;L;;;;;N;;;;; +1D92C;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGE;So;0;L;;;;;N;;;;; +1D92D;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGEST;So;0;L;;;;;N;;;;; +1D92E;SIGNWRITING MOVEMENT-WALLPLANE SINGLE WRIST FLEX;So;0;L;;;;;N;;;;; +1D92F;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE STRAIGHT;So;0;L;;;;;N;;;;; +1D930;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE WRIST FLEX;So;0;L;;;;;N;;;;; +1D931;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING;So;0;L;;;;;N;;;;; +1D932;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;; +1D933;SIGNWRITING MOVEMENT-WALLPLANE CROSS;So;0;L;;;;;N;;;;; +1D934;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE STRAIGHT MOVEMENT;So;0;L;;;;;N;;;;; +1D935;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE WRIST FLEX;So;0;L;;;;;N;;;;; +1D936;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING;So;0;L;;;;;N;;;;; +1D937;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;; +1D938;SIGNWRITING MOVEMENT-WALLPLANE BEND SMALL;So;0;L;;;;;N;;;;; +1D939;SIGNWRITING MOVEMENT-WALLPLANE BEND MEDIUM;So;0;L;;;;;N;;;;; +1D93A;SIGNWRITING MOVEMENT-WALLPLANE BEND LARGE;So;0;L;;;;;N;;;;; +1D93B;SIGNWRITING MOVEMENT-WALLPLANE CORNER SMALL;So;0;L;;;;;N;;;;; +1D93C;SIGNWRITING MOVEMENT-WALLPLANE CORNER MEDIUM;So;0;L;;;;;N;;;;; +1D93D;SIGNWRITING MOVEMENT-WALLPLANE CORNER LARGE;So;0;L;;;;;N;;;;; +1D93E;SIGNWRITING MOVEMENT-WALLPLANE CORNER ROTATION;So;0;L;;;;;N;;;;; +1D93F;SIGNWRITING MOVEMENT-WALLPLANE CHECK SMALL;So;0;L;;;;;N;;;;; +1D940;SIGNWRITING MOVEMENT-WALLPLANE CHECK MEDIUM;So;0;L;;;;;N;;;;; +1D941;SIGNWRITING MOVEMENT-WALLPLANE CHECK LARGE;So;0;L;;;;;N;;;;; +1D942;SIGNWRITING MOVEMENT-WALLPLANE BOX SMALL;So;0;L;;;;;N;;;;; +1D943;SIGNWRITING MOVEMENT-WALLPLANE BOX MEDIUM;So;0;L;;;;;N;;;;; +1D944;SIGNWRITING MOVEMENT-WALLPLANE BOX LARGE;So;0;L;;;;;N;;;;; +1D945;SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG SMALL;So;0;L;;;;;N;;;;; +1D946;SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG MEDIUM;So;0;L;;;;;N;;;;; +1D947;SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG LARGE;So;0;L;;;;;N;;;;; +1D948;SIGNWRITING MOVEMENT-WALLPLANE PEAKS SMALL;So;0;L;;;;;N;;;;; +1D949;SIGNWRITING MOVEMENT-WALLPLANE PEAKS MEDIUM;So;0;L;;;;;N;;;;; +1D94A;SIGNWRITING MOVEMENT-WALLPLANE PEAKS LARGE;So;0;L;;;;;N;;;;; +1D94B;SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE SINGLE;So;0;L;;;;;N;;;;; +1D94C;SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE DOUBLE;So;0;L;;;;;N;;;;; +1D94D;SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE ALTERNATING;So;0;L;;;;;N;;;;; +1D94E;SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE SINGLE;So;0;L;;;;;N;;;;; +1D94F;SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE DOUBLE;So;0;L;;;;;N;;;;; +1D950;SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE ALTERNATING;So;0;L;;;;;N;;;;; +1D951;SIGNWRITING TRAVEL-WALLPLANE SHAKING;So;0;L;;;;;N;;;;; +1D952;SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL SINGLE;So;0;L;;;;;N;;;;; +1D953;SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL DOUBLE;So;0;L;;;;;N;;;;; +1D954;SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL TRIPLE;So;0;L;;;;;N;;;;; +1D955;SIGNWRITING MOVEMENT-DIAGONAL AWAY SMALL;So;0;L;;;;;N;;;;; +1D956;SIGNWRITING MOVEMENT-DIAGONAL AWAY MEDIUM;So;0;L;;;;;N;;;;; +1D957;SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGE;So;0;L;;;;;N;;;;; +1D958;SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGEST;So;0;L;;;;;N;;;;; +1D959;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS SMALL;So;0;L;;;;;N;;;;; +1D95A;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS MEDIUM;So;0;L;;;;;N;;;;; +1D95B;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGE;So;0;L;;;;;N;;;;; +1D95C;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGEST;So;0;L;;;;;N;;;;; +1D95D;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY SMALL;So;0;L;;;;;N;;;;; +1D95E;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY MEDIUM;So;0;L;;;;;N;;;;; +1D95F;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGE;So;0;L;;;;;N;;;;; +1D960;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGEST;So;0;L;;;;;N;;;;; +1D961;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS SMALL;So;0;L;;;;;N;;;;; +1D962;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS MEDIUM;So;0;L;;;;;N;;;;; +1D963;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGE;So;0;L;;;;;N;;;;; +1D964;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGEST;So;0;L;;;;;N;;;;; +1D965;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT SMALL;So;0;L;;;;;N;;;;; +1D966;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT MEDIUM;So;0;L;;;;;N;;;;; +1D967;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGE;So;0;L;;;;;N;;;;; +1D968;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGEST;So;0;L;;;;;N;;;;; +1D969;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE WRIST FLEX;So;0;L;;;;;N;;;;; +1D96A;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE STRAIGHT;So;0;L;;;;;N;;;;; +1D96B;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE WRIST FLEX;So;0;L;;;;;N;;;;; +1D96C;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING;So;0;L;;;;;N;;;;; +1D96D;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;; +1D96E;SIGNWRITING MOVEMENT-FLOORPLANE CROSS;So;0;L;;;;;N;;;;; +1D96F;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE STRAIGHT MOVEMENT;So;0;L;;;;;N;;;;; +1D970;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE WRIST FLEX;So;0;L;;;;;N;;;;; +1D971;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING MOVEMENT;So;0;L;;;;;N;;;;; +1D972;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;; +1D973;SIGNWRITING MOVEMENT-FLOORPLANE BEND;So;0;L;;;;;N;;;;; +1D974;SIGNWRITING MOVEMENT-FLOORPLANE CORNER SMALL;So;0;L;;;;;N;;;;; +1D975;SIGNWRITING MOVEMENT-FLOORPLANE CORNER MEDIUM;So;0;L;;;;;N;;;;; +1D976;SIGNWRITING MOVEMENT-FLOORPLANE CORNER LARGE;So;0;L;;;;;N;;;;; +1D977;SIGNWRITING MOVEMENT-FLOORPLANE CHECK;So;0;L;;;;;N;;;;; +1D978;SIGNWRITING MOVEMENT-FLOORPLANE BOX SMALL;So;0;L;;;;;N;;;;; +1D979;SIGNWRITING MOVEMENT-FLOORPLANE BOX MEDIUM;So;0;L;;;;;N;;;;; +1D97A;SIGNWRITING MOVEMENT-FLOORPLANE BOX LARGE;So;0;L;;;;;N;;;;; +1D97B;SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG SMALL;So;0;L;;;;;N;;;;; +1D97C;SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG MEDIUM;So;0;L;;;;;N;;;;; +1D97D;SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG LARGE;So;0;L;;;;;N;;;;; +1D97E;SIGNWRITING MOVEMENT-FLOORPLANE PEAKS SMALL;So;0;L;;;;;N;;;;; +1D97F;SIGNWRITING MOVEMENT-FLOORPLANE PEAKS MEDIUM;So;0;L;;;;;N;;;;; +1D980;SIGNWRITING MOVEMENT-FLOORPLANE PEAKS LARGE;So;0;L;;;;;N;;;;; +1D981;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE SINGLE;So;0;L;;;;;N;;;;; +1D982;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE DOUBLE;So;0;L;;;;;N;;;;; +1D983;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE ALTERNATING;So;0;L;;;;;N;;;;; +1D984;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE SINGLE;So;0;L;;;;;N;;;;; +1D985;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE DOUBLE;So;0;L;;;;;N;;;;; +1D986;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE ALTERNATING;So;0;L;;;;;N;;;;; +1D987;SIGNWRITING TRAVEL-FLOORPLANE SHAKING;So;0;L;;;;;N;;;;; +1D988;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER SMALL;So;0;L;;;;;N;;;;; +1D989;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER MEDIUM;So;0;L;;;;;N;;;;; +1D98A;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGE;So;0;L;;;;;N;;;;; +1D98B;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGEST;So;0;L;;;;;N;;;;; +1D98C;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE SMALL;So;0;L;;;;;N;;;;; +1D98D;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE MEDIUM;So;0;L;;;;;N;;;;; +1D98E;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGE;So;0;L;;;;;N;;;;; +1D98F;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGEST;So;0;L;;;;;N;;;;; +1D990;SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE SMALL;So;0;L;;;;;N;;;;; +1D991;SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE MEDIUM;So;0;L;;;;;N;;;;; +1D992;SIGNWRITING MOVEMENT-WALLPLANE HUMP SMALL;So;0;L;;;;;N;;;;; +1D993;SIGNWRITING MOVEMENT-WALLPLANE HUMP MEDIUM;So;0;L;;;;;N;;;;; +1D994;SIGNWRITING MOVEMENT-WALLPLANE HUMP LARGE;So;0;L;;;;;N;;;;; +1D995;SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL;So;0;L;;;;;N;;;;; +1D996;SIGNWRITING MOVEMENT-WALLPLANE LOOP MEDIUM;So;0;L;;;;;N;;;;; +1D997;SIGNWRITING MOVEMENT-WALLPLANE LOOP LARGE;So;0;L;;;;;N;;;;; +1D998;SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL DOUBLE;So;0;L;;;;;N;;;;; +1D999;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE SMALL;So;0;L;;;;;N;;;;; +1D99A;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE MEDIUM;So;0;L;;;;;N;;;;; +1D99B;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE LARGE;So;0;L;;;;;N;;;;; +1D99C;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE SMALL;So;0;L;;;;;N;;;;; +1D99D;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE MEDIUM;So;0;L;;;;;N;;;;; +1D99E;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE LARGE;So;0;L;;;;;N;;;;; +1D99F;SIGNWRITING MOVEMENT-WALLPLANE CURVE THEN STRAIGHT;So;0;L;;;;;N;;;;; +1D9A0;SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS SMALL;So;0;L;;;;;N;;;;; +1D9A1;SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS MEDIUM;So;0;L;;;;;N;;;;; +1D9A2;SIGNWRITING ROTATION-WALLPLANE SINGLE;So;0;L;;;;;N;;;;; +1D9A3;SIGNWRITING ROTATION-WALLPLANE DOUBLE;So;0;L;;;;;N;;;;; +1D9A4;SIGNWRITING ROTATION-WALLPLANE ALTERNATE;So;0;L;;;;;N;;;;; +1D9A5;SIGNWRITING MOVEMENT-WALLPLANE SHAKING;So;0;L;;;;;N;;;;; +1D9A6;SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING FRONT WALL;So;0;L;;;;;N;;;;; +1D9A7;SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING FRONT WALL;So;0;L;;;;;N;;;;; +1D9A8;SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING FRONT WALL;So;0;L;;;;;N;;;;; +1D9A9;SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING FRONT WALL;So;0;L;;;;;N;;;;; +1D9AA;SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING FRONT WALL;So;0;L;;;;;N;;;;; +1D9AB;SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING FRONT WALL;So;0;L;;;;;N;;;;; +1D9AC;SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING FRONT WALL;So;0;L;;;;;N;;;;; +1D9AD;SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING CHEST;So;0;L;;;;;N;;;;; +1D9AE;SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING CHEST;So;0;L;;;;;N;;;;; +1D9AF;SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING CHEST;So;0;L;;;;;N;;;;; +1D9B0;SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING CHEST;So;0;L;;;;;N;;;;; +1D9B1;SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING CHEST;So;0;L;;;;;N;;;;; +1D9B2;SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING CHEST;So;0;L;;;;;N;;;;; +1D9B3;SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING CHEST;So;0;L;;;;;N;;;;; +1D9B4;SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH SMALL;So;0;L;;;;;N;;;;; +1D9B5;SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH MEDIUM;So;0;L;;;;;N;;;;; +1D9B6;SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH LARGE;So;0;L;;;;;N;;;;; +1D9B7;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING SMALL;So;0;L;;;;;N;;;;; +1D9B8;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING LARGE;So;0;L;;;;;N;;;;; +1D9B9;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL DOUBLE;So;0;L;;;;;N;;;;; +1D9BA;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE DOUBLE;So;0;L;;;;;N;;;;; +1D9BB;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL TRIPLE;So;0;L;;;;;N;;;;; +1D9BC;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE TRIPLE;So;0;L;;;;;N;;;;; +1D9BD;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL SINGLE;So;0;L;;;;;N;;;;; +1D9BE;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE SINGLE;So;0;L;;;;;N;;;;; +1D9BF;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL DOUBLE;So;0;L;;;;;N;;;;; +1D9C0;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE DOUBLE;So;0;L;;;;;N;;;;; +1D9C1;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING SMALL;So;0;L;;;;;N;;;;; +1D9C2;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING LARGE;So;0;L;;;;;N;;;;; +1D9C3;SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING CEILING;So;0;L;;;;;N;;;;; +1D9C4;SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING CEILING;So;0;L;;;;;N;;;;; +1D9C5;SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING CEILING;So;0;L;;;;;N;;;;; +1D9C6;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR SMALL;So;0;L;;;;;N;;;;; +1D9C7;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR LARGE;So;0;L;;;;;N;;;;; +1D9C8;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR SMALL DOUBLE;So;0;L;;;;;N;;;;; +1D9C9;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR LARGE DOUBLE;So;0;L;;;;;N;;;;; +1D9CA;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE SMALL TRIPLE;So;0;L;;;;;N;;;;; +1D9CB;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE LARGE TRIPLE;So;0;L;;;;;N;;;;; +1D9CC;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL SINGLE;So;0;L;;;;;N;;;;; +1D9CD;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE SINGLE;So;0;L;;;;;N;;;;; +1D9CE;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL DOUBLE;So;0;L;;;;;N;;;;; +1D9CF;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE DOUBLE;So;0;L;;;;;N;;;;; +1D9D0;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR SMALL;So;0;L;;;;;N;;;;; +1D9D1;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR LARGE;So;0;L;;;;;N;;;;; +1D9D2;SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING FLOOR;So;0;L;;;;;N;;;;; +1D9D3;SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING FLOOR;So;0;L;;;;;N;;;;; +1D9D4;SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING FLOOR;So;0;L;;;;;N;;;;; +1D9D5;SIGNWRITING MOVEMENT-FLOORPLANE CURVE SMALL;So;0;L;;;;;N;;;;; +1D9D6;SIGNWRITING MOVEMENT-FLOORPLANE CURVE MEDIUM;So;0;L;;;;;N;;;;; +1D9D7;SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGE;So;0;L;;;;;N;;;;; +1D9D8;SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGEST;So;0;L;;;;;N;;;;; +1D9D9;SIGNWRITING MOVEMENT-FLOORPLANE CURVE COMBINED;So;0;L;;;;;N;;;;; +1D9DA;SIGNWRITING MOVEMENT-FLOORPLANE HUMP SMALL;So;0;L;;;;;N;;;;; +1D9DB;SIGNWRITING MOVEMENT-FLOORPLANE LOOP SMALL;So;0;L;;;;;N;;;;; +1D9DC;SIGNWRITING MOVEMENT-FLOORPLANE WAVE SNAKE;So;0;L;;;;;N;;;;; +1D9DD;SIGNWRITING MOVEMENT-FLOORPLANE WAVE SMALL;So;0;L;;;;;N;;;;; +1D9DE;SIGNWRITING MOVEMENT-FLOORPLANE WAVE LARGE;So;0;L;;;;;N;;;;; +1D9DF;SIGNWRITING ROTATION-FLOORPLANE SINGLE;So;0;L;;;;;N;;;;; +1D9E0;SIGNWRITING ROTATION-FLOORPLANE DOUBLE;So;0;L;;;;;N;;;;; +1D9E1;SIGNWRITING ROTATION-FLOORPLANE ALTERNATING;So;0;L;;;;;N;;;;; +1D9E2;SIGNWRITING MOVEMENT-FLOORPLANE SHAKING PARALLEL;So;0;L;;;;;N;;;;; +1D9E3;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL SINGLE;So;0;L;;;;;N;;;;; +1D9E4;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM SINGLE;So;0;L;;;;;N;;;;; +1D9E5;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL DOUBLE;So;0;L;;;;;N;;;;; +1D9E6;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM DOUBLE;So;0;L;;;;;N;;;;; +1D9E7;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL SINGLE;So;0;L;;;;;N;;;;; +1D9E8;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM SINGLE;So;0;L;;;;;N;;;;; +1D9E9;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE SINGLE;So;0;L;;;;;N;;;;; +1D9EA;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL DOUBLE;So;0;L;;;;;N;;;;; +1D9EB;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM DOUBLE;So;0;L;;;;;N;;;;; +1D9EC;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE DOUBLE;So;0;L;;;;;N;;;;; +1D9ED;SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT SINGLE;So;0;L;;;;;N;;;;; +1D9EE;SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT DOUBLE;So;0;L;;;;;N;;;;; +1D9EF;SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL SINGLE;So;0;L;;;;;N;;;;; +1D9F0;SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL DOUBLE;So;0;L;;;;;N;;;;; +1D9F1;SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES SINGLE;So;0;L;;;;;N;;;;; +1D9F2;SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES DOUBLE;So;0;L;;;;;N;;;;; +1D9F3;SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL SINGLE;So;0;L;;;;;N;;;;; +1D9F4;SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL DOUBLE;So;0;L;;;;;N;;;;; +1D9F5;SIGNWRITING DYNAMIC ARROWHEAD SMALL;So;0;L;;;;;N;;;;; +1D9F6;SIGNWRITING DYNAMIC ARROWHEAD LARGE;So;0;L;;;;;N;;;;; +1D9F7;SIGNWRITING DYNAMIC FAST;So;0;L;;;;;N;;;;; +1D9F8;SIGNWRITING DYNAMIC SLOW;So;0;L;;;;;N;;;;; +1D9F9;SIGNWRITING DYNAMIC TENSE;So;0;L;;;;;N;;;;; +1D9FA;SIGNWRITING DYNAMIC RELAXED;So;0;L;;;;;N;;;;; +1D9FB;SIGNWRITING DYNAMIC SIMULTANEOUS;So;0;L;;;;;N;;;;; +1D9FC;SIGNWRITING DYNAMIC SIMULTANEOUS ALTERNATING;So;0;L;;;;;N;;;;; +1D9FD;SIGNWRITING DYNAMIC EVERY OTHER TIME;So;0;L;;;;;N;;;;; +1D9FE;SIGNWRITING DYNAMIC GRADUAL;So;0;L;;;;;N;;;;; +1D9FF;SIGNWRITING HEAD;So;0;L;;;;;N;;;;; +1DA00;SIGNWRITING HEAD RIM;Mn;0;NSM;;;;;N;;;;; +1DA01;SIGNWRITING HEAD MOVEMENT-WALLPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;; +1DA02;SIGNWRITING HEAD MOVEMENT-WALLPLANE TILT;Mn;0;NSM;;;;;N;;;;; +1DA03;SIGNWRITING HEAD MOVEMENT-FLOORPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;; +1DA04;SIGNWRITING HEAD MOVEMENT-WALLPLANE CURVE;Mn;0;NSM;;;;;N;;;;; +1DA05;SIGNWRITING HEAD MOVEMENT-FLOORPLANE CURVE;Mn;0;NSM;;;;;N;;;;; +1DA06;SIGNWRITING HEAD MOVEMENT CIRCLE;Mn;0;NSM;;;;;N;;;;; +1DA07;SIGNWRITING FACE DIRECTION POSITION NOSE FORWARD TILTING;Mn;0;NSM;;;;;N;;;;; +1DA08;SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN;Mn;0;NSM;;;;;N;;;;; +1DA09;SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN TILTING;Mn;0;NSM;;;;;N;;;;; +1DA0A;SIGNWRITING EYEBROWS STRAIGHT UP;Mn;0;NSM;;;;;N;;;;; +1DA0B;SIGNWRITING EYEBROWS STRAIGHT NEUTRAL;Mn;0;NSM;;;;;N;;;;; +1DA0C;SIGNWRITING EYEBROWS STRAIGHT DOWN;Mn;0;NSM;;;;;N;;;;; +1DA0D;SIGNWRITING DREAMY EYEBROWS NEUTRAL DOWN;Mn;0;NSM;;;;;N;;;;; +1DA0E;SIGNWRITING DREAMY EYEBROWS DOWN NEUTRAL;Mn;0;NSM;;;;;N;;;;; +1DA0F;SIGNWRITING DREAMY EYEBROWS UP NEUTRAL;Mn;0;NSM;;;;;N;;;;; +1DA10;SIGNWRITING DREAMY EYEBROWS NEUTRAL UP;Mn;0;NSM;;;;;N;;;;; +1DA11;SIGNWRITING FOREHEAD NEUTRAL;Mn;0;NSM;;;;;N;;;;; +1DA12;SIGNWRITING FOREHEAD CONTACT;Mn;0;NSM;;;;;N;;;;; +1DA13;SIGNWRITING FOREHEAD WRINKLED;Mn;0;NSM;;;;;N;;;;; +1DA14;SIGNWRITING EYES OPEN;Mn;0;NSM;;;;;N;;;;; +1DA15;SIGNWRITING EYES SQUEEZED;Mn;0;NSM;;;;;N;;;;; +1DA16;SIGNWRITING EYES CLOSED;Mn;0;NSM;;;;;N;;;;; +1DA17;SIGNWRITING EYE BLINK SINGLE;Mn;0;NSM;;;;;N;;;;; +1DA18;SIGNWRITING EYE BLINK MULTIPLE;Mn;0;NSM;;;;;N;;;;; +1DA19;SIGNWRITING EYES HALF OPEN;Mn;0;NSM;;;;;N;;;;; +1DA1A;SIGNWRITING EYES WIDE OPEN;Mn;0;NSM;;;;;N;;;;; +1DA1B;SIGNWRITING EYES HALF CLOSED;Mn;0;NSM;;;;;N;;;;; +1DA1C;SIGNWRITING EYES WIDENING MOVEMENT;Mn;0;NSM;;;;;N;;;;; +1DA1D;SIGNWRITING EYE WINK;Mn;0;NSM;;;;;N;;;;; +1DA1E;SIGNWRITING EYELASHES UP;Mn;0;NSM;;;;;N;;;;; +1DA1F;SIGNWRITING EYELASHES DOWN;Mn;0;NSM;;;;;N;;;;; +1DA20;SIGNWRITING EYELASHES FLUTTERING;Mn;0;NSM;;;;;N;;;;; +1DA21;SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;; +1DA22;SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT DOUBLE;Mn;0;NSM;;;;;N;;;;; +1DA23;SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT ALTERNATING;Mn;0;NSM;;;;;N;;;;; +1DA24;SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;; +1DA25;SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT DOUBLE;Mn;0;NSM;;;;;N;;;;; +1DA26;SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT ALTERNATING;Mn;0;NSM;;;;;N;;;;; +1DA27;SIGNWRITING EYEGAZE-WALLPLANE CURVED;Mn;0;NSM;;;;;N;;;;; +1DA28;SIGNWRITING EYEGAZE-FLOORPLANE CURVED;Mn;0;NSM;;;;;N;;;;; +1DA29;SIGNWRITING EYEGAZE-WALLPLANE CIRCLING;Mn;0;NSM;;;;;N;;;;; +1DA2A;SIGNWRITING CHEEKS PUFFED;Mn;0;NSM;;;;;N;;;;; +1DA2B;SIGNWRITING CHEEKS NEUTRAL;Mn;0;NSM;;;;;N;;;;; +1DA2C;SIGNWRITING CHEEKS SUCKED;Mn;0;NSM;;;;;N;;;;; +1DA2D;SIGNWRITING TENSE CHEEKS HIGH;Mn;0;NSM;;;;;N;;;;; +1DA2E;SIGNWRITING TENSE CHEEKS MIDDLE;Mn;0;NSM;;;;;N;;;;; +1DA2F;SIGNWRITING TENSE CHEEKS LOW;Mn;0;NSM;;;;;N;;;;; +1DA30;SIGNWRITING EARS;Mn;0;NSM;;;;;N;;;;; +1DA31;SIGNWRITING NOSE NEUTRAL;Mn;0;NSM;;;;;N;;;;; +1DA32;SIGNWRITING NOSE CONTACT;Mn;0;NSM;;;;;N;;;;; +1DA33;SIGNWRITING NOSE WRINKLES;Mn;0;NSM;;;;;N;;;;; +1DA34;SIGNWRITING NOSE WIGGLES;Mn;0;NSM;;;;;N;;;;; +1DA35;SIGNWRITING AIR BLOWING OUT;Mn;0;NSM;;;;;N;;;;; +1DA36;SIGNWRITING AIR SUCKING IN;Mn;0;NSM;;;;;N;;;;; +1DA37;SIGNWRITING AIR BLOW SMALL ROTATIONS;So;0;L;;;;;N;;;;; +1DA38;SIGNWRITING AIR SUCK SMALL ROTATIONS;So;0;L;;;;;N;;;;; +1DA39;SIGNWRITING BREATH INHALE;So;0;L;;;;;N;;;;; +1DA3A;SIGNWRITING BREATH EXHALE;So;0;L;;;;;N;;;;; +1DA3B;SIGNWRITING MOUTH CLOSED NEUTRAL;Mn;0;NSM;;;;;N;;;;; +1DA3C;SIGNWRITING MOUTH CLOSED FORWARD;Mn;0;NSM;;;;;N;;;;; +1DA3D;SIGNWRITING MOUTH CLOSED CONTACT;Mn;0;NSM;;;;;N;;;;; +1DA3E;SIGNWRITING MOUTH SMILE;Mn;0;NSM;;;;;N;;;;; +1DA3F;SIGNWRITING MOUTH SMILE WRINKLED;Mn;0;NSM;;;;;N;;;;; +1DA40;SIGNWRITING MOUTH SMILE OPEN;Mn;0;NSM;;;;;N;;;;; +1DA41;SIGNWRITING MOUTH FROWN;Mn;0;NSM;;;;;N;;;;; +1DA42;SIGNWRITING MOUTH FROWN WRINKLED;Mn;0;NSM;;;;;N;;;;; +1DA43;SIGNWRITING MOUTH FROWN OPEN;Mn;0;NSM;;;;;N;;;;; +1DA44;SIGNWRITING MOUTH OPEN CIRCLE;Mn;0;NSM;;;;;N;;;;; +1DA45;SIGNWRITING MOUTH OPEN FORWARD;Mn;0;NSM;;;;;N;;;;; +1DA46;SIGNWRITING MOUTH OPEN WRINKLED;Mn;0;NSM;;;;;N;;;;; +1DA47;SIGNWRITING MOUTH OPEN OVAL;Mn;0;NSM;;;;;N;;;;; +1DA48;SIGNWRITING MOUTH OPEN OVAL WRINKLED;Mn;0;NSM;;;;;N;;;;; +1DA49;SIGNWRITING MOUTH OPEN OVAL YAWN;Mn;0;NSM;;;;;N;;;;; +1DA4A;SIGNWRITING MOUTH OPEN RECTANGLE;Mn;0;NSM;;;;;N;;;;; +1DA4B;SIGNWRITING MOUTH OPEN RECTANGLE WRINKLED;Mn;0;NSM;;;;;N;;;;; +1DA4C;SIGNWRITING MOUTH OPEN RECTANGLE YAWN;Mn;0;NSM;;;;;N;;;;; +1DA4D;SIGNWRITING MOUTH KISS;Mn;0;NSM;;;;;N;;;;; +1DA4E;SIGNWRITING MOUTH KISS FORWARD;Mn;0;NSM;;;;;N;;;;; +1DA4F;SIGNWRITING MOUTH KISS WRINKLED;Mn;0;NSM;;;;;N;;;;; +1DA50;SIGNWRITING MOUTH TENSE;Mn;0;NSM;;;;;N;;;;; +1DA51;SIGNWRITING MOUTH TENSE FORWARD;Mn;0;NSM;;;;;N;;;;; +1DA52;SIGNWRITING MOUTH TENSE SUCKED;Mn;0;NSM;;;;;N;;;;; +1DA53;SIGNWRITING LIPS PRESSED TOGETHER;Mn;0;NSM;;;;;N;;;;; +1DA54;SIGNWRITING LIP LOWER OVER UPPER;Mn;0;NSM;;;;;N;;;;; +1DA55;SIGNWRITING LIP UPPER OVER LOWER;Mn;0;NSM;;;;;N;;;;; +1DA56;SIGNWRITING MOUTH CORNERS;Mn;0;NSM;;;;;N;;;;; +1DA57;SIGNWRITING MOUTH WRINKLES SINGLE;Mn;0;NSM;;;;;N;;;;; +1DA58;SIGNWRITING MOUTH WRINKLES DOUBLE;Mn;0;NSM;;;;;N;;;;; +1DA59;SIGNWRITING TONGUE STICKING OUT FAR;Mn;0;NSM;;;;;N;;;;; +1DA5A;SIGNWRITING TONGUE LICKING LIPS;Mn;0;NSM;;;;;N;;;;; +1DA5B;SIGNWRITING TONGUE TIP BETWEEN LIPS;Mn;0;NSM;;;;;N;;;;; +1DA5C;SIGNWRITING TONGUE TIP TOUCHING INSIDE MOUTH;Mn;0;NSM;;;;;N;;;;; +1DA5D;SIGNWRITING TONGUE INSIDE MOUTH RELAXED;Mn;0;NSM;;;;;N;;;;; +1DA5E;SIGNWRITING TONGUE MOVES AGAINST CHEEK;Mn;0;NSM;;;;;N;;;;; +1DA5F;SIGNWRITING TONGUE CENTRE STICKING OUT;Mn;0;NSM;;;;;N;;;;; +1DA60;SIGNWRITING TONGUE CENTRE INSIDE MOUTH;Mn;0;NSM;;;;;N;;;;; +1DA61;SIGNWRITING TEETH;Mn;0;NSM;;;;;N;;;;; +1DA62;SIGNWRITING TEETH MOVEMENT;Mn;0;NSM;;;;;N;;;;; +1DA63;SIGNWRITING TEETH ON TONGUE;Mn;0;NSM;;;;;N;;;;; +1DA64;SIGNWRITING TEETH ON TONGUE MOVEMENT;Mn;0;NSM;;;;;N;;;;; +1DA65;SIGNWRITING TEETH ON LIPS;Mn;0;NSM;;;;;N;;;;; +1DA66;SIGNWRITING TEETH ON LIPS MOVEMENT;Mn;0;NSM;;;;;N;;;;; +1DA67;SIGNWRITING TEETH BITE LIPS;Mn;0;NSM;;;;;N;;;;; +1DA68;SIGNWRITING MOVEMENT-WALLPLANE JAW;Mn;0;NSM;;;;;N;;;;; +1DA69;SIGNWRITING MOVEMENT-FLOORPLANE JAW;Mn;0;NSM;;;;;N;;;;; +1DA6A;SIGNWRITING NECK;Mn;0;NSM;;;;;N;;;;; +1DA6B;SIGNWRITING HAIR;Mn;0;NSM;;;;;N;;;;; +1DA6C;SIGNWRITING EXCITEMENT;Mn;0;NSM;;;;;N;;;;; +1DA6D;SIGNWRITING SHOULDER HIP SPINE;So;0;L;;;;;N;;;;; +1DA6E;SIGNWRITING SHOULDER HIP POSITIONS;So;0;L;;;;;N;;;;; +1DA6F;SIGNWRITING WALLPLANE SHOULDER HIP MOVE;So;0;L;;;;;N;;;;; +1DA70;SIGNWRITING FLOORPLANE SHOULDER HIP MOVE;So;0;L;;;;;N;;;;; +1DA71;SIGNWRITING SHOULDER TILTING FROM WAIST;So;0;L;;;;;N;;;;; +1DA72;SIGNWRITING TORSO-WALLPLANE STRAIGHT STRETCH;So;0;L;;;;;N;;;;; +1DA73;SIGNWRITING TORSO-WALLPLANE CURVED BEND;So;0;L;;;;;N;;;;; +1DA74;SIGNWRITING TORSO-FLOORPLANE TWISTING;So;0;L;;;;;N;;;;; +1DA75;SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS;Mn;0;NSM;;;;;N;;;;; +1DA76;SIGNWRITING LIMB COMBINATION;So;0;L;;;;;N;;;;; +1DA77;SIGNWRITING LIMB LENGTH-1;So;0;L;;;;;N;;;;; +1DA78;SIGNWRITING LIMB LENGTH-2;So;0;L;;;;;N;;;;; +1DA79;SIGNWRITING LIMB LENGTH-3;So;0;L;;;;;N;;;;; +1DA7A;SIGNWRITING LIMB LENGTH-4;So;0;L;;;;;N;;;;; +1DA7B;SIGNWRITING LIMB LENGTH-5;So;0;L;;;;;N;;;;; +1DA7C;SIGNWRITING LIMB LENGTH-6;So;0;L;;;;;N;;;;; +1DA7D;SIGNWRITING LIMB LENGTH-7;So;0;L;;;;;N;;;;; +1DA7E;SIGNWRITING FINGER;So;0;L;;;;;N;;;;; +1DA7F;SIGNWRITING LOCATION-WALLPLANE SPACE;So;0;L;;;;;N;;;;; +1DA80;SIGNWRITING LOCATION-FLOORPLANE SPACE;So;0;L;;;;;N;;;;; +1DA81;SIGNWRITING LOCATION HEIGHT;So;0;L;;;;;N;;;;; +1DA82;SIGNWRITING LOCATION WIDTH;So;0;L;;;;;N;;;;; +1DA83;SIGNWRITING LOCATION DEPTH;So;0;L;;;;;N;;;;; +1DA84;SIGNWRITING LOCATION HEAD NECK;Mn;0;NSM;;;;;N;;;;; +1DA85;SIGNWRITING LOCATION TORSO;So;0;L;;;;;N;;;;; +1DA86;SIGNWRITING LOCATION LIMBS DIGITS;So;0;L;;;;;N;;;;; +1DA87;SIGNWRITING COMMA;Po;0;L;;;;;N;;;;; +1DA88;SIGNWRITING FULL STOP;Po;0;L;;;;;N;;;;; +1DA89;SIGNWRITING SEMICOLON;Po;0;L;;;;;N;;;;; +1DA8A;SIGNWRITING COLON;Po;0;L;;;;;N;;;;; +1DA8B;SIGNWRITING PARENTHESIS;Po;0;L;;;;;N;;;;; +1DA9B;SIGNWRITING FILL MODIFIER-2;Mn;0;NSM;;;;;N;;;;; +1DA9C;SIGNWRITING FILL MODIFIER-3;Mn;0;NSM;;;;;N;;;;; +1DA9D;SIGNWRITING FILL MODIFIER-4;Mn;0;NSM;;;;;N;;;;; +1DA9E;SIGNWRITING FILL MODIFIER-5;Mn;0;NSM;;;;;N;;;;; +1DA9F;SIGNWRITING FILL MODIFIER-6;Mn;0;NSM;;;;;N;;;;; +1DAA1;SIGNWRITING ROTATION MODIFIER-2;Mn;0;NSM;;;;;N;;;;; +1DAA2;SIGNWRITING ROTATION MODIFIER-3;Mn;0;NSM;;;;;N;;;;; +1DAA3;SIGNWRITING ROTATION MODIFIER-4;Mn;0;NSM;;;;;N;;;;; +1DAA4;SIGNWRITING ROTATION MODIFIER-5;Mn;0;NSM;;;;;N;;;;; +1DAA5;SIGNWRITING ROTATION MODIFIER-6;Mn;0;NSM;;;;;N;;;;; +1DAA6;SIGNWRITING ROTATION MODIFIER-7;Mn;0;NSM;;;;;N;;;;; +1DAA7;SIGNWRITING ROTATION MODIFIER-8;Mn;0;NSM;;;;;N;;;;; +1DAA8;SIGNWRITING ROTATION MODIFIER-9;Mn;0;NSM;;;;;N;;;;; +1DAA9;SIGNWRITING ROTATION MODIFIER-10;Mn;0;NSM;;;;;N;;;;; +1DAAA;SIGNWRITING ROTATION MODIFIER-11;Mn;0;NSM;;;;;N;;;;; +1DAAB;SIGNWRITING ROTATION MODIFIER-12;Mn;0;NSM;;;;;N;;;;; +1DAAC;SIGNWRITING ROTATION MODIFIER-13;Mn;0;NSM;;;;;N;;;;; +1DAAD;SIGNWRITING ROTATION MODIFIER-14;Mn;0;NSM;;;;;N;;;;; +1DAAE;SIGNWRITING ROTATION MODIFIER-15;Mn;0;NSM;;;;;N;;;;; +1DAAF;SIGNWRITING ROTATION MODIFIER-16;Mn;0;NSM;;;;;N;;;;; 1E800;MENDE KIKAKUI SYLLABLE M001 KI;Lo;0;R;;;;;N;;;;; 1E801;MENDE KIKAKUI SYLLABLE M002 KA;Lo;0;R;;;;;N;;;;; 1E802;MENDE KIKAKUI SYLLABLE M003 KU;Lo;0;R;;;;;N;;;;; @@ -25108,6 +27011,9 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 1F32A;CLOUD WITH TORNADO;So;0;ON;;;;;N;;;;; 1F32B;FOG;So;0;ON;;;;;N;;;;; 1F32C;WIND BLOWING FACE;So;0;ON;;;;;N;;;;; +1F32D;HOT DOG;So;0;ON;;;;;N;;;;; +1F32E;TACO;So;0;ON;;;;;N;;;;; +1F32F;BURRITO;So;0;ON;;;;;N;;;;; 1F330;CHESTNUT;So;0;ON;;;;;N;;;;; 1F331;SEEDLING;So;0;ON;;;;;N;;;;; 1F332;EVERGREEN TREE;So;0;ON;;;;;N;;;;; @@ -25186,6 +27092,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 1F37B;CLINKING BEER MUGS;So;0;ON;;;;;N;;;;; 1F37C;BABY BOTTLE;So;0;ON;;;;;N;;;;; 1F37D;FORK AND KNIFE WITH PLATE;So;0;ON;;;;;N;;;;; +1F37E;BOTTLE WITH POPPING CORK;So;0;ON;;;;;N;;;;; +1F37F;POPCORN;So;0;ON;;;;;N;;;;; 1F380;RIBBON;So;0;ON;;;;;N;;;;; 1F381;WRAPPED PRESENT;So;0;ON;;;;;N;;;;; 1F382;BIRTHDAY CAKE;So;0;ON;;;;;N;;;;; @@ -25265,6 +27173,11 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 1F3CC;GOLFER;So;0;ON;;;;;N;;;;; 1F3CD;RACING MOTORCYCLE;So;0;ON;;;;;N;;;;; 1F3CE;RACING CAR;So;0;ON;;;;;N;;;;; +1F3CF;CRICKET BAT AND BALL;So;0;ON;;;;;N;;;;; +1F3D0;VOLLEYBALL;So;0;ON;;;;;N;;;;; +1F3D1;FIELD HOCKEY STICK AND BALL;So;0;ON;;;;;N;;;;; +1F3D2;ICE HOCKEY STICK AND PUCK;So;0;ON;;;;;N;;;;; +1F3D3;TABLE TENNIS PADDLE AND BALL;So;0;ON;;;;;N;;;;; 1F3D4;SNOW CAPPED MOUNTAIN;So;0;ON;;;;;N;;;;; 1F3D5;CAMPING;So;0;ON;;;;;N;;;;; 1F3D6;BEACH WITH UMBRELLA;So;0;ON;;;;;N;;;;; @@ -25301,6 +27214,14 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 1F3F5;ROSETTE;So;0;ON;;;;;N;;;;; 1F3F6;BLACK ROSETTE;So;0;ON;;;;;N;;;;; 1F3F7;LABEL;So;0;ON;;;;;N;;;;; +1F3F8;BADMINTON RACQUET AND SHUTTLECOCK;So;0;ON;;;;;N;;;;; +1F3F9;BOW AND ARROW;So;0;ON;;;;;N;;;;; +1F3FA;AMPHORA;So;0;ON;;;;;N;;;;; +1F3FB;EMOJI MODIFIER FITZPATRICK TYPE-1-2;Sk;0;ON;;;;;N;;;;; +1F3FC;EMOJI MODIFIER FITZPATRICK TYPE-3;Sk;0;ON;;;;;N;;;;; +1F3FD;EMOJI MODIFIER FITZPATRICK TYPE-4;Sk;0;ON;;;;;N;;;;; +1F3FE;EMOJI MODIFIER FITZPATRICK TYPE-5;Sk;0;ON;;;;;N;;;;; +1F3FF;EMOJI MODIFIER FITZPATRICK TYPE-6;Sk;0;ON;;;;;N;;;;; 1F400;RAT;So;0;ON;;;;;N;;;;; 1F401;MOUSE;So;0;ON;;;;;N;;;;; 1F402;OX;So;0;ON;;;;;N;;;;; @@ -25556,6 +27477,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 1F4FC;VIDEOCASSETTE;So;0;ON;;;;;N;;;;; 1F4FD;FILM PROJECTOR;So;0;ON;;;;;N;;;;; 1F4FE;PORTABLE STEREO;So;0;ON;;;;;N;;;;; +1F4FF;PRAYER BEADS;So;0;ON;;;;;N;;;;; 1F500;TWISTED RIGHTWARDS ARROWS;So;0;ON;;;;;N;;;;; 1F501;CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS;So;0;ON;;;;;N;;;;; 1F502;CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY;So;0;ON;;;;;N;;;;; @@ -25631,6 +27553,11 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 1F548;CELTIC CROSS;So;0;ON;;;;;N;;;;; 1F549;OM SYMBOL;So;0;ON;;;;;N;;;;; 1F54A;DOVE OF PEACE;So;0;ON;;;;;N;;;;; +1F54B;KAABA;So;0;ON;;;;;N;;;;; +1F54C;MOSQUE;So;0;ON;;;;;N;;;;; +1F54D;SYNAGOGUE;So;0;ON;;;;;N;;;;; +1F54E;MENORAH WITH NINE BRANCHES;So;0;ON;;;;;N;;;;; +1F54F;BOWL OF HYGIEIA;So;0;ON;;;;;N;;;;; 1F550;CLOCK FACE ONE OCLOCK;So;0;ON;;;;;N;;;;; 1F551;CLOCK FACE TWO OCLOCK;So;0;ON;;;;;N;;;;; 1F552;CLOCK FACE THREE OCLOCK;So;0;ON;;;;;N;;;;; @@ -25872,6 +27799,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 1F640;WEARY CAT FACE;So;0;ON;;;;;N;;;;; 1F641;SLIGHTLY FROWNING FACE;So;0;ON;;;;;N;;;;; 1F642;SLIGHTLY SMILING FACE;So;0;ON;;;;;N;;;;; +1F643;UPSIDE-DOWN FACE;So;0;ON;;;;;N;;;;; +1F644;FACE WITH ROLLING EYES;So;0;ON;;;;;N;;;;; 1F645;FACE WITH NO GOOD GESTURE;So;0;ON;;;;;N;;;;; 1F646;FACE WITH OK GESTURE;So;0;ON;;;;;N;;;;; 1F647;PERSON BOWING DEEPLY;So;0;ON;;;;;N;;;;; @@ -26011,6 +27940,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 1F6CD;SHOPPING BAGS;So;0;ON;;;;;N;;;;; 1F6CE;BELLHOP BELL;So;0;ON;;;;;N;;;;; 1F6CF;BED;So;0;ON;;;;;N;;;;; +1F6D0;PLACE OF WORSHIP;So;0;ON;;;;;N;;;;; 1F6E0;HAMMER AND WRENCH;So;0;ON;;;;;N;;;;; 1F6E1;SHIELD;So;0;ON;;;;;N;;;;; 1F6E2;OIL DRUM;So;0;ON;;;;;N;;;;; @@ -26377,12 +28307,29 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; 1F8AB;RIGHTWARDS FRONT-TILTED SHADOWED WHITE ARROW;So;0;ON;;;;;N;;;;; 1F8AC;WHITE ARROW SHAFT WIDTH ONE;So;0;ON;;;;;N;;;;; 1F8AD;WHITE ARROW SHAFT WIDTH TWO THIRDS;So;0;ON;;;;;N;;;;; +1F910;ZIPPER-MOUTH FACE;So;0;ON;;;;;N;;;;; +1F911;MONEY-MOUTH FACE;So;0;ON;;;;;N;;;;; +1F912;FACE WITH THERMOMETER;So;0;ON;;;;;N;;;;; +1F913;NERD FACE;So;0;ON;;;;;N;;;;; +1F914;THINKING FACE;So;0;ON;;;;;N;;;;; +1F915;FACE WITH HEAD-BANDAGE;So;0;ON;;;;;N;;;;; +1F916;ROBOT FACE;So;0;ON;;;;;N;;;;; +1F917;HUGGING FACE;So;0;ON;;;;;N;;;;; +1F918;SIGN OF THE HORNS;So;0;ON;;;;;N;;;;; +1F980;CRAB;So;0;ON;;;;;N;;;;; +1F981;LION FACE;So;0;ON;;;;;N;;;;; +1F982;SCORPION;So;0;ON;;;;;N;;;;; +1F983;TURKEY;So;0;ON;;;;;N;;;;; +1F984;UNICORN FACE;So;0;ON;;;;;N;;;;; +1F9C0;CHEESE WEDGE;So;0;ON;;;;;N;;;;; 20000;;Lo;0;L;;;;;N;;;;; 2A6D6;;Lo;0;L;;;;;N;;;;; 2A700;;Lo;0;L;;;;;N;;;;; 2B734;;Lo;0;L;;;;;N;;;;; 2B740;;Lo;0;L;;;;;N;;;;; 2B81D;;Lo;0;L;;;;;N;;;;; +2B820;;Lo;0;L;;;;;N;;;;; +2CEA1;;Lo;0;L;;;;;N;;;;; 2F800;CJK COMPATIBILITY IDEOGRAPH-2F800;Lo;0;L;4E3D;;;;N;;;;; 2F801;CJK COMPATIBILITY IDEOGRAPH-2F801;Lo;0;L;4E38;;;;N;;;;; 2F802;CJK COMPATIBILITY IDEOGRAPH-2F802;Lo;0;L;4E41;;;;N;;;;; diff --git a/lib/unicore/auxiliary/GCBTest.txt b/lib/unicore/auxiliary/GCBTest.txt index d39f2c7..a3ed239 100644 --- a/lib/unicore/auxiliary/GCBTest.txt +++ b/lib/unicore/auxiliary/GCBTest.txt @@ -1,8 +1,8 @@ -# GraphemeBreakTest-7.0.0.txt -# Date: 2013-11-27, 09:54:39 GMT [MD] +# GraphemeBreakTest-8.0.0.txt +# Date: 2015-02-13, 13:47:15 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2013 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ # diff --git a/lib/unicore/auxiliary/GraphemeBreakProperty.txt b/lib/unicore/auxiliary/GraphemeBreakProperty.txt index 752ee79..fba2ee8 100644 --- a/lib/unicore/auxiliary/GraphemeBreakProperty.txt +++ b/lib/unicore/auxiliary/GraphemeBreakProperty.txt @@ -1,8 +1,8 @@ -# GraphemeBreakProperty-7.0.0.txt -# Date: 2014-02-19, 15:51:21 GMT [MD] +# GraphemeBreakProperty-8.0.0.txt +# Date: 2015-02-13, 13:47:14 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ @@ -89,7 +89,7 @@ E01F0..E0FFF ; Control # Cn [3600] .. 0825..0827 ; Extend # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U 0829..082D ; Extend # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA 0859..085B ; Extend # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK -08E4..0902 ; Extend # Mn [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA +08E3..0902 ; Extend # Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA 093A ; Extend # Mn DEVANAGARI VOWEL SIGN OE 093C ; Extend # Mn DEVANAGARI SIGN NUKTA 0941..0948 ; Extend # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI @@ -250,7 +250,7 @@ E01F0..E0FFF ; Control # Cn [3600] .. A66F ; Extend # Mn COMBINING CYRILLIC VZMET A670..A672 ; Extend # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN A674..A67D ; Extend # Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK -A69F ; Extend # Mn COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F ; Extend # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E A6F0..A6F1 ; Extend # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS A802 ; Extend # Mn SYLOTI NAGRI SIGN DVISVARA A806 ; Extend # Mn SYLOTI NAGRI SIGN HASANTA @@ -283,7 +283,7 @@ ABE8 ; Extend # Mn MEETEI MAYEK VOWEL SIGN UNAP ABED ; Extend # Mn MEETEI MAYEK APUN IYEK FB1E ; Extend # Mn HEBREW POINT JUDEO-SPANISH VARIKA FE00..FE0F ; Extend # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 -FE20..FE2D ; Extend # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW +FE20..FE2F ; Extend # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK 101FD ; Extend # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE 102E0 ; Extend # Mn COPTIC EPACT THOUSANDS MARK @@ -305,12 +305,13 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT 11173 ; Extend # Mn MAHAJANI SIGN NUKTA 11180..11181 ; Extend # Mn [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA 111B6..111BE ; Extend # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O +111CA..111CC ; Extend # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK 1122F..11231 ; Extend # Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI 11234 ; Extend # Mn KHOJKI SIGN ANUSVARA 11236..11237 ; Extend # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA 112DF ; Extend # Mn KHUDAWADI SIGN ANUSVARA 112E3..112EA ; Extend # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA -11301 ; Extend # Mn GRANTHA SIGN CANDRABINDU +11300..11301 ; Extend # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 1133C ; Extend # Mn GRANTHA SIGN NUKTA 1133E ; Extend # Mc GRANTHA VOWEL SIGN AA 11340 ; Extend # Mn GRANTHA VOWEL SIGN II @@ -327,6 +328,7 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT 115B2..115B5 ; Extend # Mn [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR 115BC..115BD ; Extend # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 115BF..115C0 ; Extend # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA +115DC..115DD ; Extend # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11633..1163A ; Extend # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI 1163D ; Extend # Mn MODI SIGN ANUSVARA 1163F..11640 ; Extend # Mn [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA @@ -334,6 +336,9 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT 116AD ; Extend # Mn TAKRI VOWEL SIGN AA 116B0..116B5 ; Extend # Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU 116B7 ; Extend # Mn TAKRI SIGN NUKTA +1171D..1171F ; Extend # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11722..11725 ; Extend # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11727..1172B ; Extend # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER 16AF0..16AF4 ; Extend # Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE 16B30..16B36 ; Extend # Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM 16F8F..16F92 ; Extend # Mn [4] MIAO TONE RIGHT..MIAO TONE BELOW @@ -345,10 +350,16 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT 1D185..1D18B ; Extend # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE 1D1AA..1D1AD ; Extend # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO 1D242..1D244 ; Extend # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME +1DA00..1DA36 ; Extend # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN +1DA3B..1DA6C ; Extend # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT +1DA75 ; Extend # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA84 ; Extend # Mn SIGNWRITING LOCATION HEAD NECK +1DA9B..1DA9F ; Extend # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF ; Extend # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 1E8D0..1E8D6 ; Extend # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS E0100..E01EF ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 -# Total code points: 1461 +# Total code points: 1610 # ================================================ @@ -412,8 +423,6 @@ E0100..E01EF ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 1929..192B ; SpacingMark # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA 1930..1931 ; SpacingMark # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA 1933..1938 ; SpacingMark # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA -19B5..19B7 ; SpacingMark # Mc [3] NEW TAI LUE VOWEL SIGN E..NEW TAI LUE VOWEL SIGN O -19BA ; SpacingMark # Mc NEW TAI LUE VOWEL SIGN AY 1A19..1A1A ; SpacingMark # Mc [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O 1A55 ; SpacingMark # Mc TAI THAM CONSONANT SIGN MEDIAL RA 1A57 ; SpacingMark # Mc TAI THAM CONSONANT SIGN LA TANG LAI @@ -487,11 +496,13 @@ ABEC ; SpacingMark # Mc MEETEI MAYEK LUM IYEK 116AC ; SpacingMark # Mc TAKRI SIGN VISARGA 116AE..116AF ; SpacingMark # Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II 116B6 ; SpacingMark # Mc TAKRI SIGN VIRAMA +11720..11721 ; SpacingMark # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11726 ; SpacingMark # Mc AHOM VOWEL SIGN E 16F51..16F7E ; SpacingMark # Mc [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG 1D166 ; SpacingMark # Mc MUSICAL SYMBOL COMBINING SPRECHGESANG STEM 1D16D ; SpacingMark # Mc MUSICAL SYMBOL COMBINING AUGMENTATION DOT -# Total code points: 331 +# Total code points: 330 # ================================================ diff --git a/lib/unicore/auxiliary/SBTest.txt b/lib/unicore/auxiliary/SBTest.txt index 638b22a..279e6db 100644 --- a/lib/unicore/auxiliary/SBTest.txt +++ b/lib/unicore/auxiliary/SBTest.txt @@ -1,8 +1,8 @@ -# SentenceBreakTest-7.0.0.txt -# Date: 2013-11-27, 09:54:53 GMT [MD] +# SentenceBreakTest-8.0.0.txt +# Date: 2015-04-30, 09:40:15 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2013 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ # @@ -477,6 +477,9 @@ ÷ 0055 × 002E × 0053 × 002E × 0041 × 0300 × 002E ÷ # ÷ [0.2] LATIN CAPITAL LETTER U (Upper) × [12.0] FULL STOP (ATerm) × [7.0] LATIN CAPITAL LETTER S (Upper) × [12.0] FULL STOP (ATerm) × [7.0] LATIN CAPITAL LETTER A (Upper) × [5.0] COMBINING GRAVE ACCENT (Extend_FE) × [12.0] FULL STOP (ATerm) ÷ [0.3] ÷ 0033 × 002E × 0034 ÷ # ÷ [0.2] DIGIT THREE (Numeric) × [12.0] FULL STOP (ATerm) × [6.0] DIGIT FOUR (Numeric) ÷ [0.3] ÷ 0063 × 002E × 0064 ÷ # ÷ [0.2] LATIN SMALL LETTER C (Lower) × [12.0] FULL STOP (ATerm) × [8.0] LATIN SMALL LETTER D (Lower) ÷ [0.3] +÷ 0043 × 002E × 0064 ÷ # ÷ [0.2] LATIN CAPITAL LETTER C (Upper) × [12.0] FULL STOP (ATerm) × [8.0] LATIN SMALL LETTER D (Lower) ÷ [0.3] +÷ 0063 × 002E × 0044 ÷ # ÷ [0.2] LATIN SMALL LETTER C (Lower) × [12.0] FULL STOP (ATerm) × [7.0] LATIN CAPITAL LETTER D (Upper) ÷ [0.3] +÷ 0043 × 002E × 0044 ÷ # ÷ [0.2] LATIN CAPITAL LETTER C (Upper) × [12.0] FULL STOP (ATerm) × [7.0] LATIN CAPITAL LETTER D (Upper) ÷ [0.3] ÷ 0065 × 0074 × 0063 × 002E × 0029 × 2019 × 00A0 × 0074 × 0068 × 0065 ÷ # ÷ [0.2] LATIN SMALL LETTER E (Lower) × [12.0] LATIN SMALL LETTER T (Lower) × [12.0] LATIN SMALL LETTER C (Lower) × [12.0] FULL STOP (ATerm) × [8.0] RIGHT PARENTHESIS (Close) × [8.0] RIGHT SINGLE QUOTATION MARK (Close) × [8.0] NO-BREAK SPACE (Sp) × [8.0] LATIN SMALL LETTER T (Lower) × [12.0] LATIN SMALL LETTER H (Lower) × [12.0] LATIN SMALL LETTER E (Lower) ÷ [0.3] ÷ 0065 × 0074 × 0063 × 002E × 0029 × 2019 × 00A0 ÷ 0054 × 0068 × 0065 ÷ # ÷ [0.2] LATIN SMALL LETTER E (Lower) × [12.0] LATIN SMALL LETTER T (Lower) × [12.0] LATIN SMALL LETTER C (Lower) × [12.0] FULL STOP (ATerm) × [9.0] RIGHT PARENTHESIS (Close) × [9.0] RIGHT SINGLE QUOTATION MARK (Close) × [9.0] NO-BREAK SPACE (Sp) ÷ [11.0] LATIN CAPITAL LETTER T (Upper) × [12.0] LATIN SMALL LETTER H (Lower) × [12.0] LATIN SMALL LETTER E (Lower) ÷ [0.3] ÷ 0065 × 0074 × 0063 × 002E × 0029 × 2019 × 00A0 × 2018 × 0028 × 0074 × 0068 × 0065 ÷ # ÷ [0.2] LATIN SMALL LETTER E (Lower) × [12.0] LATIN SMALL LETTER T (Lower) × [12.0] LATIN SMALL LETTER C (Lower) × [12.0] FULL STOP (ATerm) × [8.0] RIGHT PARENTHESIS (Close) × [8.0] RIGHT SINGLE QUOTATION MARK (Close) × [8.0] NO-BREAK SPACE (Sp) × [8.0] LEFT SINGLE QUOTATION MARK (Close) × [12.0] LEFT PARENTHESIS (Close) × [12.0] LATIN SMALL LETTER T (Lower) × [12.0] LATIN SMALL LETTER H (Lower) × [12.0] LATIN SMALL LETTER E (Lower) ÷ [0.3] @@ -490,6 +493,7 @@ ÷ 0065 × 0074 × 0063 × 002E ÷ 5B83 ÷ # ÷ [0.2] LATIN SMALL LETTER E (Lower) × [12.0] LATIN SMALL LETTER T (Lower) × [12.0] LATIN SMALL LETTER C (Lower) × [12.0] FULL STOP (ATerm) ÷ [11.0] CJK UNIFIED IDEOGRAPH-5B83 (OLetter) ÷ [0.3] ÷ 0065 × 0074 × 0063 × 002E × 3002 ÷ # ÷ [0.2] LATIN SMALL LETTER E (Lower) × [12.0] LATIN SMALL LETTER T (Lower) × [12.0] LATIN SMALL LETTER C (Lower) × [12.0] FULL STOP (ATerm) × [8.1] IDEOGRAPHIC FULL STOP (STerm) ÷ [0.3] ÷ 5B57 × 3002 ÷ 5B83 ÷ # ÷ [0.2] CJK UNIFIED IDEOGRAPH-5B57 (OLetter) × [12.0] IDEOGRAPHIC FULL STOP (STerm) ÷ [11.0] CJK UNIFIED IDEOGRAPH-5B83 (OLetter) ÷ [0.3] +÷ 0021 × 0020 × 0020 ÷ # ÷ [0.2] EXCLAMATION MARK (STerm) × [9.0] SPACE (Sp) × [10.0] SPACE (Sp) ÷ [0.3] ÷ 2060 × 0028 × 2060 × 0022 × 2060 × 0047 × 2060 × 006F × 2060 × 002E × 2060 × 0022 × 2060 × 0029 × 2060 × 0020 × 2060 ÷ 0028 × 2060 × 0048 × 2060 × 0065 × 2060 × 0020 × 2060 × 0064 × 2060 × 0069 × 2060 × 0064 × 2060 × 002E × 2060 × 0029 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LEFT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [12.0] QUOTATION MARK (Close) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN CAPITAL LETTER G (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER O (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [9.0] QUOTATION MARK (Close) × [5.0] WORD JOINER (Format_FE) × [9.0] RIGHT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [9.0] SPACE (Sp) × [5.0] WORD JOINER (Format_FE) ÷ [11.0] LEFT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN CAPITAL LETTER H (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] SPACE (Sp) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER D (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER I (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER D (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [9.0] RIGHT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3] ÷ 2060 × 0028 × 2060 × 201C × 2060 × 0047 × 2060 × 006F × 2060 × 003F × 2060 × 201D × 2060 × 0029 × 2060 × 0020 × 2060 ÷ 0028 × 2060 × 0048 × 2060 × 0065 × 2060 × 0020 × 2060 × 0064 × 2060 × 0069 × 2060 × 0064 × 2060 × 002E × 2060 × 0029 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LEFT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [12.0] LEFT DOUBLE QUOTATION MARK (Close) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN CAPITAL LETTER G (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER O (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] QUESTION MARK (STerm) × [5.0] WORD JOINER (Format_FE) × [9.0] RIGHT DOUBLE QUOTATION MARK (Close) × [5.0] WORD JOINER (Format_FE) × [9.0] RIGHT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [9.0] SPACE (Sp) × [5.0] WORD JOINER (Format_FE) ÷ [11.0] LEFT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN CAPITAL LETTER H (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] SPACE (Sp) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER D (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER I (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER D (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [9.0] RIGHT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3] ÷ 2060 × 0055 × 2060 × 002E × 2060 × 0053 × 2060 × 002E × 2060 × 0041 × 2060 × 0300 × 002E × 2060 × 0020 × 2060 × 0069 × 2060 × 0073 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN CAPITAL LETTER U (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [7.0] LATIN CAPITAL LETTER S (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [7.0] LATIN CAPITAL LETTER A (Upper) × [5.0] WORD JOINER (Format_FE) × [5.0] COMBINING GRAVE ACCENT (Extend_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [8.0] SPACE (Sp) × [5.0] WORD JOINER (Format_FE) × [8.0] LATIN SMALL LETTER I (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER S (Lower) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3] @@ -497,6 +501,9 @@ ÷ 2060 × 0055 × 2060 × 002E × 2060 × 0053 × 2060 × 002E × 2060 × 0041 × 2060 × 0300 × 002E × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN CAPITAL LETTER U (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [7.0] LATIN CAPITAL LETTER S (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [7.0] LATIN CAPITAL LETTER A (Upper) × [5.0] WORD JOINER (Format_FE) × [5.0] COMBINING GRAVE ACCENT (Extend_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3] ÷ 2060 × 0033 × 2060 × 002E × 2060 × 0034 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) × [12.0] DIGIT THREE (Numeric) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [6.0] DIGIT FOUR (Numeric) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3] ÷ 2060 × 0063 × 2060 × 002E × 2060 × 0064 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER C (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [8.0] LATIN SMALL LETTER D (Lower) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3] +÷ 2060 × 0043 × 2060 × 002E × 2060 × 0064 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN CAPITAL LETTER C (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [8.0] LATIN SMALL LETTER D (Lower) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3] +÷ 2060 × 0063 × 2060 × 002E × 2060 × 0044 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER C (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [7.0] LATIN CAPITAL LETTER D (Upper) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3] +÷ 2060 × 0043 × 2060 × 002E × 2060 × 0044 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN CAPITAL LETTER C (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [7.0] LATIN CAPITAL LETTER D (Upper) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3] ÷ 2060 × 0065 × 2060 × 0074 × 2060 × 0063 × 2060 × 002E × 2060 × 0029 × 2060 × 2019 × 2060 × 00A0 × 2060 × 0074 × 2060 × 0068 × 2060 × 0065 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER T (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER C (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [8.0] RIGHT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [8.0] RIGHT SINGLE QUOTATION MARK (Close) × [5.0] WORD JOINER (Format_FE) × [8.0] NO-BREAK SPACE (Sp) × [5.0] WORD JOINER (Format_FE) × [8.0] LATIN SMALL LETTER T (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER H (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3] ÷ 2060 × 0065 × 2060 × 0074 × 2060 × 0063 × 2060 × 002E × 2060 × 0029 × 2060 × 2019 × 2060 × 00A0 × 2060 ÷ 0054 × 2060 × 0068 × 2060 × 0065 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER T (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER C (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [9.0] RIGHT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [9.0] RIGHT SINGLE QUOTATION MARK (Close) × [5.0] WORD JOINER (Format_FE) × [9.0] NO-BREAK SPACE (Sp) × [5.0] WORD JOINER (Format_FE) ÷ [11.0] LATIN CAPITAL LETTER T (Upper) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER H (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3] ÷ 2060 × 0065 × 2060 × 0074 × 2060 × 0063 × 2060 × 002E × 2060 × 0029 × 2060 × 2019 × 2060 × 00A0 × 2060 × 2018 × 2060 × 0028 × 2060 × 0074 × 2060 × 0068 × 2060 × 0065 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER T (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER C (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [8.0] RIGHT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [8.0] RIGHT SINGLE QUOTATION MARK (Close) × [5.0] WORD JOINER (Format_FE) × [8.0] NO-BREAK SPACE (Sp) × [5.0] WORD JOINER (Format_FE) × [8.0] LEFT SINGLE QUOTATION MARK (Close) × [5.0] WORD JOINER (Format_FE) × [12.0] LEFT PARENTHESIS (Close) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER T (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER H (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3] @@ -510,12 +517,13 @@ ÷ 2060 × 0065 × 2060 × 0074 × 2060 × 0063 × 2060 × 002E × 2060 ÷ 5B83 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER T (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER C (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) ÷ [11.0] CJK UNIFIED IDEOGRAPH-5B83 (OLetter) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3] ÷ 2060 × 0065 × 2060 × 0074 × 2060 × 0063 × 2060 × 002E × 2060 × 3002 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER E (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER T (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] LATIN SMALL LETTER C (Lower) × [5.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (ATerm) × [5.0] WORD JOINER (Format_FE) × [8.1] IDEOGRAPHIC FULL STOP (STerm) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3] ÷ 2060 × 5B57 × 2060 × 3002 × 2060 ÷ 5B83 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) × [12.0] CJK UNIFIED IDEOGRAPH-5B57 (OLetter) × [5.0] WORD JOINER (Format_FE) × [12.0] IDEOGRAPHIC FULL STOP (STerm) × [5.0] WORD JOINER (Format_FE) ÷ [11.0] CJK UNIFIED IDEOGRAPH-5B83 (OLetter) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3] +÷ 2060 × 0021 × 2060 × 0020 × 2060 × 0020 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) × [12.0] EXCLAMATION MARK (STerm) × [5.0] WORD JOINER (Format_FE) × [9.0] SPACE (Sp) × [5.0] WORD JOINER (Format_FE) × [10.0] SPACE (Sp) × [5.0] WORD JOINER (Format_FE) × [5.0] WORD JOINER (Format_FE) ÷ [0.3] ÷ 1F1E6 × 1F1E7 × 1F1E8 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Other) × [12.0] REGIONAL INDICATOR SYMBOL LETTER B (Other) × [12.0] REGIONAL INDICATOR SYMBOL LETTER C (Other) ÷ [0.3] ÷ 1F1E6 × 200D × 1F1E7 × 1F1E8 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Other) × [5.0] ZERO WIDTH JOINER (Extend_FE) × [12.0] REGIONAL INDICATOR SYMBOL LETTER B (Other) × [12.0] REGIONAL INDICATOR SYMBOL LETTER C (Other) ÷ [0.3] ÷ 1F1E6 × 1F1E7 × 200D × 1F1E8 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Other) × [12.0] REGIONAL INDICATOR SYMBOL LETTER B (Other) × [5.0] ZERO WIDTH JOINER (Extend_FE) × [12.0] REGIONAL INDICATOR SYMBOL LETTER C (Other) ÷ [0.3] ÷ 0020 × 200D × 0646 ÷ # ÷ [0.2] SPACE (Sp) × [5.0] ZERO WIDTH JOINER (Extend_FE) × [12.0] ARABIC LETTER NOON (OLetter) ÷ [0.3] ÷ 0646 × 200D × 0020 ÷ # ÷ [0.2] ARABIC LETTER NOON (OLetter) × [5.0] ZERO WIDTH JOINER (Extend_FE) × [12.0] SPACE (Sp) ÷ [0.3] # -# Lines: 495 +# Lines: 503 # # EOF diff --git a/lib/unicore/auxiliary/SentenceBreakProperty.txt b/lib/unicore/auxiliary/SentenceBreakProperty.txt index 1975210..8dd1abf 100644 --- a/lib/unicore/auxiliary/SentenceBreakProperty.txt +++ b/lib/unicore/auxiliary/SentenceBreakProperty.txt @@ -1,8 +1,8 @@ -# SentenceBreakProperty-7.0.0.txt -# Date: 2014-02-19, 15:51:38 GMT [MD] +# SentenceBreakProperty-8.0.0.txt +# Date: 2015-03-11, 22:29:43 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ @@ -53,7 +53,7 @@ 0825..0827 ; Extend # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U 0829..082D ; Extend # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA 0859..085B ; Extend # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK -08E4..0902 ; Extend # Mn [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA +08E3..0902 ; Extend # Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA 0903 ; Extend # Mc DEVANAGARI SIGN VISARGA 093A ; Extend # Mn DEVANAGARI VOWEL SIGN OE 093B ; Extend # Mc DEVANAGARI VOWEL SIGN OOE @@ -216,8 +216,6 @@ 1932 ; Extend # Mn LIMBU SMALL LETTER ANUSVARA 1933..1938 ; Extend # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA 1939..193B ; Extend # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I -19B0..19C0 ; Extend # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY -19C8..19C9 ; Extend # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 1A17..1A18 ; Extend # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U 1A19..1A1A ; Extend # Mc [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O 1A1B ; Extend # Mn BUGINESE VOWEL SIGN AE @@ -291,7 +289,7 @@ A66F ; Extend # Mn COMBINING CYRILLIC VZMET A670..A672 ; Extend # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN A674..A67D ; Extend # Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK -A69F ; Extend # Mn COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F ; Extend # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E A6F0..A6F1 ; Extend # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS A802 ; Extend # Mn SYLOTI NAGRI SIGN DVISVARA A806 ; Extend # Mn SYLOTI NAGRI SIGN HASANTA @@ -345,7 +343,7 @@ ABEC ; Extend # Mc MEETEI MAYEK LUM IYEK ABED ; Extend # Mn MEETEI MAYEK APUN IYEK FB1E ; Extend # Mn HEBREW POINT JUDEO-SPANISH VARIKA FE00..FE0F ; Extend # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 -FE20..FE2D ; Extend # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW +FE20..FE2F ; Extend # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK 101FD ; Extend # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE 102E0 ; Extend # Mn COPTIC EPACT THOUSANDS MARK @@ -376,6 +374,7 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT 111B3..111B5 ; Extend # Mc [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II 111B6..111BE ; Extend # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O 111BF..111C0 ; Extend # Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA +111CA..111CC ; Extend # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK 1122C..1122E ; Extend # Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II 1122F..11231 ; Extend # Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI 11232..11233 ; Extend # Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU @@ -385,7 +384,7 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT 112DF ; Extend # Mn KHUDAWADI SIGN ANUSVARA 112E0..112E2 ; Extend # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II 112E3..112EA ; Extend # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA -11301 ; Extend # Mn GRANTHA SIGN CANDRABINDU +11300..11301 ; Extend # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 11302..11303 ; Extend # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA 1133C ; Extend # Mn GRANTHA SIGN NUKTA 1133E..1133F ; Extend # Mc [2] GRANTHA VOWEL SIGN AA..GRANTHA VOWEL SIGN I @@ -411,6 +410,7 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT 115BC..115BD ; Extend # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 115BE ; Extend # Mc SIDDHAM SIGN VISARGA 115BF..115C0 ; Extend # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA +115DC..115DD ; Extend # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11630..11632 ; Extend # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II 11633..1163A ; Extend # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI 1163B..1163C ; Extend # Mc [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU @@ -424,6 +424,11 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT 116B0..116B5 ; Extend # Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU 116B6 ; Extend # Mc TAKRI SIGN VIRAMA 116B7 ; Extend # Mn TAKRI SIGN NUKTA +1171D..1171F ; Extend # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11720..11721 ; Extend # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11722..11725 ; Extend # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11726 ; Extend # Mc AHOM VOWEL SIGN E +11727..1172B ; Extend # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER 16AF0..16AF4 ; Extend # Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE 16B30..16B36 ; Extend # Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM 16F51..16F7E ; Extend # Mc [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG @@ -436,10 +441,16 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT 1D185..1D18B ; Extend # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE 1D1AA..1D1AD ; Extend # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO 1D242..1D244 ; Extend # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME +1DA00..1DA36 ; Extend # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN +1DA3B..1DA6C ; Extend # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT +1DA75 ; Extend # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA84 ; Extend # Mn SIGNWRITING LOCATION HEAD NECK +1DA9B..1DA9F ; Extend # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF ; Extend # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 1E8D0..1E8D6 ; Extend # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS E0100..E01EF ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 -# Total code points: 1834 +# Total code points: 1967 # ================================================ @@ -764,6 +775,7 @@ E0020..E007F ; Format # Cf [96] TAG SPACE..CANCEL TAG 052D ; Lower # L& CYRILLIC SMALL LETTER DCHE 052F ; Lower # L& CYRILLIC SMALL LETTER EL WITH DESCENDER 0561..0587 ; Lower # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN +13F8..13FD ; Lower # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1D00..1D2B ; Lower # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL 1D2C..1D6A ; Lower # Lm [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI 1D6B..1D77 ; Lower # L& [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G @@ -1094,15 +1106,19 @@ A7A3 ; Lower # L& LATIN SMALL LETTER K WITH OBLIQUE STROKE A7A5 ; Lower # L& LATIN SMALL LETTER N WITH OBLIQUE STROKE A7A7 ; Lower # L& LATIN SMALL LETTER R WITH OBLIQUE STROKE A7A9 ; Lower # L& LATIN SMALL LETTER S WITH OBLIQUE STROKE +A7B5 ; Lower # L& LATIN SMALL LETTER BETA +A7B7 ; Lower # L& LATIN SMALL LETTER OMEGA A7F8..A7F9 ; Lower # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE A7FA ; Lower # L& LATIN LETTER SMALL CAPITAL TURNED M AB30..AB5A ; Lower # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG AB5C..AB5F ; Lower # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB64..AB65 ; Lower # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA +AB60..AB65 ; Lower # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA +AB70..ABBF ; Lower # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA FB00..FB06 ; Lower # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST FB13..FB17 ; Lower # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH FF41..FF5A ; Lower # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z 10428..1044F ; Lower # L& [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW +10CC0..10CF2 ; Lower # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US 118C0..118DF ; Lower # L& [32] WARANG CITI SMALL LETTER NGAA..WARANG CITI SMALL LETTER VIYO 1D41A..1D433 ; Lower # L& [26] MATHEMATICAL BOLD SMALL A..MATHEMATICAL BOLD SMALL Z 1D44E..1D454 ; Lower # L& [7] MATHEMATICAL ITALIC SMALL A..MATHEMATICAL ITALIC SMALL G @@ -1133,7 +1149,7 @@ FF41..FF5A ; Lower # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN 1D7C4..1D7C9 ; Lower # L& [6] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL 1D7CB ; Lower # L& MATHEMATICAL BOLD SMALL DIGAMMA -# Total code points: 2029 +# Total code points: 2172 # ================================================ @@ -1412,6 +1428,7 @@ FF41..FF5A ; Lower # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN 10A0..10C5 ; Upper # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE 10C7 ; Upper # L& GEORGIAN CAPITAL LETTER YN 10CD ; Upper # L& GEORGIAN CAPITAL LETTER AEN +13A0..13F5 ; Upper # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV 1E00 ; Upper # L& LATIN CAPITAL LETTER A WITH RING BELOW 1E02 ; Upper # L& LATIN CAPITAL LETTER B WITH DOT ABOVE 1E04 ; Upper # L& LATIN CAPITAL LETTER B WITH DOT BELOW @@ -1729,9 +1746,11 @@ A7A4 ; Upper # L& LATIN CAPITAL LETTER N WITH OBLIQUE STROKE A7A6 ; Upper # L& LATIN CAPITAL LETTER R WITH OBLIQUE STROKE A7A8 ; Upper # L& LATIN CAPITAL LETTER S WITH OBLIQUE STROKE A7AA..A7AD ; Upper # L& [4] LATIN CAPITAL LETTER H WITH HOOK..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; Upper # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B4 ; Upper # L& [5] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER BETA +A7B6 ; Upper # L& LATIN CAPITAL LETTER OMEGA FF21..FF3A ; Upper # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z 10400..10427 ; Upper # L& [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW +10C80..10CB2 ; Upper # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US 118A0..118BF ; Upper # L& [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO 1D400..1D419 ; Upper # L& [26] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL BOLD CAPITAL Z 1D434..1D44D ; Upper # L& [26] MATHEMATICAL ITALIC CAPITAL A..MATHEMATICAL ITALIC CAPITAL Z @@ -1768,7 +1787,7 @@ FF21..FF3A ; Upper # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LAT 1F150..1F169 ; Upper # So [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z 1F170..1F189 ; Upper # So [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z -# Total code points: 1641 +# Total code points: 1782 # ================================================ @@ -1806,7 +1825,7 @@ FF21..FF3A ; Upper # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LAT 0824 ; OLetter # Lm SAMARITAN MODIFIER LETTER SHORT A 0828 ; OLetter # Lm SAMARITAN MODIFIER LETTER I 0840..0858 ; OLetter # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN -08A0..08B2 ; OLetter # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE +08A0..08B4 ; OLetter # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW 0904..0939 ; OLetter # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA 093D ; OLetter # Lo DEVANAGARI SIGN AVAGRAHA 0950 ; OLetter # Lo DEVANAGARI OM @@ -1843,6 +1862,7 @@ FF21..FF3A ; Upper # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LAT 0ABD ; OLetter # Lo GUJARATI SIGN AVAGRAHA 0AD0 ; OLetter # Lo GUJARATI OM 0AE0..0AE1 ; OLetter # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL +0AF9 ; OLetter # Lo GUJARATI LETTER ZHA 0B05..0B0C ; OLetter # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L 0B0F..0B10 ; OLetter # Lo [2] ORIYA LETTER E..ORIYA LETTER AI 0B13..0B28 ; OLetter # Lo [22] ORIYA LETTER O..ORIYA LETTER NA @@ -1869,7 +1889,7 @@ FF21..FF3A ; Upper # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LAT 0C12..0C28 ; OLetter # Lo [23] TELUGU LETTER O..TELUGU LETTER NA 0C2A..0C39 ; OLetter # Lo [16] TELUGU LETTER PA..TELUGU LETTER HA 0C3D ; OLetter # Lo TELUGU SIGN AVAGRAHA -0C58..0C59 ; OLetter # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA +0C58..0C5A ; OLetter # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA 0C60..0C61 ; OLetter # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL 0C85..0C8C ; OLetter # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L 0C8E..0C90 ; OLetter # Lo [3] KANNADA LETTER E..KANNADA LETTER AI @@ -1885,7 +1905,7 @@ FF21..FF3A ; Upper # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LAT 0D12..0D3A ; OLetter # Lo [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA 0D3D ; OLetter # Lo MALAYALAM SIGN AVAGRAHA 0D4E ; OLetter # Lo MALAYALAM LETTER DOT REPH -0D60..0D61 ; OLetter # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL +0D5F..0D61 ; OLetter # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL 0D7A..0D7F ; OLetter # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K 0D85..0D96 ; OLetter # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA 0D9A..0DB1 ; OLetter # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA @@ -1945,7 +1965,6 @@ FF21..FF3A ; Upper # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LAT 1312..1315 ; OLetter # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE 1318..135A ; OLetter # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA 1380..138F ; OLetter # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE -13A0..13F4 ; OLetter # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV 1401..166C ; OLetter # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA 166F..167F ; OLetter # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W 1681..169A ; OLetter # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH @@ -1971,7 +1990,7 @@ FF21..FF3A ; Upper # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LAT 1950..196D ; OLetter # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI 1970..1974 ; OLetter # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 1980..19AB ; OLetter # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA -19C1..19C7 ; OLetter # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B +19B0..19C9 ; OLetter # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 1A00..1A16 ; OLetter # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA 1A20..1A54 ; OLetter # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA 1AA7 ; OLetter # Lm TAI THAM SIGN MAI YAMOK @@ -2021,7 +2040,7 @@ FF21..FF3A ; Upper # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LAT 31A0..31BA ; OLetter # Lo [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY 31F0..31FF ; OLetter # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO 3400..4DB5 ; OLetter # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 -4E00..9FCC ; OLetter # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC +4E00..9FD5 ; OLetter # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 A000..A014 ; OLetter # Lo [21] YI SYLLABLE IT..YI SYLLABLE E A015 ; OLetter # Lm YI SYLLABLE WU A016..A48C ; OLetter # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR @@ -2037,6 +2056,7 @@ A6A0..A6E5 ; OLetter # Lo [70] BAMUM LETTER A..BAMUM LETTER KI A6E6..A6EF ; OLetter # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM A717..A71F ; OLetter # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK A788 ; OLetter # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT +A78F ; OLetter # Lo LATIN LETTER SINOLOGICAL DOT A7F7 ; OLetter # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I A7FB..A801 ; OLetter # Lo [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I A803..A805 ; OLetter # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O @@ -2046,6 +2066,7 @@ A840..A873 ; OLetter # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABIN A882..A8B3 ; OLetter # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA A8F2..A8F7 ; OLetter # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA A8FB ; OLetter # Lo DEVANAGARI HEADSTROKE +A8FD ; OLetter # Lo DEVANAGARI JAIN OM A90A..A925 ; OLetter # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO A930..A946 ; OLetter # Lo [23] REJANG LETTER KA..REJANG LETTER A A960..A97C ; OLetter # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH @@ -2140,6 +2161,8 @@ FFDA..FFDC ; OLetter # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 1083F..10855 ; OLetter # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW 10860..10876 ; OLetter # Lo [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW 10880..1089E ; OLetter # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW +108E0..108F2 ; OLetter # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F4..108F5 ; OLetter # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW 10900..10915 ; OLetter # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU 10920..10939 ; OLetter # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C 10980..109B7 ; OLetter # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA @@ -2166,8 +2189,14 @@ FFDA..FFDC ; OLetter # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 11183..111B2 ; OLetter # Lo [48] SHARADA LETTER A..SHARADA LETTER HA 111C1..111C4 ; OLetter # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM 111DA ; OLetter # Lo SHARADA EKAM +111DC ; OLetter # Lo SHARADA HEADSTROKE 11200..11211 ; OLetter # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA 11213..1122B ; OLetter # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA +11280..11286 ; OLetter # Lo [7] MULTANI LETTER A..MULTANI LETTER GA +11288 ; OLetter # Lo MULTANI LETTER GHA +1128A..1128D ; OLetter # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D ; OLetter # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8 ; OLetter # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA 112B0..112DE ; OLetter # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA 11305..1130C ; OLetter # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L 1130F..11310 ; OLetter # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI @@ -2176,19 +2205,24 @@ FFDA..FFDC ; OLetter # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 11332..11333 ; OLetter # Lo [2] GRANTHA LETTER LA..GRANTHA LETTER LLA 11335..11339 ; OLetter # Lo [5] GRANTHA LETTER VA..GRANTHA LETTER HA 1133D ; OLetter # Lo GRANTHA SIGN AVAGRAHA +11350 ; OLetter # Lo GRANTHA OM 1135D..11361 ; OLetter # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL 11480..114AF ; OLetter # Lo [48] TIRHUTA ANJI..TIRHUTA LETTER HA 114C4..114C5 ; OLetter # Lo [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG 114C7 ; OLetter # Lo TIRHUTA OM 11580..115AE ; OLetter # Lo [47] SIDDHAM LETTER A..SIDDHAM LETTER HA +115D8..115DB ; OLetter # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U 11600..1162F ; OLetter # Lo [48] MODI LETTER A..MODI LETTER LLA 11644 ; OLetter # Lo MODI SIGN HUVA 11680..116AA ; OLetter # Lo [43] TAKRI LETTER A..TAKRI LETTER RRA +11700..11719 ; OLetter # Lo [26] AHOM LETTER KA..AHOM LETTER JHA 118FF ; OLetter # Lo WARANG CITI OM 11AC0..11AF8 ; OLetter # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -12000..12398 ; OLetter # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME +12000..12399 ; OLetter # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U 12400..1246E ; OLetter # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM +12480..12543 ; OLetter # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU 13000..1342E ; OLetter # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 +14400..14646 ; OLetter # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 16800..16A38 ; OLetter # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ 16A40..16A5E ; OLetter # Lo [31] MRO LETTER TA..MRO LETTER TEK 16AD0..16AED ; OLetter # Lo [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I @@ -2241,9 +2275,10 @@ FFDA..FFDC ; OLetter # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 20000..2A6D6 ; OLetter # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 2A700..2B734 ; OLetter # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 2B740..2B81D ; OLetter # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D +2B820..2CEA1 ; OLetter # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 2F800..2FA1D ; OLetter # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D -# Total code points: 99420 +# Total code points: 106002 # ================================================ @@ -2293,12 +2328,13 @@ ABF0..ABF9 ; Numeric # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT N 114D0..114D9 ; Numeric # Nd [10] TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE 11650..11659 ; Numeric # Nd [10] MODI DIGIT ZERO..MODI DIGIT NINE 116C0..116C9 ; Numeric # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE +11730..11739 ; Numeric # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE 118E0..118E9 ; Numeric # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE 16A60..16A69 ; Numeric # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE 16B50..16B59 ; Numeric # Nd [10] PAHAWH HMONG DIGIT ZERO..PAHAWH HMONG DIGIT NINE 1D7CE..1D7FF ; Numeric # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE -# Total code points: 532 +# Total code points: 542 # ================================================ @@ -2358,18 +2394,22 @@ FF61 ; STerm # Po HALFWIDTH IDEOGRAPHIC FULL STOP 11141..11143 ; STerm # Po [3] CHAKMA DANDA..CHAKMA QUESTION MARK 111C5..111C6 ; STerm # Po [2] SHARADA DANDA..SHARADA DOUBLE DANDA 111CD ; STerm # Po SHARADA SUTRA MARK +111DE..111DF ; STerm # Po [2] SHARADA SECTION MARK-1..SHARADA SECTION MARK-2 11238..11239 ; STerm # Po [2] KHOJKI DANDA..KHOJKI DOUBLE DANDA 1123B..1123C ; STerm # Po [2] KHOJKI SECTION MARK..KHOJKI DOUBLE SECTION MARK +112A9 ; STerm # Po MULTANI SECTION MARK 115C2..115C3 ; STerm # Po [2] SIDDHAM DANDA..SIDDHAM DOUBLE DANDA -115C9 ; STerm # Po SIDDHAM END OF TEXT MARK +115C9..115D7 ; STerm # Po [15] SIDDHAM END OF TEXT MARK..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES 11641..11642 ; STerm # Po [2] MODI DANDA..MODI DOUBLE DANDA +1173C..1173E ; STerm # Po [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI 16A6E..16A6F ; STerm # Po [2] MRO DANDA..MRO DOUBLE DANDA 16AF5 ; STerm # Po BASSA VAH FULL STOP 16B37..16B38 ; STerm # Po [2] PAHAWH HMONG SIGN VOS THOM..PAHAWH HMONG SIGN VOS TSHAB CEEB 16B44 ; STerm # Po PAHAWH HMONG SIGN XAUS 1BC9F ; STerm # Po DUPLOYAN PUNCTUATION CHINOOK FULL STOP +1DA88 ; STerm # Po SIGNWRITING FULL STOP -# Total code points: 96 +# Total code points: 117 # ================================================ diff --git a/lib/unicore/auxiliary/WBTest.txt b/lib/unicore/auxiliary/WBTest.txt index 1f812f6..7e163f1 100644 --- a/lib/unicore/auxiliary/WBTest.txt +++ b/lib/unicore/auxiliary/WBTest.txt @@ -1,8 +1,8 @@ -# WordBreakTest-7.0.0.txt -# Date: 2013-11-27, 09:54:53 GMT [MD] +# WordBreakTest-8.0.0.txt +# Date: 2015-05-02, 14:48:55 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2013 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ # @@ -1377,22 +1377,139 @@ ÷ 0061 × 0062 × 00AD × 0062 × 0079 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [5.0] LATIN SMALL LETTER B (ALetter) × [4.0] SOFT HYPHEN (Format_FE) × [5.0] LATIN SMALL LETTER B (ALetter) × [5.0] LATIN SMALL LETTER Y (ALetter) ÷ [0.3] ÷ 0061 ÷ 0024 ÷ 002D ÷ 0033 × 0034 × 002C × 0035 × 0036 × 0037 × 002E × 0031 × 0034 ÷ 0025 ÷ 0062 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] DOLLAR SIGN (Other) ÷ [999.0] HYPHEN-MINUS (Other) ÷ [999.0] DIGIT THREE (Numeric) × [8.0] DIGIT FOUR (Numeric) × [12.0] COMMA (MidNum) × [11.0] DIGIT FIVE (Numeric) × [8.0] DIGIT SIX (Numeric) × [8.0] DIGIT SEVEN (Numeric) × [12.0] FULL STOP (MidNumLet) × [11.0] DIGIT ONE (Numeric) × [8.0] DIGIT FOUR (Numeric) ÷ [999.0] PERCENT SIGN (Other) ÷ [999.0] LATIN SMALL LETTER B (ALetter) ÷ [0.3] ÷ 0033 × 0061 ÷ # ÷ [0.2] DIGIT THREE (Numeric) × [10.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0063 × 002E × 0064 ÷ # ÷ [0.2] LATIN SMALL LETTER C (ALetter) × [6.0] FULL STOP (MidNumLet) × [7.0] LATIN SMALL LETTER D (ALetter) ÷ [0.3] +÷ 0043 × 002E × 0064 ÷ # ÷ [0.2] LATIN CAPITAL LETTER C (ALetter) × [6.0] FULL STOP (MidNumLet) × [7.0] LATIN SMALL LETTER D (ALetter) ÷ [0.3] +÷ 0063 × 002E × 0044 ÷ # ÷ [0.2] LATIN SMALL LETTER C (ALetter) × [6.0] FULL STOP (MidNumLet) × [7.0] LATIN CAPITAL LETTER D (ALetter) ÷ [0.3] +÷ 0043 × 002E × 0044 ÷ # ÷ [0.2] LATIN CAPITAL LETTER C (ALetter) × [6.0] FULL STOP (MidNumLet) × [7.0] LATIN CAPITAL LETTER D (ALetter) ÷ [0.3] ÷ 2060 ÷ 0063 × 2060 × 0061 × 2060 × 006E × 2060 × 0027 × 2060 × 0074 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] LATIN SMALL LETTER C (ALetter) × [4.0] WORD JOINER (Format_FE) × [5.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) × [5.0] LATIN SMALL LETTER N (ALetter) × [4.0] WORD JOINER (Format_FE) × [6.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) × [7.0] LATIN SMALL LETTER T (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3] ÷ 2060 ÷ 0063 × 2060 × 0061 × 2060 × 006E × 2060 × 2019 × 2060 × 0074 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] LATIN SMALL LETTER C (ALetter) × [4.0] WORD JOINER (Format_FE) × [5.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) × [5.0] LATIN SMALL LETTER N (ALetter) × [4.0] WORD JOINER (Format_FE) × [6.0] RIGHT SINGLE QUOTATION MARK (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [7.0] LATIN SMALL LETTER T (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3] ÷ 2060 ÷ 0061 × 2060 × 0062 × 2060 × 00AD × 2060 × 0062 × 2060 × 0079 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) × [5.0] LATIN SMALL LETTER B (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] SOFT HYPHEN (Format_FE) × [4.0] WORD JOINER (Format_FE) × [5.0] LATIN SMALL LETTER B (ALetter) × [4.0] WORD JOINER (Format_FE) × [5.0] LATIN SMALL LETTER Y (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3] ÷ 2060 ÷ 0061 × 2060 ÷ 0024 × 2060 ÷ 002D × 2060 ÷ 0033 × 2060 × 0034 × 2060 × 002C × 2060 × 0035 × 2060 × 0036 × 2060 × 0037 × 2060 × 002E × 2060 × 0031 × 2060 × 0034 × 2060 ÷ 0025 × 2060 ÷ 0062 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] DOLLAR SIGN (Other) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] HYPHEN-MINUS (Other) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] DIGIT THREE (Numeric) × [4.0] WORD JOINER (Format_FE) × [8.0] DIGIT FOUR (Numeric) × [4.0] WORD JOINER (Format_FE) × [12.0] COMMA (MidNum) × [4.0] WORD JOINER (Format_FE) × [11.0] DIGIT FIVE (Numeric) × [4.0] WORD JOINER (Format_FE) × [8.0] DIGIT SIX (Numeric) × [4.0] WORD JOINER (Format_FE) × [8.0] DIGIT SEVEN (Numeric) × [4.0] WORD JOINER (Format_FE) × [12.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [11.0] DIGIT ONE (Numeric) × [4.0] WORD JOINER (Format_FE) × [8.0] DIGIT FOUR (Numeric) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] PERCENT SIGN (Other) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] LATIN SMALL LETTER B (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3] ÷ 2060 ÷ 0033 × 2060 × 0061 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] DIGIT THREE (Numeric) × [4.0] WORD JOINER (Format_FE) × [10.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3] +÷ 2060 ÷ 0063 × 2060 × 002E × 2060 × 0064 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] LATIN SMALL LETTER C (ALetter) × [4.0] WORD JOINER (Format_FE) × [6.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [7.0] LATIN SMALL LETTER D (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3] +÷ 2060 ÷ 0043 × 2060 × 002E × 2060 × 0064 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] LATIN CAPITAL LETTER C (ALetter) × [4.0] WORD JOINER (Format_FE) × [6.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [7.0] LATIN SMALL LETTER D (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3] +÷ 2060 ÷ 0063 × 2060 × 002E × 2060 × 0044 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] LATIN SMALL LETTER C (ALetter) × [4.0] WORD JOINER (Format_FE) × [6.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [7.0] LATIN CAPITAL LETTER D (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3] +÷ 2060 ÷ 0043 × 2060 × 002E × 2060 × 0044 × 2060 × 2060 ÷ # ÷ [0.2] WORD JOINER (Format_FE) ÷ [999.0] LATIN CAPITAL LETTER C (ALetter) × [4.0] WORD JOINER (Format_FE) × [6.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [7.0] LATIN CAPITAL LETTER D (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] WORD JOINER (Format_FE) ÷ [0.3] ÷ 0061 ÷ 1F1E6 ÷ 0062 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [999.0] LATIN SMALL LETTER B (ALetter) ÷ [0.3] ÷ 1F1F7 × 1F1FA ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER R (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER U (Regional_Indicator) ÷ [0.3] ÷ 1F1F7 × 1F1FA × 1F1F8 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER R (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER U (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER S (Regional_Indicator) ÷ [0.3] ÷ 1F1F7 × 1F1FA × 1F1F8 × 1F1EA ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER R (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER U (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER S (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER E (Regional_Indicator) ÷ [0.3] ÷ 1F1F7 × 1F1FA ÷ 200B ÷ 1F1F8 × 1F1EA ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER R (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER U (Regional_Indicator) ÷ [999.0] ZERO WIDTH SPACE (Other) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER S (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER E (Regional_Indicator) ÷ [0.3] +÷ 05D0 × 0022 × 05D0 ÷ # ÷ [0.2] HEBREW LETTER ALEF (Hebrew_Letter) × [7.2] QUOTATION MARK (Double_Quote) × [7.3] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3] ÷ 1F1E6 × 1F1E7 × 1F1E8 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER B (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER C (Regional_Indicator) ÷ [0.3] ÷ 1F1E6 × 200D × 1F1E7 × 1F1E8 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [4.0] ZERO WIDTH JOINER (Extend_FE) × [13.3] REGIONAL INDICATOR SYMBOL LETTER B (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER C (Regional_Indicator) ÷ [0.3] ÷ 1F1E6 × 1F1E7 × 200D × 1F1E8 ÷ # ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [13.3] REGIONAL INDICATOR SYMBOL LETTER B (Regional_Indicator) × [4.0] ZERO WIDTH JOINER (Extend_FE) × [13.3] REGIONAL INDICATOR SYMBOL LETTER C (Regional_Indicator) ÷ [0.3] ÷ 0020 × 200D ÷ 0646 ÷ # ÷ [0.2] SPACE (Other) × [4.0] ZERO WIDTH JOINER (Extend_FE) ÷ [999.0] ARABIC LETTER NOON (ALetter) ÷ [0.3] ÷ 0646 × 200D ÷ 0020 ÷ # ÷ [0.2] ARABIC LETTER NOON (ALetter) × [4.0] ZERO WIDTH JOINER (Extend_FE) ÷ [999.0] SPACE (Other) ÷ [0.3] +÷ 0031 ÷ 003A ÷ 003A ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 003A ÷ 003A ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 003A ÷ 003A ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 ÷ 003A ÷ 003A ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 003A ÷ 003A ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 003A ÷ 003A ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 ÷ 003A ÷ 002E ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 003A ÷ 002E ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 003A ÷ 002E ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 ÷ 003A ÷ 002E ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 003A ÷ 002E ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 003A ÷ 002E ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 ÷ 003A ÷ 002C ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 003A ÷ 002C ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 003A ÷ 002C ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 ÷ 003A ÷ 002C ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 003A ÷ 002C ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 003A ÷ 002C ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 ÷ 002E ÷ 003A ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 002E ÷ 003A ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 002E ÷ 003A ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 ÷ 002E ÷ 003A ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 002E ÷ 003A ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 002E ÷ 003A ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 ÷ 002E ÷ 002E ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 002E ÷ 002E ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 002E ÷ 002E ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 ÷ 002E ÷ 002E ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 002E ÷ 002E ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 002E ÷ 002E ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 ÷ 002E ÷ 002C ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 002E ÷ 002C ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 002E ÷ 002C ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 ÷ 002E ÷ 002C ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 002E ÷ 002C ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 002E ÷ 002C ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 ÷ 002C ÷ 003A ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 002C ÷ 003A ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 002C ÷ 003A ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 ÷ 002C ÷ 003A ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 002C ÷ 003A ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 002C ÷ 003A ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 ÷ 002C ÷ 002E ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 002C ÷ 002E ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 002C ÷ 002E ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 ÷ 002C ÷ 002E ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 002C ÷ 002E ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 002C ÷ 002E ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 ÷ 002C ÷ 002C ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 002C ÷ 002C ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 002C ÷ 002C ÷ 0031 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0031 ÷ 002C ÷ 002C ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0031 ÷ 002C ÷ 002C ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0031 × 005F × 0061 ÷ 002C ÷ 002C ÷ 0061 ÷ # ÷ [0.2] DIGIT ONE (Numeric) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 ÷ 003A ÷ 003A ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 003A ÷ 003A ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 003A ÷ 003A ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 ÷ 003A ÷ 003A ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 003A ÷ 003A ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 003A ÷ 003A ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 ÷ 003A ÷ 002E ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 003A ÷ 002E ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 003A ÷ 002E ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 ÷ 003A ÷ 002E ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 003A ÷ 002E ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 003A ÷ 002E ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 ÷ 003A ÷ 002C ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 003A ÷ 002C ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 003A ÷ 002C ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 ÷ 003A ÷ 002C ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 003A ÷ 002C ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 003A ÷ 002C ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 ÷ 002E ÷ 003A ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 002E ÷ 003A ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 002E ÷ 003A ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 ÷ 002E ÷ 003A ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 002E ÷ 003A ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 002E ÷ 003A ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 ÷ 002E ÷ 002E ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 002E ÷ 002E ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 002E ÷ 002E ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 ÷ 002E ÷ 002E ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 002E ÷ 002E ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 002E ÷ 002E ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 ÷ 002E ÷ 002C ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 002E ÷ 002C ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 002E ÷ 002C ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 ÷ 002E ÷ 002C ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 002E ÷ 002C ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 002E ÷ 002C ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 ÷ 002C ÷ 003A ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 002C ÷ 003A ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 002C ÷ 003A ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 ÷ 002C ÷ 003A ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 002C ÷ 003A ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 002C ÷ 003A ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 ÷ 002C ÷ 002E ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 002C ÷ 002E ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 002C ÷ 002E ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 ÷ 002C ÷ 002E ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 002C ÷ 002E ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 002C ÷ 002E ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 ÷ 002C ÷ 002C ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 002C ÷ 002C ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 002C ÷ 002C ÷ 0031 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] DIGIT ONE (Numeric) ÷ [0.3] +÷ 0061 ÷ 002C ÷ 002C ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0031 ÷ 002C ÷ 002C ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] +÷ 0061 × 005F × 0061 ÷ 002C ÷ 002C ÷ 0061 ÷ # ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) × [13.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [0.3] # -# Lines: 1372 +# Lines: 1489 # # EOF diff --git a/lib/unicore/auxiliary/WordBreakProperty.txt b/lib/unicore/auxiliary/WordBreakProperty.txt index 6135aea..dc8e820 100644 --- a/lib/unicore/auxiliary/WordBreakProperty.txt +++ b/lib/unicore/auxiliary/WordBreakProperty.txt @@ -1,8 +1,8 @@ -# WordBreakProperty-7.0.0.txt -# Date: 2014-02-19, 15:51:39 GMT [MD] +# WordBreakProperty-8.0.0.txt +# Date: 2015-02-14, 10:26:15 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ @@ -89,7 +89,7 @@ FB46..FB4F ; Hebrew_Letter # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW 0825..0827 ; Extend # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U 0829..082D ; Extend # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA 0859..085B ; Extend # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK -08E4..0902 ; Extend # Mn [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA +08E3..0902 ; Extend # Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA 0903 ; Extend # Mc DEVANAGARI SIGN VISARGA 093A ; Extend # Mn DEVANAGARI VOWEL SIGN OE 093B ; Extend # Mc DEVANAGARI VOWEL SIGN OOE @@ -252,8 +252,6 @@ FB46..FB4F ; Hebrew_Letter # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW 1932 ; Extend # Mn LIMBU SMALL LETTER ANUSVARA 1933..1938 ; Extend # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA 1939..193B ; Extend # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I -19B0..19C0 ; Extend # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY -19C8..19C9 ; Extend # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 1A17..1A18 ; Extend # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U 1A19..1A1A ; Extend # Mc [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O 1A1B ; Extend # Mn BUGINESE VOWEL SIGN AE @@ -327,7 +325,7 @@ FB46..FB4F ; Hebrew_Letter # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW A66F ; Extend # Mn COMBINING CYRILLIC VZMET A670..A672 ; Extend # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN A674..A67D ; Extend # Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK -A69F ; Extend # Mn COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F ; Extend # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E A6F0..A6F1 ; Extend # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS A802 ; Extend # Mn SYLOTI NAGRI SIGN DVISVARA A806 ; Extend # Mn SYLOTI NAGRI SIGN HASANTA @@ -381,7 +379,7 @@ ABEC ; Extend # Mc MEETEI MAYEK LUM IYEK ABED ; Extend # Mn MEETEI MAYEK APUN IYEK FB1E ; Extend # Mn HEBREW POINT JUDEO-SPANISH VARIKA FE00..FE0F ; Extend # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 -FE20..FE2D ; Extend # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW +FE20..FE2F ; Extend # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK 101FD ; Extend # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE 102E0 ; Extend # Mn COPTIC EPACT THOUSANDS MARK @@ -412,6 +410,7 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT 111B3..111B5 ; Extend # Mc [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II 111B6..111BE ; Extend # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O 111BF..111C0 ; Extend # Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA +111CA..111CC ; Extend # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK 1122C..1122E ; Extend # Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II 1122F..11231 ; Extend # Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI 11232..11233 ; Extend # Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU @@ -421,7 +420,7 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT 112DF ; Extend # Mn KHUDAWADI SIGN ANUSVARA 112E0..112E2 ; Extend # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II 112E3..112EA ; Extend # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA -11301 ; Extend # Mn GRANTHA SIGN CANDRABINDU +11300..11301 ; Extend # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 11302..11303 ; Extend # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA 1133C ; Extend # Mn GRANTHA SIGN NUKTA 1133E..1133F ; Extend # Mc [2] GRANTHA VOWEL SIGN AA..GRANTHA VOWEL SIGN I @@ -447,6 +446,7 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT 115BC..115BD ; Extend # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 115BE ; Extend # Mc SIDDHAM SIGN VISARGA 115BF..115C0 ; Extend # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA +115DC..115DD ; Extend # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11630..11632 ; Extend # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II 11633..1163A ; Extend # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI 1163B..1163C ; Extend # Mc [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU @@ -460,6 +460,11 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT 116B0..116B5 ; Extend # Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU 116B6 ; Extend # Mc TAKRI SIGN VIRAMA 116B7 ; Extend # Mn TAKRI SIGN NUKTA +1171D..1171F ; Extend # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11720..11721 ; Extend # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11722..11725 ; Extend # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11726 ; Extend # Mc AHOM VOWEL SIGN E +11727..1172B ; Extend # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER 16AF0..16AF4 ; Extend # Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE 16B30..16B36 ; Extend # Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM 16F51..16F7E ; Extend # Mc [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG @@ -472,10 +477,16 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT 1D185..1D18B ; Extend # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE 1D1AA..1D1AD ; Extend # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO 1D242..1D244 ; Extend # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME +1DA00..1DA36 ; Extend # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN +1DA3B..1DA6C ; Extend # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT +1DA75 ; Extend # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA84 ; Extend # Mn SIGNWRITING LOCATION HEAD NECK +1DA9B..1DA9F ; Extend # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF ; Extend # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 1E8D0..1E8D6 ; Extend # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS E0100..E01EF ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 -# Total code points: 1834 +# Total code points: 1967 # ================================================ @@ -583,7 +594,7 @@ FF71..FF9D ; Katakana # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAK 0824 ; ALetter # Lm SAMARITAN MODIFIER LETTER SHORT A 0828 ; ALetter # Lm SAMARITAN MODIFIER LETTER I 0840..0858 ; ALetter # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN -08A0..08B2 ; ALetter # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE +08A0..08B4 ; ALetter # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW 0904..0939 ; ALetter # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA 093D ; ALetter # Lo DEVANAGARI SIGN AVAGRAHA 0950 ; ALetter # Lo DEVANAGARI OM @@ -620,6 +631,7 @@ FF71..FF9D ; Katakana # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAK 0ABD ; ALetter # Lo GUJARATI SIGN AVAGRAHA 0AD0 ; ALetter # Lo GUJARATI OM 0AE0..0AE1 ; ALetter # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL +0AF9 ; ALetter # Lo GUJARATI LETTER ZHA 0B05..0B0C ; ALetter # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L 0B0F..0B10 ; ALetter # Lo [2] ORIYA LETTER E..ORIYA LETTER AI 0B13..0B28 ; ALetter # Lo [22] ORIYA LETTER O..ORIYA LETTER NA @@ -646,7 +658,7 @@ FF71..FF9D ; Katakana # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAK 0C12..0C28 ; ALetter # Lo [23] TELUGU LETTER O..TELUGU LETTER NA 0C2A..0C39 ; ALetter # Lo [16] TELUGU LETTER PA..TELUGU LETTER HA 0C3D ; ALetter # Lo TELUGU SIGN AVAGRAHA -0C58..0C59 ; ALetter # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA +0C58..0C5A ; ALetter # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA 0C60..0C61 ; ALetter # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL 0C85..0C8C ; ALetter # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L 0C8E..0C90 ; ALetter # Lo [3] KANNADA LETTER E..KANNADA LETTER AI @@ -662,7 +674,7 @@ FF71..FF9D ; Katakana # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAK 0D12..0D3A ; ALetter # Lo [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA 0D3D ; ALetter # Lo MALAYALAM SIGN AVAGRAHA 0D4E ; ALetter # Lo MALAYALAM LETTER DOT REPH -0D60..0D61 ; ALetter # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL +0D5F..0D61 ; ALetter # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL 0D7A..0D7F ; ALetter # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K 0D85..0D96 ; ALetter # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA 0D9A..0DB1 ; ALetter # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA @@ -695,7 +707,8 @@ FF71..FF9D ; Katakana # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAK 1312..1315 ; ALetter # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE 1318..135A ; ALetter # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA 1380..138F ; ALetter # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE -13A0..13F4 ; ALetter # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV +13A0..13F5 ; ALetter # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV +13F8..13FD ; ALetter # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1401..166C ; ALetter # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA 166F..167F ; ALetter # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W 1681..169A ; ALetter # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH @@ -825,8 +838,9 @@ A770 ; ALetter # Lm MODIFIER LETTER US A771..A787 ; ALetter # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T A788 ; ALetter # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT A78B..A78E ; ALetter # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT +A78F ; ALetter # Lo LATIN LETTER SINOLOGICAL DOT A790..A7AD ; ALetter # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; ALetter # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B7 ; ALetter # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA A7F7 ; ALetter # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I A7F8..A7F9 ; ALetter # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE A7FA ; ALetter # L& LATIN LETTER SMALL CAPITAL TURNED M @@ -838,6 +852,7 @@ A840..A873 ; ALetter # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABIN A882..A8B3 ; ALetter # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA A8F2..A8F7 ; ALetter # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA A8FB ; ALetter # Lo DEVANAGARI HEADSTROKE +A8FD ; ALetter # Lo DEVANAGARI JAIN OM A90A..A925 ; ALetter # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO A930..A946 ; ALetter # Lo [23] REJANG LETTER KA..REJANG LETTER A A960..A97C ; ALetter # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH @@ -856,7 +871,8 @@ AB20..AB26 ; ALetter # Lo [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE CC AB28..AB2E ; ALetter # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO AB30..AB5A ; ALetter # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG AB5C..AB5F ; ALetter # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB64..AB65 ; ALetter # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA +AB60..AB65 ; ALetter # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA +AB70..ABBF ; ALetter # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA ABC0..ABE2 ; ALetter # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM AC00..D7A3 ; ALetter # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH D7B0..D7C6 ; ALetter # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E @@ -912,6 +928,8 @@ FFDA..FFDC ; ALetter # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 1083F..10855 ; ALetter # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW 10860..10876 ; ALetter # Lo [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW 10880..1089E ; ALetter # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW +108E0..108F2 ; ALetter # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F4..108F5 ; ALetter # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW 10900..10915 ; ALetter # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU 10920..10939 ; ALetter # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C 10980..109B7 ; ALetter # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA @@ -929,6 +947,8 @@ FFDA..FFDC ; ALetter # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 10B60..10B72 ; ALetter # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW 10B80..10B91 ; ALetter # Lo [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW 10C00..10C48 ; ALetter # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH +10C80..10CB2 ; ALetter # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CC0..10CF2 ; ALetter # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US 11003..11037 ; ALetter # Lo [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA 11083..110AF ; ALetter # Lo [45] KAITHI LETTER A..KAITHI LETTER HA 110D0..110E8 ; ALetter # Lo [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE @@ -938,8 +958,14 @@ FFDA..FFDC ; ALetter # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 11183..111B2 ; ALetter # Lo [48] SHARADA LETTER A..SHARADA LETTER HA 111C1..111C4 ; ALetter # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM 111DA ; ALetter # Lo SHARADA EKAM +111DC ; ALetter # Lo SHARADA HEADSTROKE 11200..11211 ; ALetter # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA 11213..1122B ; ALetter # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA +11280..11286 ; ALetter # Lo [7] MULTANI LETTER A..MULTANI LETTER GA +11288 ; ALetter # Lo MULTANI LETTER GHA +1128A..1128D ; ALetter # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D ; ALetter # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8 ; ALetter # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA 112B0..112DE ; ALetter # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA 11305..1130C ; ALetter # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L 1130F..11310 ; ALetter # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI @@ -948,20 +974,24 @@ FFDA..FFDC ; ALetter # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 11332..11333 ; ALetter # Lo [2] GRANTHA LETTER LA..GRANTHA LETTER LLA 11335..11339 ; ALetter # Lo [5] GRANTHA LETTER VA..GRANTHA LETTER HA 1133D ; ALetter # Lo GRANTHA SIGN AVAGRAHA +11350 ; ALetter # Lo GRANTHA OM 1135D..11361 ; ALetter # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL 11480..114AF ; ALetter # Lo [48] TIRHUTA ANJI..TIRHUTA LETTER HA 114C4..114C5 ; ALetter # Lo [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG 114C7 ; ALetter # Lo TIRHUTA OM 11580..115AE ; ALetter # Lo [47] SIDDHAM LETTER A..SIDDHAM LETTER HA +115D8..115DB ; ALetter # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U 11600..1162F ; ALetter # Lo [48] MODI LETTER A..MODI LETTER LLA 11644 ; ALetter # Lo MODI SIGN HUVA 11680..116AA ; ALetter # Lo [43] TAKRI LETTER A..TAKRI LETTER RRA 118A0..118DF ; ALetter # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO 118FF ; ALetter # Lo WARANG CITI OM 11AC0..11AF8 ; ALetter # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -12000..12398 ; ALetter # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME +12000..12399 ; ALetter # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U 12400..1246E ; ALetter # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM +12480..12543 ; ALetter # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU 13000..1342E ; ALetter # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 +14400..14646 ; ALetter # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 16800..16A38 ; ALetter # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ 16A40..16A5E ; ALetter # Lo [31] MRO LETTER TA..MRO LETTER TEK 16AD0..16AED ; ALetter # Lo [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I @@ -1044,7 +1074,7 @@ FFDA..FFDC ; ALetter # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL 1F150..1F169 ; ALetter # So [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z 1F170..1F189 ; ALetter # So [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z -# Total code points: 26647 +# Total code points: 27697 # ================================================ @@ -1139,12 +1169,13 @@ ABF0..ABF9 ; Numeric # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT N 114D0..114D9 ; Numeric # Nd [10] TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE 11650..11659 ; Numeric # Nd [10] MODI DIGIT ZERO..MODI DIGIT NINE 116C0..116C9 ; Numeric # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE +11730..11739 ; Numeric # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE 118E0..118E9 ; Numeric # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE 16A60..16A69 ; Numeric # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE 16B50..16B59 ; Numeric # Nd [10] PAHAWH HMONG DIGIT ZERO..PAHAWH HMONG DIGIT NINE 1D7CE..1D7FF ; Numeric # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE -# Total code points: 531 +# Total code points: 541 # ================================================ diff --git a/lib/unicore/extracted/DBidiClass.txt b/lib/unicore/extracted/DBidiClass.txt index a5004b8..9ec885e 100644 --- a/lib/unicore/extracted/DBidiClass.txt +++ b/lib/unicore/extracted/DBidiClass.txt @@ -1,8 +1,8 @@ -# DerivedBidiClass-7.0.0.txt -# Date: 2014-02-07, 18:42:07 GMT [MD] +# DerivedBidiClass-8.0.0.txt +# Date: 2015-02-13, 13:47:08 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ @@ -165,6 +165,7 @@ 0AE0..0AE1 ; L # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL 0AE6..0AEF ; L # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE 0AF0 ; L # Po GUJARATI ABBREVIATION SIGN +0AF9 ; L # Lo GUJARATI LETTER ZHA 0B02..0B03 ; L # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA 0B05..0B0C ; L # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L 0B0F..0B10 ; L # Lo [2] ORIYA LETTER E..ORIYA LETTER AI @@ -209,7 +210,7 @@ 0C2A..0C39 ; L # Lo [16] TELUGU LETTER PA..TELUGU LETTER HA 0C3D ; L # Lo TELUGU SIGN AVAGRAHA 0C41..0C44 ; L # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR -0C58..0C59 ; L # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA +0C58..0C5A ; L # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA 0C60..0C61 ; L # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL 0C66..0C6F ; L # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE 0C7F ; L # So TELUGU SIGN TUUMU @@ -241,7 +242,7 @@ 0D4A..0D4C ; L # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU 0D4E ; L # Lo MALAYALAM LETTER DOT REPH 0D57 ; L # Mc MALAYALAM AU LENGTH MARK -0D60..0D61 ; L # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL +0D5F..0D61 ; L # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL 0D66..0D6F ; L # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE 0D70..0D75 ; L # No [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS 0D79 ; L # So MALAYALAM DATE MARK @@ -355,7 +356,8 @@ 1360..1368 ; L # Po [9] ETHIOPIC SECTION MARK..ETHIOPIC PARAGRAPH SEPARATOR 1369..137C ; L # No [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND 1380..138F ; L # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE -13A0..13F4 ; L # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV +13A0..13F5 ; L # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV +13F8..13FD ; L # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1401..166C ; L # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA 166D..166E ; L # Po [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP 166F..167F ; L # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W @@ -396,9 +398,7 @@ 1950..196D ; L # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI 1970..1974 ; L # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 1980..19AB ; L # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA -19B0..19C0 ; L # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY -19C1..19C7 ; L # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B -19C8..19C9 ; L # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 +19B0..19C9 ; L # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 19D0..19D9 ; L # Nd [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE 19DA ; L # No NEW TAI LUE THAM DIGIT ONE 1A00..1A16 ; L # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA @@ -567,7 +567,7 @@ 337B..33DD ; L # So [99] SQUARE ERA NAME HEISEI..SQUARE WB 33E0..33FE ; L # So [31] IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE..IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE 3400..4DB5 ; L # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 -4E00..9FCC ; L # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC +4E00..9FD5 ; L # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 A000..A014 ; L # Lo [21] YI SYLLABLE IT..YI SYLLABLE E A015 ; L # Lm YI SYLLABLE WU A016..A48C ; L # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR @@ -591,8 +591,9 @@ A770 ; L # Lm MODIFIER LETTER US A771..A787 ; L # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T A789..A78A ; L # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN A78B..A78E ; L # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT +A78F ; L # Lo LATIN LETTER SINOLOGICAL DOT A790..A7AD ; L # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; L # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B7 ; L # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA A7F7 ; L # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I A7F8..A7F9 ; L # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE A7FA ; L # L& LATIN LETTER SMALL CAPITAL TURNED M @@ -613,6 +614,8 @@ A8D0..A8D9 ; L # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE A8F2..A8F7 ; L # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA A8F8..A8FA ; L # Po [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET A8FB ; L # Lo DEVANAGARI HEADSTROKE +A8FC ; L # Po DEVANAGARI SIGN SIDDHAM +A8FD ; L # Lo DEVANAGARI JAIN OM A900..A909 ; L # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE A90A..A925 ; L # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO A92E..A92F ; L # Po [2] KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA @@ -673,7 +676,8 @@ AB28..AB2E ; L # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO AB30..AB5A ; L # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG AB5B ; L # Sk MODIFIER BREVE WITH INVERTED BREVE AB5C..AB5F ; L # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB64..AB65 ; L # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA +AB60..AB65 ; L # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA +AB70..ABBF ; L # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA ABC0..ABE2 ; L # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM ABE3..ABE4 ; L # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP ABE6..ABE7 ; L # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP @@ -762,10 +766,13 @@ FFDA..FFDC ; L # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER 111B3..111B5 ; L # Mc [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II 111BF..111C0 ; L # Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA 111C1..111C4 ; L # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM -111C5..111C8 ; L # Po [4] SHARADA DANDA..SHARADA SEPARATOR +111C5..111C9 ; L # Po [5] SHARADA DANDA..SHARADA SANDHI MARK 111CD ; L # Po SHARADA SUTRA MARK 111D0..111D9 ; L # Nd [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE 111DA ; L # Lo SHARADA EKAM +111DB ; L # Po SHARADA SIGN SIDDHAM +111DC ; L # Lo SHARADA HEADSTROKE +111DD..111DF ; L # Po [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2 111E1..111F4 ; L # No [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND 11200..11211 ; L # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA 11213..1122B ; L # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA @@ -773,6 +780,12 @@ FFDA..FFDC ; L # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER 11232..11233 ; L # Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU 11235 ; L # Mc KHOJKI SIGN VIRAMA 11238..1123D ; L # Po [6] KHOJKI DANDA..KHOJKI ABBREVIATION SIGN +11280..11286 ; L # Lo [7] MULTANI LETTER A..MULTANI LETTER GA +11288 ; L # Lo MULTANI LETTER GHA +1128A..1128D ; L # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D ; L # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8 ; L # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA +112A9 ; L # Po MULTANI SECTION MARK 112B0..112DE ; L # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA 112E0..112E2 ; L # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II 112F0..112F9 ; L # Nd [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE @@ -788,6 +801,7 @@ FFDA..FFDC ; L # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER 11341..11344 ; L # Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR 11347..11348 ; L # Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI 1134B..1134D ; L # Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA +11350 ; L # Lo GRANTHA OM 11357 ; L # Mc GRANTHA AU LENGTH MARK 1135D..11361 ; L # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL 11362..11363 ; L # Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL @@ -804,7 +818,8 @@ FFDA..FFDC ; L # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER 115AF..115B1 ; L # Mc [3] SIDDHAM VOWEL SIGN AA..SIDDHAM VOWEL SIGN II 115B8..115BB ; L # Mc [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU 115BE ; L # Mc SIDDHAM SIGN VISARGA -115C1..115C9 ; L # Po [9] SIDDHAM SIGN SIDDHAM..SIDDHAM END OF TEXT MARK +115C1..115D7 ; L # Po [23] SIDDHAM SIGN SIDDHAM..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES +115D8..115DB ; L # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U 11600..1162F ; L # Lo [48] MODI LETTER A..MODI LETTER LLA 11630..11632 ; L # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II 1163B..1163C ; L # Mc [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU @@ -817,15 +832,24 @@ FFDA..FFDC ; L # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER 116AE..116AF ; L # Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II 116B6 ; L # Mc TAKRI SIGN VIRAMA 116C0..116C9 ; L # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE +11700..11719 ; L # Lo [26] AHOM LETTER KA..AHOM LETTER JHA +11720..11721 ; L # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11726 ; L # Mc AHOM VOWEL SIGN E +11730..11739 ; L # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE +1173A..1173B ; L # No [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY +1173C..1173E ; L # Po [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI +1173F ; L # So AHOM SYMBOL VI 118A0..118DF ; L # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO 118E0..118E9 ; L # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE 118EA..118F2 ; L # No [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY 118FF ; L # Lo WARANG CITI OM 11AC0..11AF8 ; L # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -12000..12398 ; L # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME +12000..12399 ; L # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U 12400..1246E ; L # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM 12470..12474 ; L # Po [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON +12480..12543 ; L # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU 13000..1342E ; L # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 +14400..14646 ; L # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 16800..16A38 ; L # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ 16A40..16A5E ; L # Lo [31] MRO LETTER TA..MRO LETTER TEK 16A60..16A69 ; L # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE @@ -861,7 +885,7 @@ FFDA..FFDC ; L # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER 1D16D..1D172 ; L # Mc [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5 1D183..1D184 ; L # So [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN 1D18C..1D1A9 ; L # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH -1D1AE..1D1DD ; L # So [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS +1D1AE..1D1E8 ; L # So [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN 1D360..1D371 ; L # No [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE 1D400..1D454 ; L # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G 1D456..1D49C ; L # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A @@ -898,6 +922,12 @@ FFDA..FFDC ; L # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER 1D7A9 ; L # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA 1D7AA..1D7C2 ; L # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA 1D7C4..1D7CB ; L # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA +1D800..1D9FF ; L # So [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD +1DA37..1DA3A ; L # So [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE +1DA6D..1DA74 ; L # So [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING +1DA76..1DA83 ; L # So [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH +1DA85..1DA86 ; L # So [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS +1DA87..1DA8B ; L # Po [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS 1F110..1F12E ; L # So [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ 1F130..1F169 ; L # So [58] SQUARED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z 1F170..1F19A ; L # So [43] NEGATIVE SQUARED LATIN CAPITAL LETTER A..SQUARED VS @@ -908,12 +938,13 @@ FFDA..FFDC ; L # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER 20000..2A6D6 ; L # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 2A700..2B734 ; L # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 2B740..2B81D ; L # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D +2B820..2CEA1 ; L # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 2F800..2FA1D ; L # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D F0000..FFFFD ; L # Co [65534] .. 100000..10FFFD; L # Co [65534] .. -# The above property value applies to 856513 code points not listed here. -# Total code points: 1097670 +# The above property value applies to 848999 code points not listed here. +# Total code points: 1097474 # ================================================ @@ -980,7 +1011,12 @@ FB46..FB4F ; R # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATURE AL 10880..1089E ; R # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW 1089F..108A6 ; R # Cn [8] .. 108A7..108AF ; R # No [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED -108B0..108FF ; R # Cn [80] .. +108B0..108DF ; R # Cn [48] .. +108E0..108F2 ; R # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F3 ; R # Cn +108F4..108F5 ; R # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW +108F6..108FA ; R # Cn [5] .. +108FB..108FF ; R # No [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED 10900..10915 ; R # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU 10916..1091B ; R # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE 1091C..1091E ; R # Cn [3] .. @@ -989,9 +1025,12 @@ FB46..FB4F ; R # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATURE AL 1093F ; R # Po LYDIAN TRIANGULAR MARK 10940..1097F ; R # Cn [64] .. 10980..109B7 ; R # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA -109B8..109BD ; R # Cn [6] .. +109B8..109BB ; R # Cn [4] .. +109BC..109BD ; R # No [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF 109BE..109BF ; R # Lo [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN -109C0..109FF ; R # Cn [64] .. +109C0..109CF ; R # No [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY +109D0..109D1 ; R # Cn [2] .. +109D2..109FF ; R # No [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS 10A00 ; R # Lo KHAROSHTHI LETTER A 10A04 ; R # Cn 10A07..10A0B ; R # Cn [5] .. @@ -1034,7 +1073,13 @@ FB46..FB4F ; R # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATURE AL 10BA9..10BAF ; R # No [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED 10BB0..10BFF ; R # Cn [80] .. 10C00..10C48 ; R # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH -10C49..10E5F ; R # Cn [535] .. +10C49..10C7F ; R # Cn [55] .. +10C80..10CB2 ; R # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CB3..10CBF ; R # Cn [13] .. +10CC0..10CF2 ; R # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US +10CF3..10CF9 ; R # Cn [7] .. +10CFA..10CFF ; R # No [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND +10D00..10E5F ; R # Cn [352] .. 10E7F..10FFF ; R # Cn [385] .. 1E800..1E8C4 ; R # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON 1E8C5..1E8C6 ; R # Cn [2] .. @@ -1100,8 +1145,8 @@ FF0D ; ES # Pd FULLWIDTH HYPHEN-MINUS 0E3F ; ET # Sc THAI CURRENCY SYMBOL BAHT 17DB ; ET # Sc KHMER CURRENCY SYMBOL RIEL 2030..2034 ; ET # Po [5] PER MILLE SIGN..TRIPLE PRIME -20A0..20BD ; ET # Sc [30] EURO-CURRENCY SIGN..RUBLE SIGN -20BE..20CF ; ET # Cn [18] .. +20A0..20BE ; ET # Sc [31] EURO-CURRENCY SIGN..LARI SIGN +20BF..20CF ; ET # Cn [17] .. 212E ; ET # So ESTIMATED SYMBOL 2213 ; ET # Sm MINUS-OR-PLUS SIGN A838 ; ET # Sc NORTH INDIC RUPEE MARK @@ -1316,6 +1361,7 @@ FF1A ; CS # Po FULLWIDTH COLON 214C..214D ; ON # So [2] PER SIGN..AKTIESELSKAB 2150..215F ; ON # No [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE 2189 ; ON # No VULGAR FRACTION ZERO THIRDS +218A..218B ; ON # So [2] TURNED DIGIT TWO..TURNED DIGIT THREE 2190..2194 ; ON # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW 2195..2199 ; ON # So [5] UP DOWN ARROW..SOUTH WEST ARROW 219A..219B ; ON # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE @@ -1441,6 +1487,7 @@ FF1A ; CS # Po FULLWIDTH COLON 2B98..2BB9 ; ON # So [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX 2BBD..2BC8 ; ON # So [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED 2BCA..2BD1 ; ON # So [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN +2BEC..2BEF ; ON # So [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS 2CE5..2CEA ; ON # So [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA 2CF9..2CFC ; ON # Po [4] COPTIC OLD NUBIAN FULL STOP..COPTIC OLD NUBIAN VERSE DIVIDER 2CFD ; ON # No COPTIC FRACTION ONE HALF @@ -1645,16 +1692,11 @@ FFFC..FFFD ; ON # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTE 1F0D1..1F0F5 ; ON # So [37] PLAYING CARD ACE OF CLUBS..PLAYING CARD TRUMP-21 1F10B..1F10C ; ON # No [2] DINGBAT CIRCLED SANS-SERIF DIGIT ZERO..DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ZERO 1F16A..1F16B ; ON # So [2] RAISED MC SIGN..RAISED MD SIGN -1F300..1F32C ; ON # So [45] CYCLONE..WIND BLOWING FACE -1F330..1F37D ; ON # So [78] CHESTNUT..FORK AND KNIFE WITH PLATE -1F380..1F3CE ; ON # So [79] RIBBON..RACING CAR -1F3D4..1F3F7 ; ON # So [36] SNOW CAPPED MOUNTAIN..LABEL -1F400..1F4FE ; ON # So [255] RAT..PORTABLE STEREO -1F500..1F54A ; ON # So [75] TWISTED RIGHTWARDS ARROWS..DOVE OF PEACE -1F550..1F579 ; ON # So [42] CLOCK FACE ONE OCLOCK..JOYSTICK +1F300..1F3FA ; ON # So [251] CYCLONE..AMPHORA +1F3FB..1F3FF ; ON # Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6 +1F400..1F579 ; ON # So [378] RAT..JOYSTICK 1F57B..1F5A3 ; ON # So [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX -1F5A5..1F642 ; ON # So [158] DESKTOP COMPUTER..SLIGHTLY SMILING FACE -1F645..1F6CF ; ON # So [139] FACE WITH NO GOOD GESTURE..BED +1F5A5..1F6D0 ; ON # So [300] DESKTOP COMPUTER..PLACE OF WORSHIP 1F6E0..1F6EC ; ON # So [13] HAMMER AND WRENCH..AIRPLANE ARRIVING 1F6F0..1F6F3 ; ON # So [4] SATELLITE..PASSENGER SHIP 1F700..1F773 ; ON # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE @@ -1664,8 +1706,11 @@ FFFC..FFFD ; ON # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTE 1F850..1F859 ; ON # So [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW 1F860..1F887 ; ON # So [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW 1F890..1F8AD ; ON # So [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS +1F910..1F918 ; ON # So [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS +1F980..1F984 ; ON # So [5] CRAB..UNICORN FACE +1F9C0 ; ON # So CHEESE WEDGE -# Total code points: 5126 +# Total code points: 5174 # ================================================ @@ -1739,7 +1784,7 @@ FFFFE..FFFFF ; BN # Cn [2] .. 0825..0827 ; NSM # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U 0829..082D ; NSM # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA 0859..085B ; NSM # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK -08E4..0902 ; NSM # Mn [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA +08E3..0902 ; NSM # Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA 093A ; NSM # Mn DEVANAGARI VOWEL SIGN OE 093C ; NSM # Mn DEVANAGARI SIGN NUKTA 0941..0948 ; NSM # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI @@ -1884,7 +1929,7 @@ FFFFE..FFFFF ; BN # Cn [2] .. A66F ; NSM # Mn COMBINING CYRILLIC VZMET A670..A672 ; NSM # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN A674..A67D ; NSM # Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK -A69F ; NSM # Mn COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F ; NSM # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E A6F0..A6F1 ; NSM # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS A802 ; NSM # Mn SYLOTI NAGRI SIGN DVISVARA A806 ; NSM # Mn SYLOTI NAGRI SIGN HASANTA @@ -1917,7 +1962,7 @@ ABE8 ; NSM # Mn MEETEI MAYEK VOWEL SIGN UNAP ABED ; NSM # Mn MEETEI MAYEK APUN IYEK FB1E ; NSM # Mn HEBREW POINT JUDEO-SPANISH VARIKA FE00..FE0F ; NSM # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 -FE20..FE2D ; NSM # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW +FE20..FE2F ; NSM # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF 101FD ; NSM # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE 102E0 ; NSM # Mn COPTIC EPACT THOUSANDS MARK 10376..1037A ; NSM # Mn [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII @@ -1938,12 +1983,13 @@ FE20..FE2D ; NSM # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOININ 11173 ; NSM # Mn MAHAJANI SIGN NUKTA 11180..11181 ; NSM # Mn [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA 111B6..111BE ; NSM # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O +111CA..111CC ; NSM # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK 1122F..11231 ; NSM # Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI 11234 ; NSM # Mn KHOJKI SIGN ANUSVARA 11236..11237 ; NSM # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA 112DF ; NSM # Mn KHUDAWADI SIGN ANUSVARA 112E3..112EA ; NSM # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA -11301 ; NSM # Mn GRANTHA SIGN CANDRABINDU +11300..11301 ; NSM # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 1133C ; NSM # Mn GRANTHA SIGN NUKTA 11340 ; NSM # Mn GRANTHA VOWEL SIGN II 11366..1136C ; NSM # Mn [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX @@ -1955,6 +2001,7 @@ FE20..FE2D ; NSM # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOININ 115B2..115B5 ; NSM # Mn [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR 115BC..115BD ; NSM # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 115BF..115C0 ; NSM # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA +115DC..115DD ; NSM # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11633..1163A ; NSM # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI 1163D ; NSM # Mn MODI SIGN ANUSVARA 1163F..11640 ; NSM # Mn [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA @@ -1962,6 +2009,9 @@ FE20..FE2D ; NSM # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOININ 116AD ; NSM # Mn TAKRI VOWEL SIGN AA 116B0..116B5 ; NSM # Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU 116B7 ; NSM # Mn TAKRI SIGN NUKTA +1171D..1171F ; NSM # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11722..11725 ; NSM # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11727..1172B ; NSM # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER 16AF0..16AF4 ; NSM # Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE 16B30..16B36 ; NSM # Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM 16F8F..16F92 ; NSM # Mn [4] MIAO TONE RIGHT..MIAO TONE BELOW @@ -1971,10 +2021,16 @@ FE20..FE2D ; NSM # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOININ 1D185..1D18B ; NSM # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE 1D1AA..1D1AD ; NSM # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO 1D242..1D244 ; NSM # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME +1DA00..1DA36 ; NSM # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN +1DA3B..1DA6C ; NSM # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT +1DA75 ; NSM # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA84 ; NSM # Mn SIGNWRITING LOCATION HEAD NECK +1DA9B..1DA9F ; NSM # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF ; NSM # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 1E8D0..1E8D6 ; NSM # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS E0100..E01EF ; NSM # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 -# Total code points: 1429 +# Total code points: 1578 # ================================================ @@ -2009,8 +2065,8 @@ E0100..E01EF ; NSM # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 074D..07A5 ; AL # Lo [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU 07B1 ; AL # Lo THAANA LETTER NAA 07B2..07BF ; AL # Cn [14] .. -08A0..08B2 ; AL # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE -08B3..08E3 ; AL # Cn [49] .. +08A0..08B4 ; AL # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW +08B5..08E2 ; AL # Cn [46] .. FB50..FBB1 ; AL # Lo [98] ARABIC LETTER ALEF WASLA ISOLATED FORM..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM FBB2..FBC1 ; AL # Sk [16] ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL SMALL TAH BELOW FBC2..FBD2 ; AL # Cn [17] .. @@ -2095,7 +2151,7 @@ FEFD..FEFE ; AL # Cn [2] .. 1EEBC..1EEEF ; AL # Cn [52] .. 1EEF2..1EEFF ; AL # Cn [14] .. -# Total code points: 1436 +# Total code points: 1435 # ================================================ diff --git a/lib/unicore/extracted/DBinaryProperties.txt b/lib/unicore/extracted/DBinaryProperties.txt index e623460..cb8b8f1 100644 --- a/lib/unicore/extracted/DBinaryProperties.txt +++ b/lib/unicore/extracted/DBinaryProperties.txt @@ -1,8 +1,8 @@ -# DerivedBinaryProperties-7.0.0.txt -# Date: 2013-11-27, 09:54:31 GMT [MD] +# DerivedBinaryProperties-8.0.0.txt +# Date: 2015-02-13, 13:47:09 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2013 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ diff --git a/lib/unicore/extracted/DCombiningClass.txt b/lib/unicore/extracted/DCombiningClass.txt index f7548d9..a81c56d 100644 --- a/lib/unicore/extracted/DCombiningClass.txt +++ b/lib/unicore/extracted/DCombiningClass.txt @@ -1,8 +1,8 @@ -# DerivedCombiningClass-7.0.0.txt -# Date: 2014-02-07, 18:42:08 GMT [MD] +# DerivedCombiningClass-8.0.0.txt +# Date: 2015-02-13, 13:47:09 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ @@ -177,7 +177,7 @@ 0830..083E ; 0 # Po [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU 0840..0858 ; 0 # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN 085E ; 0 # Po MANDAIC PUNCTUATION -08A0..08B2 ; 0 # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE +08A0..08B4 ; 0 # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW 0900..0902 ; 0 # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA 0903 ; 0 # Mc DEVANAGARI SIGN VISARGA 0904..0939 ; 0 # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA @@ -261,6 +261,7 @@ 0AE6..0AEF ; 0 # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE 0AF0 ; 0 # Po GUJARATI ABBREVIATION SIGN 0AF1 ; 0 # Sc GUJARATI RUPEE SIGN +0AF9 ; 0 # Lo GUJARATI LETTER ZHA 0B01 ; 0 # Mn ORIYA SIGN CANDRABINDU 0B02..0B03 ; 0 # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA 0B05..0B0C ; 0 # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L @@ -319,7 +320,7 @@ 0C41..0C44 ; 0 # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR 0C46..0C48 ; 0 # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI 0C4A..0C4C ; 0 # Mn [3] TELUGU VOWEL SIGN O..TELUGU VOWEL SIGN AU -0C58..0C59 ; 0 # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA +0C58..0C5A ; 0 # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA 0C60..0C61 ; 0 # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL 0C62..0C63 ; 0 # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL 0C66..0C6F ; 0 # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE @@ -358,7 +359,7 @@ 0D4A..0D4C ; 0 # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU 0D4E ; 0 # Lo MALAYALAM LETTER DOT REPH 0D57 ; 0 # Mc MALAYALAM AU LENGTH MARK -0D60..0D61 ; 0 # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL +0D5F..0D61 ; 0 # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL 0D62..0D63 ; 0 # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL 0D66..0D6F ; 0 # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE 0D70..0D75 ; 0 # No [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS @@ -504,7 +505,8 @@ 1369..137C ; 0 # No [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND 1380..138F ; 0 # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE 1390..1399 ; 0 # So [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT -13A0..13F4 ; 0 # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV +13A0..13F5 ; 0 # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV +13F8..13FD ; 0 # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1400 ; 0 # Pd CANADIAN SYLLABICS HYPHEN 1401..166C ; 0 # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA 166D..166E ; 0 # Po [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP @@ -570,9 +572,7 @@ 1950..196D ; 0 # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI 1970..1974 ; 0 # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 1980..19AB ; 0 # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA -19B0..19C0 ; 0 # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY -19C1..19C7 ; 0 # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B -19C8..19C9 ; 0 # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 +19B0..19C9 ; 0 # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 19D0..19D9 ; 0 # Nd [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE 19DA ; 0 # No NEW TAI LUE THAM DIGIT ONE 19DE..19FF ; 0 # So [34] NEW TAI LUE SIGN LAE..KHMER SYMBOL DAP-PRAM ROC @@ -725,7 +725,7 @@ 208D ; 0 # Ps SUBSCRIPT LEFT PARENTHESIS 208E ; 0 # Pe SUBSCRIPT RIGHT PARENTHESIS 2090..209C ; 0 # Lm [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T -20A0..20BD ; 0 # Sc [30] EURO-CURRENCY SIGN..RUBLE SIGN +20A0..20BE ; 0 # Sc [31] EURO-CURRENCY SIGN..LARI SIGN 20DD..20E0 ; 0 # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH 20E2..20E4 ; 0 # Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE 2100..2101 ; 0 # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT @@ -765,6 +765,7 @@ 2183..2184 ; 0 # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C 2185..2188 ; 0 # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND 2189 ; 0 # No VULGAR FRACTION ZERO THIRDS +218A..218B ; 0 # So [2] TURNED DIGIT TWO..TURNED DIGIT THREE 2190..2194 ; 0 # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW 2195..2199 ; 0 # So [5] UP DOWN ARROW..SOUTH WEST ARROW 219A..219B ; 0 # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE @@ -888,6 +889,7 @@ 2B98..2BB9 ; 0 # So [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX 2BBD..2BC8 ; 0 # So [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED 2BCA..2BD1 ; 0 # So [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN +2BEC..2BEF ; 0 # So [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS 2C00..2C2E ; 0 # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE 2C30..2C5E ; 0 # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE 2C60..2C7B ; 0 # L& [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E @@ -1024,7 +1026,7 @@ 3300..33FF ; 0 # So [256] SQUARE APAATO..SQUARE GAL 3400..4DB5 ; 0 # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 4DC0..4DFF ; 0 # So [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION -4E00..9FCC ; 0 # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC +4E00..9FD5 ; 0 # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 A000..A014 ; 0 # Lo [21] YI SYLLABLE IT..YI SYLLABLE E A015 ; 0 # Lm YI SYLLABLE WU A016..A48C ; 0 # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR @@ -1058,8 +1060,9 @@ A771..A787 ; 0 # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR A788 ; 0 # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT A789..A78A ; 0 # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN A78B..A78E ; 0 # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT +A78F ; 0 # Lo LATIN LETTER SINOLOGICAL DOT A790..A7AD ; 0 # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; 0 # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B7 ; 0 # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA A7F7 ; 0 # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I A7F8..A7F9 ; 0 # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE A7FA ; 0 # L& LATIN LETTER SMALL CAPITAL TURNED M @@ -1087,6 +1090,8 @@ A8D0..A8D9 ; 0 # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE A8F2..A8F7 ; 0 # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA A8F8..A8FA ; 0 # Po [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET A8FB ; 0 # Lo DEVANAGARI HEADSTROKE +A8FC ; 0 # Po DEVANAGARI SIGN SIDDHAM +A8FD ; 0 # Lo DEVANAGARI JAIN OM A900..A909 ; 0 # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE A90A..A925 ; 0 # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO A926..A92A ; 0 # Mn [5] KAYAH LI VOWEL UE..KAYAH LI VOWEL O @@ -1160,7 +1165,8 @@ AB28..AB2E ; 0 # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO AB30..AB5A ; 0 # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG AB5B ; 0 # Sk MODIFIER BREVE WITH INVERTED BREVE AB5C..AB5F ; 0 # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB64..AB65 ; 0 # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA +AB60..AB65 ; 0 # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA +AB70..ABBF ; 0 # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA ABC0..ABE2 ; 0 # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM ABE3..ABE4 ; 0 # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP ABE5 ; 0 # Mn MEETEI MAYEK VOWEL SIGN ANAP @@ -1351,13 +1357,19 @@ FFFC..FFFD ; 0 # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER 10879..1087F ; 0 # No [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY 10880..1089E ; 0 # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW 108A7..108AF ; 0 # No [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED +108E0..108F2 ; 0 # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F4..108F5 ; 0 # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW +108FB..108FF ; 0 # No [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED 10900..10915 ; 0 # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU 10916..1091B ; 0 # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE 1091F ; 0 # Po PHOENICIAN WORD SEPARATOR 10920..10939 ; 0 # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C 1093F ; 0 # Po LYDIAN TRIANGULAR MARK 10980..109B7 ; 0 # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA +109BC..109BD ; 0 # No [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF 109BE..109BF ; 0 # Lo [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN +109C0..109CF ; 0 # No [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY +109D2..109FF ; 0 # No [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS 10A00 ; 0 # Lo KHAROSHTHI LETTER A 10A01..10A03 ; 0 # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R 10A05..10A06 ; 0 # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O @@ -1388,6 +1400,9 @@ FFFC..FFFD ; 0 # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER 10B99..10B9C ; 0 # Po [4] PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT 10BA9..10BAF ; 0 # No [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED 10C00..10C48 ; 0 # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH +10C80..10CB2 ; 0 # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CC0..10CF2 ; 0 # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US +10CFA..10CFF ; 0 # No [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND 10E60..10E7E ; 0 # No [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS 11000 ; 0 # Mc BRAHMI SIGN CANDRABINDU 11001 ; 0 # Mn BRAHMI SIGN ANUSVARA @@ -1424,10 +1439,14 @@ FFFC..FFFD ; 0 # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER 111B6..111BE ; 0 # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O 111BF ; 0 # Mc SHARADA VOWEL SIGN AU 111C1..111C4 ; 0 # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM -111C5..111C8 ; 0 # Po [4] SHARADA DANDA..SHARADA SEPARATOR +111C5..111C9 ; 0 # Po [5] SHARADA DANDA..SHARADA SANDHI MARK +111CB..111CC ; 0 # Mn [2] SHARADA VOWEL MODIFIER MARK..SHARADA EXTRA SHORT VOWEL MARK 111CD ; 0 # Po SHARADA SUTRA MARK 111D0..111D9 ; 0 # Nd [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE 111DA ; 0 # Lo SHARADA EKAM +111DB ; 0 # Po SHARADA SIGN SIDDHAM +111DC ; 0 # Lo SHARADA HEADSTROKE +111DD..111DF ; 0 # Po [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2 111E1..111F4 ; 0 # No [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND 11200..11211 ; 0 # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA 11213..1122B ; 0 # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA @@ -1437,12 +1456,18 @@ FFFC..FFFD ; 0 # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER 11234 ; 0 # Mn KHOJKI SIGN ANUSVARA 11237 ; 0 # Mn KHOJKI SIGN SHADDA 11238..1123D ; 0 # Po [6] KHOJKI DANDA..KHOJKI ABBREVIATION SIGN +11280..11286 ; 0 # Lo [7] MULTANI LETTER A..MULTANI LETTER GA +11288 ; 0 # Lo MULTANI LETTER GHA +1128A..1128D ; 0 # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D ; 0 # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8 ; 0 # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA +112A9 ; 0 # Po MULTANI SECTION MARK 112B0..112DE ; 0 # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA 112DF ; 0 # Mn KHUDAWADI SIGN ANUSVARA 112E0..112E2 ; 0 # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II 112E3..112E8 ; 0 # Mn [6] KHUDAWADI VOWEL SIGN U..KHUDAWADI VOWEL SIGN AU 112F0..112F9 ; 0 # Nd [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE -11301 ; 0 # Mn GRANTHA SIGN CANDRABINDU +11300..11301 ; 0 # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 11302..11303 ; 0 # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA 11305..1130C ; 0 # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L 1130F..11310 ; 0 # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI @@ -1456,6 +1481,7 @@ FFFC..FFFD ; 0 # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER 11341..11344 ; 0 # Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR 11347..11348 ; 0 # Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI 1134B..1134C ; 0 # Mc [2] GRANTHA VOWEL SIGN OO..GRANTHA VOWEL SIGN AU +11350 ; 0 # Lo GRANTHA OM 11357 ; 0 # Mc GRANTHA AU LENGTH MARK 1135D..11361 ; 0 # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL 11362..11363 ; 0 # Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL @@ -1477,7 +1503,9 @@ FFFC..FFFD ; 0 # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER 115B8..115BB ; 0 # Mc [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU 115BC..115BD ; 0 # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 115BE ; 0 # Mc SIDDHAM SIGN VISARGA -115C1..115C9 ; 0 # Po [9] SIDDHAM SIGN SIDDHAM..SIDDHAM END OF TEXT MARK +115C1..115D7 ; 0 # Po [23] SIDDHAM SIGN SIDDHAM..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES +115D8..115DB ; 0 # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U +115DC..115DD ; 0 # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11600..1162F ; 0 # Lo [48] MODI LETTER A..MODI LETTER LLA 11630..11632 ; 0 # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II 11633..1163A ; 0 # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI @@ -1495,15 +1523,27 @@ FFFC..FFFD ; 0 # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER 116AE..116AF ; 0 # Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II 116B0..116B5 ; 0 # Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU 116C0..116C9 ; 0 # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE +11700..11719 ; 0 # Lo [26] AHOM LETTER KA..AHOM LETTER JHA +1171D..1171F ; 0 # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11720..11721 ; 0 # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11722..11725 ; 0 # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11726 ; 0 # Mc AHOM VOWEL SIGN E +11727..1172A ; 0 # Mn [4] AHOM VOWEL SIGN AW..AHOM VOWEL SIGN AM +11730..11739 ; 0 # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE +1173A..1173B ; 0 # No [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY +1173C..1173E ; 0 # Po [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI +1173F ; 0 # So AHOM SYMBOL VI 118A0..118DF ; 0 # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO 118E0..118E9 ; 0 # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE 118EA..118F2 ; 0 # No [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY 118FF ; 0 # Lo WARANG CITI OM 11AC0..11AF8 ; 0 # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -12000..12398 ; 0 # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME +12000..12399 ; 0 # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U 12400..1246E ; 0 # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM 12470..12474 ; 0 # Po [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON +12480..12543 ; 0 # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU 13000..1342E ; 0 # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 +14400..14646 ; 0 # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 16800..16A38 ; 0 # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ 16A40..16A5E ; 0 # Lo [31] MRO LETTER TA..MRO LETTER TEK 16A60..16A69 ; 0 # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE @@ -1541,7 +1581,7 @@ FFFC..FFFD ; 0 # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER 1D173..1D17A ; 0 # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE 1D183..1D184 ; 0 # So [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN 1D18C..1D1A9 ; 0 # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH -1D1AE..1D1DD ; 0 # So [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS +1D1AE..1D1E8 ; 0 # So [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN 1D200..1D241 ; 0 # So [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54 1D245 ; 0 # So GREEK MUSICAL LEIMMA 1D300..1D356 ; 0 # So [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING @@ -1587,6 +1627,18 @@ FFFC..FFFD ; 0 # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER 1D7C3 ; 0 # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL 1D7C4..1D7CB ; 0 # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA 1D7CE..1D7FF ; 0 # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE +1D800..1D9FF ; 0 # So [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD +1DA00..1DA36 ; 0 # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN +1DA37..1DA3A ; 0 # So [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE +1DA3B..1DA6C ; 0 # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT +1DA6D..1DA74 ; 0 # So [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING +1DA75 ; 0 # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA76..1DA83 ; 0 # So [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH +1DA84 ; 0 # Mn SIGNWRITING LOCATION HEAD NECK +1DA85..1DA86 ; 0 # So [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS +1DA87..1DA8B ; 0 # Po [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS +1DA9B..1DA9F ; 0 # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF ; 0 # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 1E800..1E8C4 ; 0 # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON 1E8C7..1E8CF ; 0 # No [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE 1EE00..1EE03 ; 0 # Lo [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL @@ -1637,16 +1689,11 @@ FFFC..FFFD ; 0 # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER 1F210..1F23A ; 0 # So [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6 1F240..1F248 ; 0 # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557 1F250..1F251 ; 0 # So [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT -1F300..1F32C ; 0 # So [45] CYCLONE..WIND BLOWING FACE -1F330..1F37D ; 0 # So [78] CHESTNUT..FORK AND KNIFE WITH PLATE -1F380..1F3CE ; 0 # So [79] RIBBON..RACING CAR -1F3D4..1F3F7 ; 0 # So [36] SNOW CAPPED MOUNTAIN..LABEL -1F400..1F4FE ; 0 # So [255] RAT..PORTABLE STEREO -1F500..1F54A ; 0 # So [75] TWISTED RIGHTWARDS ARROWS..DOVE OF PEACE -1F550..1F579 ; 0 # So [42] CLOCK FACE ONE OCLOCK..JOYSTICK +1F300..1F3FA ; 0 # So [251] CYCLONE..AMPHORA +1F3FB..1F3FF ; 0 # Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6 +1F400..1F579 ; 0 # So [378] RAT..JOYSTICK 1F57B..1F5A3 ; 0 # So [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX -1F5A5..1F642 ; 0 # So [158] DESKTOP COMPUTER..SLIGHTLY SMILING FACE -1F645..1F6CF ; 0 # So [139] FACE WITH NO GOOD GESTURE..BED +1F5A5..1F6D0 ; 0 # So [300] DESKTOP COMPUTER..PLACE OF WORSHIP 1F6E0..1F6EC ; 0 # So [13] HAMMER AND WRENCH..AIRPLANE ARRIVING 1F6F0..1F6F3 ; 0 # So [4] SATELLITE..PASSENGER SHIP 1F700..1F773 ; 0 # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE @@ -1656,9 +1703,13 @@ FFFC..FFFD ; 0 # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER 1F850..1F859 ; 0 # So [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW 1F860..1F887 ; 0 # So [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW 1F890..1F8AD ; 0 # So [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS +1F910..1F918 ; 0 # So [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS +1F980..1F984 ; 0 # So [5] CRAB..UNICORN FACE +1F9C0 ; 0 # So CHEESE WEDGE 20000..2A6D6 ; 0 # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 2A700..2B734 ; 0 # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 2B740..2B81D ; 0 # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D +2B820..2CEA1 ; 0 # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 2F800..2FA1D ; 0 # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D E0001 ; 0 # Cf LANGUAGE TAG E0020..E007F ; 0 # Cf [96] TAG SPACE..CANCEL TAG @@ -1666,8 +1717,8 @@ E0100..E01EF ; 0 # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 F0000..FFFFD ; 0 # Co [65534] .. 100000..10FFFD; 0 # Co [65534] .. -# The above property value applies to 863623 code points not listed here. -# Total code points: 1113367 +# The above property value applies to 855907 code points not listed here. +# Total code points: 1113361 # ================================================ @@ -1704,6 +1755,7 @@ F0000..FFFFD ; 0 # Co [65534] .. A9B3 ; 7 # Mn JAVANESE SIGN CECAK TELU 110BA ; 7 # Mn KAITHI SIGN NUKTA 11173 ; 7 # Mn MAHAJANI SIGN NUKTA +111CA ; 7 # Mn SHARADA SIGN NUKTA 11236 ; 7 # Mn KHOJKI SIGN NUKTA 112E9 ; 7 # Mn KHUDAWADI SIGN NUKTA 1133C ; 7 # Mn GRANTHA SIGN NUKTA @@ -1711,7 +1763,7 @@ A9B3 ; 7 # Mn JAVANESE SIGN CECAK TELU 115C0 ; 7 # Mn SIDDHAM SIGN NUKTA 116B7 ; 7 # Mn TAKRI SIGN NUKTA -# Total code points: 19 +# Total code points: 20 # ================================================ @@ -1766,8 +1818,9 @@ ABED ; 9 # Mn MEETEI MAYEK APUN IYEK 115BF ; 9 # Mn SIDDHAM SIGN VIRAMA 1163F ; 9 # Mn MODI SIGN VIRAMA 116B6 ; 9 # Mc TAKRI SIGN VIRAMA +1172B ; 9 # Mn AHOM SIGN KILLER -# Total code points: 44 +# Total code points: 45 # ================================================ @@ -2139,6 +2192,7 @@ FB1E ; 26 # Mn HEBREW POINT JUDEO-SPANISH VARIKA 0748 ; 220 # Mn SYRIAC OBLIQUE LINE BELOW 07F2 ; 220 # Mn NKO COMBINING NASALIZATION MARK 0859..085B ; 220 # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK +08E3 ; 220 # Mn ARABIC TURNED DAMMA BELOW 08E6 ; 220 # Mn ARABIC CURLY KASRA 08E9 ; 220 # Mn ARABIC CURLY KASRATAN 08ED..08EF ; 220 # Mn [3] ARABIC TONE ONE DOT BELOW..ARABIC TONE LOOP BELOW @@ -2178,7 +2232,7 @@ FE27..FE2D ; 220 # Mn [7] COMBINING LIGATURE LEFT HALF BELOW..COMBINING CON 1D18A..1D18B ; 220 # Mn [2] MUSICAL SYMBOL COMBINING DOUBLE TONGUE..MUSICAL SYMBOL COMBINING TRIPLE TONGUE 1E8D0..1E8D6 ; 220 # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS -# Total code points: 152 +# Total code points: 153 # ================================================ @@ -2302,7 +2356,7 @@ FE27..FE2D ; 220 # Mn [7] COMBINING LIGATURE LEFT HALF BELOW..COMBINING CON 2DE0..2DFF ; 230 # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS A66F ; 230 # Mn COMBINING CYRILLIC VZMET A674..A67D ; 230 # Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK -A69F ; 230 # Mn COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F ; 230 # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E A6F0..A6F1 ; 230 # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS A8E0..A8F1 ; 230 # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA AAB0 ; 230 # Mn TAI VIET MAI KANG @@ -2311,6 +2365,7 @@ AAB7..AAB8 ; 230 # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA AABE..AABF ; 230 # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK AAC1 ; 230 # Mn TAI VIET TONE MAI THO FE20..FE26 ; 230 # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON +FE2E..FE2F ; 230 # Mn [2] COMBINING CYRILLIC TITLO LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF 10376..1037A ; 230 # Mn [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII 10A0F ; 230 # Mn KHAROSHTHI SIGN VISARGA 10A38 ; 230 # Mn KHAROSHTHI SIGN BAR ABOVE @@ -2323,7 +2378,7 @@ FE20..FE26 ; 230 # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOININ 1D1AA..1D1AD ; 230 # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO 1D242..1D244 ; 230 # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME -# Total code points: 399 +# Total code points: 402 # ================================================ diff --git a/lib/unicore/extracted/DDecompositionType.txt b/lib/unicore/extracted/DDecompositionType.txt index 0923ada..0d29e23 100644 --- a/lib/unicore/extracted/DDecompositionType.txt +++ b/lib/unicore/extracted/DDecompositionType.txt @@ -1,8 +1,8 @@ -# DerivedDecompositionType-7.0.0.txt -# Date: 2013-11-27, 09:54:33 GMT [MD] +# DerivedDecompositionType-8.0.0.txt +# Date: 2015-02-13, 13:47:11 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2013 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ diff --git a/lib/unicore/extracted/DEastAsianWidth.txt b/lib/unicore/extracted/DEastAsianWidth.txt index 1510bb5..5343f7e 100644 --- a/lib/unicore/extracted/DEastAsianWidth.txt +++ b/lib/unicore/extracted/DEastAsianWidth.txt @@ -1,8 +1,8 @@ -# DerivedEastAsianWidth-7.0.0.txt -# Date: 2014-02-07, 18:42:12 GMT [MD] +# DerivedEastAsianWidth-8.0.0.txt +# Date: 2015-02-13, 13:47:11 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ @@ -195,8 +195,8 @@ 0840..0858 ; N # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN 0859..085B ; N # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK 085E ; N # Po MANDAIC PUNCTUATION -08A0..08B2 ; N # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE -08E4..0902 ; N # Mn [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA +08A0..08B4 ; N # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW +08E3..0902 ; N # Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA 0903 ; N # Mc DEVANAGARI SIGN VISARGA 0904..0939 ; N # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA 093A ; N # Mn DEVANAGARI VOWEL SIGN OE @@ -286,6 +286,7 @@ 0AE6..0AEF ; N # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE 0AF0 ; N # Po GUJARATI ABBREVIATION SIGN 0AF1 ; N # Sc GUJARATI RUPEE SIGN +0AF9 ; N # Lo GUJARATI LETTER ZHA 0B01 ; N # Mn ORIYA SIGN CANDRABINDU 0B02..0B03 ; N # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA 0B05..0B0C ; N # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L @@ -348,7 +349,7 @@ 0C46..0C48 ; N # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI 0C4A..0C4D ; N # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA 0C55..0C56 ; N # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK -0C58..0C59 ; N # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA +0C58..0C5A ; N # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA 0C60..0C61 ; N # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL 0C62..0C63 ; N # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL 0C66..0C6F ; N # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE @@ -389,7 +390,7 @@ 0D4D ; N # Mn MALAYALAM SIGN VIRAMA 0D4E ; N # Lo MALAYALAM LETTER DOT REPH 0D57 ; N # Mc MALAYALAM AU LENGTH MARK -0D60..0D61 ; N # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL +0D5F..0D61 ; N # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL 0D62..0D63 ; N # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL 0D66..0D6F ; N # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE 0D70..0D75 ; N # No [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS @@ -543,7 +544,8 @@ 1369..137C ; N # No [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND 1380..138F ; N # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE 1390..1399 ; N # So [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT -13A0..13F4 ; N # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV +13A0..13F5 ; N # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV +13F8..13FD ; N # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1400 ; N # Pd CANADIAN SYLLABICS HYPHEN 1401..166C ; N # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA 166D..166E ; N # Po [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP @@ -611,9 +613,7 @@ 1950..196D ; N # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI 1970..1974 ; N # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 1980..19AB ; N # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA -19B0..19C0 ; N # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY -19C1..19C7 ; N # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B -19C8..19C9 ; N # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 +19B0..19C9 ; N # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 19D0..19D9 ; N # Nd [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE 19DA ; N # No NEW TAI LUE THAM DIGIT ONE 19DE..19FF ; N # So [34] NEW TAI LUE SIGN LAE..KHMER SYMBOL DAP-PRAM ROC @@ -784,7 +784,7 @@ 2090..209C ; N # Lm [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T 20A0..20A8 ; N # Sc [9] EURO-CURRENCY SIGN..RUPEE SIGN 20AA..20AB ; N # Sc [2] NEW SHEQEL SIGN..DONG SIGN -20AD..20BD ; N # Sc [17] KIP SIGN..RUBLE SIGN +20AD..20BE ; N # Sc [18] KIP SIGN..LARI SIGN 20D0..20DC ; N # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE 20DD..20E0 ; N # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH 20E1 ; N # Mn COMBINING LEFT RIGHT ARROW ABOVE @@ -831,6 +831,7 @@ 217A..2182 ; N # Nl [9] SMALL ROMAN NUMERAL ELEVEN..ROMAN NUMERAL TEN THOUSAND 2183..2184 ; N # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C 2185..2188 ; N # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND +218A..218B ; N # So [2] TURNED DIGIT TWO..TURNED DIGIT THREE 219A..219B ; N # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE 219C..219F ; N # So [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW 21A0 ; N # Sm RIGHTWARDS TWO HEADED ARROW @@ -997,6 +998,7 @@ 2B98..2BB9 ; N # So [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX 2BBD..2BC8 ; N # So [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED 2BCA..2BD1 ; N # So [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN +2BEC..2BEF ; N # So [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS 2C00..2C2E ; N # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE 2C30..2C5E ; N # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE 2C60..2C7B ; N # L& [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E @@ -1084,7 +1086,7 @@ A67E ; N # Po CYRILLIC KAVYKA A67F ; N # Lm CYRILLIC PAYEROK A680..A69B ; N # L& [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O A69C..A69D ; N # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN -A69F ; N # Mn COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F ; N # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E A6A0..A6E5 ; N # Lo [70] BAMUM LETTER A..BAMUM LETTER KI A6E6..A6EF ; N # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM A6F0..A6F1 ; N # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS @@ -1098,8 +1100,9 @@ A771..A787 ; N # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR A788 ; N # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT A789..A78A ; N # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN A78B..A78E ; N # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT +A78F ; N # Lo LATIN LETTER SINOLOGICAL DOT A790..A7AD ; N # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; N # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B7 ; N # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA A7F7 ; N # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I A7F8..A7F9 ; N # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE A7FA ; N # L& LATIN LETTER SMALL CAPITAL TURNED M @@ -1130,6 +1133,8 @@ A8E0..A8F1 ; N # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGA A8F2..A8F7 ; N # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA A8F8..A8FA ; N # Po [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET A8FB ; N # Lo DEVANAGARI HEADSTROKE +A8FC ; N # Po DEVANAGARI SIGN SIDDHAM +A8FD ; N # Lo DEVANAGARI JAIN OM A900..A909 ; N # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE A90A..A925 ; N # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO A926..A92D ; N # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU @@ -1209,7 +1214,8 @@ AB28..AB2E ; N # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO AB30..AB5A ; N # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG AB5B ; N # Sk MODIFIER BREVE WITH INVERTED BREVE AB5C..AB5F ; N # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB64..AB65 ; N # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA +AB60..AB65 ; N # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA +AB70..ABBF ; N # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA ABC0..ABE2 ; N # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM ABE3..ABE4 ; N # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP ABE5 ; N # Mn MEETEI MAYEK VOWEL SIGN ANAP @@ -1243,7 +1249,7 @@ FD92..FDC7 ; N # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FO FDF0..FDFB ; N # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU FDFC ; N # Sc RIAL SIGN FDFD ; N # So ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM -FE20..FE2D ; N # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW +FE20..FE2F ; N # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF FE70..FE74 ; N # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM FE76..FEFC ; N # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM FEFF ; N # Cf ZERO WIDTH NO-BREAK SPACE @@ -1308,13 +1314,19 @@ FFFC ; N # So OBJECT REPLACEMENT CHARACTER 10879..1087F ; N # No [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY 10880..1089E ; N # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW 108A7..108AF ; N # No [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED +108E0..108F2 ; N # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F4..108F5 ; N # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW +108FB..108FF ; N # No [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED 10900..10915 ; N # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU 10916..1091B ; N # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE 1091F ; N # Po PHOENICIAN WORD SEPARATOR 10920..10939 ; N # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C 1093F ; N # Po LYDIAN TRIANGULAR MARK 10980..109B7 ; N # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA +109BC..109BD ; N # No [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF 109BE..109BF ; N # Lo [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN +109C0..109CF ; N # No [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY +109D2..109FF ; N # No [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS 10A00 ; N # Lo KHAROSHTHI LETTER A 10A01..10A03 ; N # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R 10A05..10A06 ; N # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O @@ -1347,6 +1359,9 @@ FFFC ; N # So OBJECT REPLACEMENT CHARACTER 10B99..10B9C ; N # Po [4] PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT 10BA9..10BAF ; N # No [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED 10C00..10C48 ; N # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH +10C80..10CB2 ; N # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CC0..10CF2 ; N # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US +10CFA..10CFF ; N # No [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND 10E60..10E7E ; N # No [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS 11000 ; N # Mc BRAHMI SIGN CANDRABINDU 11001 ; N # Mn BRAHMI SIGN ANUSVARA @@ -1386,10 +1401,14 @@ FFFC ; N # So OBJECT REPLACEMENT CHARACTER 111B6..111BE ; N # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O 111BF..111C0 ; N # Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA 111C1..111C4 ; N # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM -111C5..111C8 ; N # Po [4] SHARADA DANDA..SHARADA SEPARATOR +111C5..111C9 ; N # Po [5] SHARADA DANDA..SHARADA SANDHI MARK +111CA..111CC ; N # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK 111CD ; N # Po SHARADA SUTRA MARK 111D0..111D9 ; N # Nd [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE 111DA ; N # Lo SHARADA EKAM +111DB ; N # Po SHARADA SIGN SIDDHAM +111DC ; N # Lo SHARADA HEADSTROKE +111DD..111DF ; N # Po [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2 111E1..111F4 ; N # No [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND 11200..11211 ; N # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA 11213..1122B ; N # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA @@ -1400,12 +1419,18 @@ FFFC ; N # So OBJECT REPLACEMENT CHARACTER 11235 ; N # Mc KHOJKI SIGN VIRAMA 11236..11237 ; N # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA 11238..1123D ; N # Po [6] KHOJKI DANDA..KHOJKI ABBREVIATION SIGN +11280..11286 ; N # Lo [7] MULTANI LETTER A..MULTANI LETTER GA +11288 ; N # Lo MULTANI LETTER GHA +1128A..1128D ; N # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D ; N # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8 ; N # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA +112A9 ; N # Po MULTANI SECTION MARK 112B0..112DE ; N # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA 112DF ; N # Mn KHUDAWADI SIGN ANUSVARA 112E0..112E2 ; N # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II 112E3..112EA ; N # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA 112F0..112F9 ; N # Nd [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE -11301 ; N # Mn GRANTHA SIGN CANDRABINDU +11300..11301 ; N # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 11302..11303 ; N # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA 11305..1130C ; N # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L 1130F..11310 ; N # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI @@ -1420,6 +1445,7 @@ FFFC ; N # So OBJECT REPLACEMENT CHARACTER 11341..11344 ; N # Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR 11347..11348 ; N # Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI 1134B..1134D ; N # Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA +11350 ; N # Lo GRANTHA OM 11357 ; N # Mc GRANTHA AU LENGTH MARK 1135D..11361 ; N # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL 11362..11363 ; N # Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL @@ -1445,7 +1471,9 @@ FFFC ; N # So OBJECT REPLACEMENT CHARACTER 115BC..115BD ; N # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 115BE ; N # Mc SIDDHAM SIGN VISARGA 115BF..115C0 ; N # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA -115C1..115C9 ; N # Po [9] SIDDHAM SIGN SIDDHAM..SIDDHAM END OF TEXT MARK +115C1..115D7 ; N # Po [23] SIDDHAM SIGN SIDDHAM..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES +115D8..115DB ; N # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U +115DC..115DD ; N # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11600..1162F ; N # Lo [48] MODI LETTER A..MODI LETTER LLA 11630..11632 ; N # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II 11633..1163A ; N # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI @@ -1465,15 +1493,27 @@ FFFC ; N # So OBJECT REPLACEMENT CHARACTER 116B6 ; N # Mc TAKRI SIGN VIRAMA 116B7 ; N # Mn TAKRI SIGN NUKTA 116C0..116C9 ; N # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE +11700..11719 ; N # Lo [26] AHOM LETTER KA..AHOM LETTER JHA +1171D..1171F ; N # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11720..11721 ; N # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11722..11725 ; N # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11726 ; N # Mc AHOM VOWEL SIGN E +11727..1172B ; N # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER +11730..11739 ; N # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE +1173A..1173B ; N # No [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY +1173C..1173E ; N # Po [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI +1173F ; N # So AHOM SYMBOL VI 118A0..118DF ; N # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO 118E0..118E9 ; N # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE 118EA..118F2 ; N # No [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY 118FF ; N # Lo WARANG CITI OM 11AC0..11AF8 ; N # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -12000..12398 ; N # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME +12000..12399 ; N # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U 12400..1246E ; N # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM 12470..12474 ; N # Po [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON +12480..12543 ; N # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU 13000..1342E ; N # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 +14400..14646 ; N # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 16800..16A38 ; N # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ 16A40..16A5E ; N # Lo [31] MRO LETTER TA..MRO LETTER TEK 16A60..16A69 ; N # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE @@ -1518,7 +1558,7 @@ FFFC ; N # So OBJECT REPLACEMENT CHARACTER 1D185..1D18B ; N # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE 1D18C..1D1A9 ; N # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH 1D1AA..1D1AD ; N # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO -1D1AE..1D1DD ; N # So [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS +1D1AE..1D1E8 ; N # So [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN 1D200..1D241 ; N # So [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54 1D242..1D244 ; N # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME 1D245 ; N # So GREEK MUSICAL LEIMMA @@ -1565,6 +1605,18 @@ FFFC ; N # So OBJECT REPLACEMENT CHARACTER 1D7C3 ; N # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL 1D7C4..1D7CB ; N # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA 1D7CE..1D7FF ; N # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE +1D800..1D9FF ; N # So [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD +1DA00..1DA36 ; N # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN +1DA37..1DA3A ; N # So [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE +1DA3B..1DA6C ; N # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT +1DA6D..1DA74 ; N # So [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING +1DA75 ; N # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA76..1DA83 ; N # So [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH +1DA84 ; N # Mn SIGNWRITING LOCATION HEAD NECK +1DA85..1DA86 ; N # So [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS +1DA87..1DA8B ; N # Po [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS +1DA9B..1DA9F ; N # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF ; N # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 1E800..1E8C4 ; N # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON 1E8C7..1E8CF ; N # No [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE 1E8D0..1E8D6 ; N # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS @@ -1612,16 +1664,11 @@ FFFC ; N # So OBJECT REPLACEMENT CHARACTER 1F12E ; N # So CIRCLED WZ 1F16A..1F16B ; N # So [2] RAISED MC SIGN..RAISED MD SIGN 1F1E6..1F1FF ; N # So [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z -1F300..1F32C ; N # So [45] CYCLONE..WIND BLOWING FACE -1F330..1F37D ; N # So [78] CHESTNUT..FORK AND KNIFE WITH PLATE -1F380..1F3CE ; N # So [79] RIBBON..RACING CAR -1F3D4..1F3F7 ; N # So [36] SNOW CAPPED MOUNTAIN..LABEL -1F400..1F4FE ; N # So [255] RAT..PORTABLE STEREO -1F500..1F54A ; N # So [75] TWISTED RIGHTWARDS ARROWS..DOVE OF PEACE -1F550..1F579 ; N # So [42] CLOCK FACE ONE OCLOCK..JOYSTICK +1F300..1F3FA ; N # So [251] CYCLONE..AMPHORA +1F3FB..1F3FF ; N # Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6 +1F400..1F579 ; N # So [378] RAT..JOYSTICK 1F57B..1F5A3 ; N # So [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX -1F5A5..1F642 ; N # So [158] DESKTOP COMPUTER..SLIGHTLY SMILING FACE -1F645..1F6CF ; N # So [139] FACE WITH NO GOOD GESTURE..BED +1F5A5..1F6D0 ; N # So [300] DESKTOP COMPUTER..PLACE OF WORSHIP 1F6E0..1F6EC ; N # So [13] HAMMER AND WRENCH..AIRPLANE ARRIVING 1F6F0..1F6F3 ; N # So [4] SATELLITE..PASSENGER SHIP 1F700..1F773 ; N # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE @@ -1631,10 +1678,13 @@ FFFC ; N # So OBJECT REPLACEMENT CHARACTER 1F850..1F859 ; N # So [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW 1F860..1F887 ; N # So [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW 1F890..1F8AD ; N # So [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS +1F910..1F918 ; N # So [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS +1F980..1F984 ; N # So [5] CRAB..UNICORN FACE +1F9C0 ; N # So CHEESE WEDGE E0001 ; N # Cf LANGUAGE TAG E0020..E007F ; N # Cf [96] TAG SPACE..CANCEL TAG -# The above property value applies to 780078 code points not listed here. +# The above property value applies to 778133 code points not listed here. # Total code points: 801894 # ================================================ @@ -1941,8 +1991,8 @@ FFED..FFEE ; H # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE 3300..33FF ; W # So [256] SQUARE APAATO..SQUARE GAL 3400..4DB5 ; W # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 4DB6..4DBF ; W # Cn [10] .. -4E00..9FCC ; W # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC -9FCD..9FFF ; W # Cn [51] .. +4E00..9FD5 ; W # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 +9FD6..9FFF ; W # Cn [42] .. A000..A014 ; W # Lo [21] YI SYLLABLE IT..YI SYLLABLE E A015 ; W # Lm YI SYLLABLE WU A016..A48C ; W # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR @@ -2007,7 +2057,9 @@ FE6A..FE6B ; W # Po [2] SMALL PERCENT SIGN..SMALL COMMERCIAL AT 2A700..2B734 ; W # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 2B735..2B73F ; W # Cn [11] .. 2B740..2B81D ; W # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D -2B81E..2F7FF ; W # Cn [16354] .. +2B81E..2B81F ; W # Cn [2] .. +2B820..2CEA1 ; W # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 +2CEA2..2F7FF ; W # Cn [10590] .. 2F800..2FA1D ; W # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D 2FA1E..2FFFD ; W # Cn [1504] .. 30000..3FFFD ; W # Cn [65534] .. diff --git a/lib/unicore/extracted/DGeneralCategory.txt b/lib/unicore/extracted/DGeneralCategory.txt index d16dc05..77c9b38 100644 --- a/lib/unicore/extracted/DGeneralCategory.txt +++ b/lib/unicore/extracted/DGeneralCategory.txt @@ -1,8 +1,8 @@ -# DerivedGeneralCategory-7.0.0.txt -# Date: 2014-02-07, 18:42:12 GMT [MD] +# DerivedGeneralCategory-8.0.0.txt +# Date: 2015-02-13, 13:47:11 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ @@ -37,7 +37,7 @@ 083F ; Cn # 085C..085D ; Cn # [2] .. 085F..089F ; Cn # [65] .. -08B3..08E3 ; Cn # [49] .. +08B5..08E2 ; Cn # [46] .. 0984 ; Cn # 098D..098E ; Cn # [2] .. 0991..0992 ; Cn # [2] .. @@ -80,7 +80,8 @@ 0ACE..0ACF ; Cn # [2] .. 0AD1..0ADF ; Cn # [15] .. 0AE4..0AE5 ; Cn # [2] .. -0AF2..0B00 ; Cn # [15] .. +0AF2..0AF8 ; Cn # [7] .. +0AFA..0B00 ; Cn # [7] .. 0B04 ; Cn # 0B0D..0B0E ; Cn # [2] .. 0B11..0B12 ; Cn # [2] .. @@ -120,7 +121,7 @@ 0C49 ; Cn # 0C4E..0C54 ; Cn # [7] .. 0C57 ; Cn # -0C5A..0C5F ; Cn # [6] .. +0C5B..0C5F ; Cn # [5] .. 0C64..0C65 ; Cn # [2] .. 0C70..0C77 ; Cn # [8] .. 0C80 ; Cn # @@ -145,7 +146,7 @@ 0D45 ; Cn # 0D49 ; Cn # 0D4F..0D56 ; Cn # [8] .. -0D58..0D5F ; Cn # [8] .. +0D58..0D5E ; Cn # [7] .. 0D64..0D65 ; Cn # [2] .. 0D76..0D78 ; Cn # [3] .. 0D80..0D81 ; Cn # [2] .. @@ -208,7 +209,8 @@ 135B..135C ; Cn # [2] .. 137D..137F ; Cn # [3] .. 139A..139F ; Cn # [6] .. -13F5..13FF ; Cn # [11] .. +13F6..13F7 ; Cn # [2] .. +13FE..13FF ; Cn # [2] .. 169D..169F ; Cn # [3] .. 16F9..16FF ; Cn # [7] .. 170D ; Cn # @@ -272,9 +274,9 @@ 2072..2073 ; Cn # [2] .. 208F ; Cn # 209D..209F ; Cn # [3] .. -20BE..20CF ; Cn # [18] .. +20BF..20CF ; Cn # [17] .. 20F1..20FF ; Cn # [15] .. -218A..218F ; Cn # [6] .. +218C..218F ; Cn # [4] .. 23FB..23FF ; Cn # [5] .. 2427..243F ; Cn # [25] .. 244B..245F ; Cn # [21] .. @@ -282,7 +284,8 @@ 2B96..2B97 ; Cn # [2] .. 2BBA..2BBC ; Cn # [3] .. 2BC9 ; Cn # -2BD2..2BFF ; Cn # [46] .. +2BD2..2BEB ; Cn # [26] .. +2BF0..2BFF ; Cn # [16] .. 2C2F ; Cn # 2C5F ; Cn # 2CF4..2CF8 ; Cn # [5] .. @@ -315,21 +318,19 @@ 321F ; Cn # 32FF ; Cn # 4DB6..4DBF ; Cn # [10] .. -9FCD..9FFF ; Cn # [51] .. +9FD6..9FFF ; Cn # [42] .. A48D..A48F ; Cn # [3] .. A4C7..A4CF ; Cn # [9] .. A62C..A63F ; Cn # [20] .. -A69E ; Cn # A6F8..A6FF ; Cn # [8] .. -A78F ; Cn # A7AE..A7AF ; Cn # [2] .. -A7B2..A7F6 ; Cn # [69] .. +A7B8..A7F6 ; Cn # [63] .. A82C..A82F ; Cn # [4] .. A83A..A83F ; Cn # [6] .. A878..A87F ; Cn # [8] .. A8C5..A8CD ; Cn # [9] .. A8DA..A8DF ; Cn # [6] .. -A8FC..A8FF ; Cn # [4] .. +A8FE..A8FF ; Cn # [2] .. A954..A95E ; Cn # [11] .. A97D..A97F ; Cn # [3] .. A9CE ; Cn # @@ -345,8 +346,7 @@ AB0F..AB10 ; Cn # [2] .. AB17..AB1F ; Cn # [9] .. AB27 ; Cn # AB2F ; Cn # -AB60..AB63 ; Cn # [4] .. -AB66..ABBF ; Cn # [90] .. +AB66..AB6F ; Cn # [10] .. ABEE..ABEF ; Cn # [2] .. ABFA..ABFF ; Cn # [6] .. D7A4..D7AF ; Cn # [12] .. @@ -367,7 +367,6 @@ FD90..FD91 ; Cn # [2] .. FDC8..FDEF ; Cn # [40] .. FDFE..FDFF ; Cn # [2] .. FE1A..FE1F ; Cn # [6] .. -FE2E..FE2F ; Cn # [2] .. FE53 ; Cn # FE67 ; Cn # FE6C..FE6F ; Cn # [4] .. @@ -419,12 +418,14 @@ FFFE..FFFF ; Cn # [2] .. 1083D..1083E ; Cn # [2] .. 10856 ; Cn # 1089F..108A6 ; Cn # [8] .. -108B0..108FF ; Cn # [80] .. +108B0..108DF ; Cn # [48] .. +108F3 ; Cn # +108F6..108FA ; Cn # [5] .. 1091C..1091E ; Cn # [3] .. 1093A..1093E ; Cn # [5] .. 10940..1097F ; Cn # [64] .. -109B8..109BD ; Cn # [6] .. -109C0..109FF ; Cn # [64] .. +109B8..109BB ; Cn # [4] .. +109D0..109D1 ; Cn # [2] .. 10A04 ; Cn # 10A07..10A0B ; Cn # [5] .. 10A14 ; Cn # @@ -442,7 +443,10 @@ FFFE..FFFF ; Cn # [2] .. 10B92..10B98 ; Cn # [7] .. 10B9D..10BA8 ; Cn # [12] .. 10BB0..10BFF ; Cn # [80] .. -10C49..10E5F ; Cn # [535] .. +10C49..10C7F ; Cn # [55] .. +10CB3..10CBF ; Cn # [13] .. +10CF3..10CF9 ; Cn # [7] .. +10D00..10E5F ; Cn # [352] .. 10E7F..10FFF ; Cn # [385] .. 1104E..11051 ; Cn # [4] .. 11070..1107E ; Cn # [15] .. @@ -452,14 +456,18 @@ FFFE..FFFF ; Cn # [2] .. 11135 ; Cn # 11144..1114F ; Cn # [12] .. 11177..1117F ; Cn # [9] .. -111C9..111CC ; Cn # [4] .. 111CE..111CF ; Cn # [2] .. -111DB..111E0 ; Cn # [6] .. +111E0 ; Cn # 111F5..111FF ; Cn # [11] .. 11212 ; Cn # -1123E..112AF ; Cn # [114] .. +1123E..1127F ; Cn # [66] .. +11287 ; Cn # +11289 ; Cn # +1128E ; Cn # +1129E ; Cn # +112AA..112AF ; Cn # [6] .. 112EB..112EF ; Cn # [5] .. -112FA..11300 ; Cn # [7] .. +112FA..112FF ; Cn # [6] .. 11304 ; Cn # 1130D..1130E ; Cn # [2] .. 11311..11312 ; Cn # [2] .. @@ -469,7 +477,8 @@ FFFE..FFFF ; Cn # [2] .. 1133A..1133B ; Cn # [2] .. 11345..11346 ; Cn # [2] .. 11349..1134A ; Cn # [2] .. -1134E..11356 ; Cn # [9] .. +1134E..1134F ; Cn # [2] .. +11351..11356 ; Cn # [6] .. 11358..1135C ; Cn # [5] .. 11364..11365 ; Cn # [2] .. 1136D..1136F ; Cn # [3] .. @@ -477,18 +486,23 @@ FFFE..FFFF ; Cn # [2] .. 114C8..114CF ; Cn # [8] .. 114DA..1157F ; Cn # [166] .. 115B6..115B7 ; Cn # [2] .. -115CA..115FF ; Cn # [54] .. +115DE..115FF ; Cn # [34] .. 11645..1164F ; Cn # [11] .. 1165A..1167F ; Cn # [38] .. 116B8..116BF ; Cn # [8] .. -116CA..1189F ; Cn # [470] .. +116CA..116FF ; Cn # [54] .. +1171A..1171C ; Cn # [3] .. +1172C..1172F ; Cn # [4] .. +11740..1189F ; Cn # [352] .. 118F3..118FE ; Cn # [12] .. 11900..11ABF ; Cn # [448] .. 11AF9..11FFF ; Cn # [1287] .. -12399..123FF ; Cn # [103] .. +1239A..123FF ; Cn # [102] .. 1246F ; Cn # -12475..12FFF ; Cn # [2955] .. -1342F..167FF ; Cn # [13265] .. +12475..1247F ; Cn # [11] .. +12544..12FFF ; Cn # [2748] .. +1342F..143FF ; Cn # [4049] .. +14647..167FF ; Cn # [8633] .. 16A39..16A3F ; Cn # [7] .. 16A5F ; Cn # 16A6A..16A6D ; Cn # [4] .. @@ -511,7 +525,7 @@ FFFE..FFFF ; Cn # [2] .. 1BCA4..1CFFF ; Cn # [4956] .. 1D0F6..1D0FF ; Cn # [10] .. 1D127..1D128 ; Cn # [2] .. -1D1DE..1D1FF ; Cn # [34] .. +1D1E9..1D1FF ; Cn # [23] .. 1D246..1D2FF ; Cn # [186] .. 1D357..1D35F ; Cn # [9] .. 1D372..1D3FF ; Cn # [142] .. @@ -535,7 +549,9 @@ FFFE..FFFF ; Cn # [2] .. 1D551 ; Cn # 1D6A6..1D6A7 ; Cn # [2] .. 1D7CC..1D7CD ; Cn # [2] .. -1D800..1E7FF ; Cn # [4096] .. +1DA8C..1DA9A ; Cn # [15] .. +1DAA0 ; Cn # +1DAB0..1E7FF ; Cn # [3408] .. 1E8C5..1E8C6 ; Cn # [2] .. 1E8D7..1EDFF ; Cn # [1321] .. 1EE04 ; Cn # @@ -586,16 +602,9 @@ FFFE..FFFF ; Cn # [2] .. 1F23B..1F23F ; Cn # [5] .. 1F249..1F24F ; Cn # [7] .. 1F252..1F2FF ; Cn # [174] .. -1F32D..1F32F ; Cn # [3] .. -1F37E..1F37F ; Cn # [2] .. -1F3CF..1F3D3 ; Cn # [5] .. -1F3F8..1F3FF ; Cn # [8] .. -1F4FF ; Cn # -1F54B..1F54F ; Cn # [5] .. 1F57A ; Cn # 1F5A4 ; Cn # -1F643..1F644 ; Cn # [2] .. -1F6D0..1F6DF ; Cn # [16] .. +1F6D1..1F6DF ; Cn # [15] .. 1F6ED..1F6EF ; Cn # [3] .. 1F6F4..1F6FF ; Cn # [12] .. 1F774..1F77F ; Cn # [12] .. @@ -604,10 +613,14 @@ FFFE..FFFF ; Cn # [2] .. 1F848..1F84F ; Cn # [8] .. 1F85A..1F85F ; Cn # [6] .. 1F888..1F88F ; Cn # [8] .. -1F8AE..1FFFF ; Cn # [1874] .. +1F8AE..1F90F ; Cn # [98] .. +1F919..1F97F ; Cn # [103] .. +1F985..1F9BF ; Cn # [59] .. +1F9C1..1FFFF ; Cn # [1599] .. 2A6D7..2A6FF ; Cn # [41] .. 2B735..2B73F ; Cn # [11] .. -2B81E..2F7FF ; Cn # [16354] .. +2B81E..2B81F ; Cn # [2] .. +2CEA2..2F7FF ; Cn # [10590] .. 2FA1E..E0000 ; Cn # [722403] .. E0002..E001F ; Cn # [30] .. E0080..E00FF ; Cn # [128] .. @@ -615,7 +628,7 @@ E01F0..EFFFF ; Cn # [65040] .. FFFFE..FFFFF ; Cn # [2] .. 10FFFE..10FFFF; Cn # [2] .. -# Total code points: 861575 +# Total code points: 853859 # ================================================ @@ -896,6 +909,7 @@ FFFFE..FFFFF ; Cn # [2] .. 10A0..10C5 ; Lu # [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE 10C7 ; Lu # GEORGIAN CAPITAL LETTER YN 10CD ; Lu # GEORGIAN CAPITAL LETTER AEN +13A0..13F5 ; Lu # [86] CHEROKEE LETTER A..CHEROKEE LETTER MV 1E00 ; Lu # LATIN CAPITAL LETTER A WITH RING BELOW 1E02 ; Lu # LATIN CAPITAL LETTER B WITH DOT ABOVE 1E04 ; Lu # LATIN CAPITAL LETTER B WITH DOT BELOW @@ -1208,9 +1222,11 @@ A7A4 ; Lu # LATIN CAPITAL LETTER N WITH OBLIQUE STROKE A7A6 ; Lu # LATIN CAPITAL LETTER R WITH OBLIQUE STROKE A7A8 ; Lu # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE A7AA..A7AD ; Lu # [4] LATIN CAPITAL LETTER H WITH HOOK..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; Lu # [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B4 ; Lu # [5] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER BETA +A7B6 ; Lu # LATIN CAPITAL LETTER OMEGA FF21..FF3A ; Lu # [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z 10400..10427 ; Lu # [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW +10C80..10CB2 ; Lu # [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US 118A0..118BF ; Lu # [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO 1D400..1D419 ; Lu # [26] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL BOLD CAPITAL Z 1D434..1D44D ; Lu # [26] MATHEMATICAL ITALIC CAPITAL A..MATHEMATICAL ITALIC CAPITAL Z @@ -1244,7 +1260,7 @@ FF21..FF3A ; Lu # [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAP 1D790..1D7A8 ; Lu # [25] MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA 1D7CA ; Lu # MATHEMATICAL BOLD CAPITAL DIGAMMA -# Total code points: 1490 +# Total code points: 1631 # ================================================ @@ -1520,6 +1536,7 @@ FF21..FF3A ; Lu # [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAP 052D ; Ll # CYRILLIC SMALL LETTER DCHE 052F ; Ll # CYRILLIC SMALL LETTER EL WITH DESCENDER 0561..0587 ; Ll # [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN +13F8..13FD ; Ll # [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1D00..1D2B ; Ll # [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL 1D6B..1D77 ; Ll # [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G 1D79..1D9A ; Ll # [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK @@ -1839,13 +1856,17 @@ A7A3 ; Ll # LATIN SMALL LETTER K WITH OBLIQUE STROKE A7A5 ; Ll # LATIN SMALL LETTER N WITH OBLIQUE STROKE A7A7 ; Ll # LATIN SMALL LETTER R WITH OBLIQUE STROKE A7A9 ; Ll # LATIN SMALL LETTER S WITH OBLIQUE STROKE +A7B5 ; Ll # LATIN SMALL LETTER BETA +A7B7 ; Ll # LATIN SMALL LETTER OMEGA A7FA ; Ll # LATIN LETTER SMALL CAPITAL TURNED M AB30..AB5A ; Ll # [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG -AB64..AB65 ; Ll # [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA +AB60..AB65 ; Ll # [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA +AB70..ABBF ; Ll # [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA FB00..FB06 ; Ll # [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST FB13..FB17 ; Ll # [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH FF41..FF5A ; Ll # [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z 10428..1044F ; Ll # [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW +10CC0..10CF2 ; Ll # [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US 118C0..118DF ; Ll # [32] WARANG CITI SMALL LETTER NGAA..WARANG CITI SMALL LETTER VIYO 1D41A..1D433 ; Ll # [26] MATHEMATICAL BOLD SMALL A..MATHEMATICAL BOLD SMALL Z 1D44E..1D454 ; Ll # [7] MATHEMATICAL ITALIC SMALL A..MATHEMATICAL ITALIC SMALL G @@ -1876,7 +1897,7 @@ FF41..FF5A ; Ll # [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL 1D7C4..1D7C9 ; Ll # [6] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL 1D7CB ; Ll # MATHEMATICAL BOLD SMALL DIGAMMA -# Total code points: 1841 +# Total code points: 1984 # ================================================ @@ -1984,7 +2005,7 @@ FF9E..FF9F ; Lm # [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAK 07CA..07EA ; Lo # [33] NKO LETTER A..NKO LETTER JONA RA 0800..0815 ; Lo # [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF 0840..0858 ; Lo # [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN -08A0..08B2 ; Lo # [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE +08A0..08B4 ; Lo # [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW 0904..0939 ; Lo # [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA 093D ; Lo # DEVANAGARI SIGN AVAGRAHA 0950 ; Lo # DEVANAGARI OM @@ -2020,6 +2041,7 @@ FF9E..FF9F ; Lm # [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAK 0ABD ; Lo # GUJARATI SIGN AVAGRAHA 0AD0 ; Lo # GUJARATI OM 0AE0..0AE1 ; Lo # [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL +0AF9 ; Lo # GUJARATI LETTER ZHA 0B05..0B0C ; Lo # [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L 0B0F..0B10 ; Lo # [2] ORIYA LETTER E..ORIYA LETTER AI 0B13..0B28 ; Lo # [22] ORIYA LETTER O..ORIYA LETTER NA @@ -2046,7 +2068,7 @@ FF9E..FF9F ; Lm # [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAK 0C12..0C28 ; Lo # [23] TELUGU LETTER O..TELUGU LETTER NA 0C2A..0C39 ; Lo # [16] TELUGU LETTER PA..TELUGU LETTER HA 0C3D ; Lo # TELUGU SIGN AVAGRAHA -0C58..0C59 ; Lo # [2] TELUGU LETTER TSA..TELUGU LETTER DZA +0C58..0C5A ; Lo # [3] TELUGU LETTER TSA..TELUGU LETTER RRRA 0C60..0C61 ; Lo # [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL 0C85..0C8C ; Lo # [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L 0C8E..0C90 ; Lo # [3] KANNADA LETTER E..KANNADA LETTER AI @@ -2062,7 +2084,7 @@ FF9E..FF9F ; Lm # [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAK 0D12..0D3A ; Lo # [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA 0D3D ; Lo # MALAYALAM SIGN AVAGRAHA 0D4E ; Lo # MALAYALAM LETTER DOT REPH -0D60..0D61 ; Lo # [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL +0D5F..0D61 ; Lo # [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL 0D7A..0D7F ; Lo # [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K 0D85..0D96 ; Lo # [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA 0D9A..0DB1 ; Lo # [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA @@ -2119,7 +2141,6 @@ FF9E..FF9F ; Lm # [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAK 1312..1315 ; Lo # [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE 1318..135A ; Lo # [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA 1380..138F ; Lo # [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE -13A0..13F4 ; Lo # [85] CHEROKEE LETTER A..CHEROKEE LETTER YV 1401..166C ; Lo # [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA 166F..167F ; Lo # [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W 1681..169A ; Lo # [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH @@ -2142,7 +2163,7 @@ FF9E..FF9F ; Lm # [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAK 1950..196D ; Lo # [30] TAI LE LETTER KA..TAI LE LETTER AI 1970..1974 ; Lo # [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 1980..19AB ; Lo # [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA -19C1..19C7 ; Lo # [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B +19B0..19C9 ; Lo # [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 1A00..1A16 ; Lo # [23] BUGINESE LETTER KA..BUGINESE LETTER HA 1A20..1A54 ; Lo # [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA 1B05..1B33 ; Lo # [47] BALINESE LETTER AKARA..BALINESE LETTER HA @@ -2178,7 +2199,7 @@ FF9E..FF9F ; Lm # [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAK 31A0..31BA ; Lo # [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY 31F0..31FF ; Lo # [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO 3400..4DB5 ; Lo # [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 -4E00..9FCC ; Lo # [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC +4E00..9FD5 ; Lo # [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 A000..A014 ; Lo # [21] YI SYLLABLE IT..YI SYLLABLE E A016..A48C ; Lo # [1143] YI SYLLABLE BIT..YI SYLLABLE YYR A4D0..A4F7 ; Lo # [40] LISU LETTER BA..LISU LETTER OE @@ -2187,6 +2208,7 @@ A610..A61F ; Lo # [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG A62A..A62B ; Lo # [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO A66E ; Lo # CYRILLIC LETTER MULTIOCULAR O A6A0..A6E5 ; Lo # [70] BAMUM LETTER A..BAMUM LETTER KI +A78F ; Lo # LATIN LETTER SINOLOGICAL DOT A7F7 ; Lo # LATIN EPIGRAPHIC LETTER SIDEWAYS I A7FB..A801 ; Lo # [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I A803..A805 ; Lo # [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O @@ -2196,6 +2218,7 @@ A840..A873 ; Lo # [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU A882..A8B3 ; Lo # [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA A8F2..A8F7 ; Lo # [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA A8FB ; Lo # DEVANAGARI HEADSTROKE +A8FD ; Lo # DEVANAGARI JAIN OM A90A..A925 ; Lo # [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO A930..A946 ; Lo # [23] REJANG LETTER KA..REJANG LETTER A A960..A97C ; Lo # [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH @@ -2280,6 +2303,8 @@ FFDA..FFDC ; Lo # [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I 1083F..10855 ; Lo # [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW 10860..10876 ; Lo # [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW 10880..1089E ; Lo # [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW +108E0..108F2 ; Lo # [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F4..108F5 ; Lo # [2] HATRAN LETTER SHIN..HATRAN LETTER TAW 10900..10915 ; Lo # [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU 10920..10939 ; Lo # [26] LYDIAN LETTER A..LYDIAN LETTER C 10980..109B7 ; Lo # [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA @@ -2306,8 +2331,14 @@ FFDA..FFDC ; Lo # [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I 11183..111B2 ; Lo # [48] SHARADA LETTER A..SHARADA LETTER HA 111C1..111C4 ; Lo # [4] SHARADA SIGN AVAGRAHA..SHARADA OM 111DA ; Lo # SHARADA EKAM +111DC ; Lo # SHARADA HEADSTROKE 11200..11211 ; Lo # [18] KHOJKI LETTER A..KHOJKI LETTER JJA 11213..1122B ; Lo # [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA +11280..11286 ; Lo # [7] MULTANI LETTER A..MULTANI LETTER GA +11288 ; Lo # MULTANI LETTER GHA +1128A..1128D ; Lo # [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D ; Lo # [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8 ; Lo # [10] MULTANI LETTER BHA..MULTANI LETTER RHA 112B0..112DE ; Lo # [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA 11305..1130C ; Lo # [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L 1130F..11310 ; Lo # [2] GRANTHA LETTER EE..GRANTHA LETTER AI @@ -2316,18 +2347,23 @@ FFDA..FFDC ; Lo # [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I 11332..11333 ; Lo # [2] GRANTHA LETTER LA..GRANTHA LETTER LLA 11335..11339 ; Lo # [5] GRANTHA LETTER VA..GRANTHA LETTER HA 1133D ; Lo # GRANTHA SIGN AVAGRAHA +11350 ; Lo # GRANTHA OM 1135D..11361 ; Lo # [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL 11480..114AF ; Lo # [48] TIRHUTA ANJI..TIRHUTA LETTER HA 114C4..114C5 ; Lo # [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG 114C7 ; Lo # TIRHUTA OM 11580..115AE ; Lo # [47] SIDDHAM LETTER A..SIDDHAM LETTER HA +115D8..115DB ; Lo # [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U 11600..1162F ; Lo # [48] MODI LETTER A..MODI LETTER LLA 11644 ; Lo # MODI SIGN HUVA 11680..116AA ; Lo # [43] TAKRI LETTER A..TAKRI LETTER RRA +11700..11719 ; Lo # [26] AHOM LETTER KA..AHOM LETTER JHA 118FF ; Lo # WARANG CITI OM 11AC0..11AF8 ; Lo # [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -12000..12398 ; Lo # [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME +12000..12399 ; Lo # [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U +12480..12543 ; Lo # [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU 13000..1342E ; Lo # [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 +14400..14646 ; Lo # [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 16800..16A38 ; Lo # [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ 16A40..16A5E ; Lo # [31] MRO LETTER TA..MRO LETTER TEK 16AD0..16AED ; Lo # [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I @@ -2378,9 +2414,10 @@ FFDA..FFDC ; Lo # [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I 20000..2A6D6 ; Lo # [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 2A700..2B734 ; Lo # [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 2B740..2B81D ; Lo # [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D +2B820..2CEA1 ; Lo # [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 2F800..2FA1D ; Lo # [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D -# Total code points: 99115 +# Total code points: 105697 # ================================================ @@ -2409,7 +2446,7 @@ FFDA..FFDC ; Lo # [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I 0825..0827 ; Mn # [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U 0829..082D ; Mn # [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA 0859..085B ; Mn # [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK -08E4..0902 ; Mn # [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA +08E3..0902 ; Mn # [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA 093A ; Mn # DEVANAGARI VOWEL SIGN OE 093C ; Mn # DEVANAGARI SIGN NUKTA 0941..0948 ; Mn # [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI @@ -2552,7 +2589,7 @@ FFDA..FFDC ; Lo # [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I 3099..309A ; Mn # [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK A66F ; Mn # COMBINING CYRILLIC VZMET A674..A67D ; Mn # [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK -A69F ; Mn # COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F ; Mn # [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E A6F0..A6F1 ; Mn # [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS A802 ; Mn # SYLOTI NAGRI SIGN DVISVARA A806 ; Mn # SYLOTI NAGRI SIGN HASANTA @@ -2585,7 +2622,7 @@ ABE8 ; Mn # MEETEI MAYEK VOWEL SIGN UNAP ABED ; Mn # MEETEI MAYEK APUN IYEK FB1E ; Mn # HEBREW POINT JUDEO-SPANISH VARIKA FE00..FE0F ; Mn # [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 -FE20..FE2D ; Mn # [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW +FE20..FE2F ; Mn # [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF 101FD ; Mn # PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE 102E0 ; Mn # COPTIC EPACT THOUSANDS MARK 10376..1037A ; Mn # [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII @@ -2606,12 +2643,13 @@ FE20..FE2D ; Mn # [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MA 11173 ; Mn # MAHAJANI SIGN NUKTA 11180..11181 ; Mn # [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA 111B6..111BE ; Mn # [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O +111CA..111CC ; Mn # [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK 1122F..11231 ; Mn # [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI 11234 ; Mn # KHOJKI SIGN ANUSVARA 11236..11237 ; Mn # [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA 112DF ; Mn # KHUDAWADI SIGN ANUSVARA 112E3..112EA ; Mn # [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA -11301 ; Mn # GRANTHA SIGN CANDRABINDU +11300..11301 ; Mn # [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 1133C ; Mn # GRANTHA SIGN NUKTA 11340 ; Mn # GRANTHA VOWEL SIGN II 11366..1136C ; Mn # [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX @@ -2623,6 +2661,7 @@ FE20..FE2D ; Mn # [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MA 115B2..115B5 ; Mn # [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR 115BC..115BD ; Mn # [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 115BF..115C0 ; Mn # [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA +115DC..115DD ; Mn # [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11633..1163A ; Mn # [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI 1163D ; Mn # MODI SIGN ANUSVARA 1163F..11640 ; Mn # [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA @@ -2630,6 +2669,9 @@ FE20..FE2D ; Mn # [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MA 116AD ; Mn # TAKRI VOWEL SIGN AA 116B0..116B5 ; Mn # [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU 116B7 ; Mn # TAKRI SIGN NUKTA +1171D..1171F ; Mn # [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11722..11725 ; Mn # [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11727..1172B ; Mn # [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER 16AF0..16AF4 ; Mn # [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE 16B30..16B36 ; Mn # [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM 16F8F..16F92 ; Mn # [4] MIAO TONE RIGHT..MIAO TONE BELOW @@ -2639,10 +2681,16 @@ FE20..FE2D ; Mn # [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MA 1D185..1D18B ; Mn # [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE 1D1AA..1D1AD ; Mn # [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO 1D242..1D244 ; Mn # [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME +1DA00..1DA36 ; Mn # [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN +1DA3B..1DA6C ; Mn # [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT +1DA75 ; Mn # SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA84 ; Mn # SIGNWRITING LOCATION HEAD NECK +1DA9B..1DA9F ; Mn # [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF ; Mn # [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 1E8D0..1E8D6 ; Mn # [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS E0100..E01EF ; Mn # [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 -# Total code points: 1418 +# Total code points: 1567 # ================================================ @@ -2724,8 +2772,6 @@ A670..A672 ; Me # [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRIL 1929..192B ; Mc # [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA 1930..1931 ; Mc # [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA 1933..1938 ; Mc # [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA -19B0..19C0 ; Mc # [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY -19C8..19C9 ; Mc # [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 1A19..1A1A ; Mc # [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O 1A55 ; Mc # TAI THAM CONSONANT SIGN MEDIAL RA 1A57 ; Mc # TAI THAM CONSONANT SIGN LA TANG LAI @@ -2804,11 +2850,13 @@ ABEC ; Mc # MEETEI MAYEK LUM IYEK 116AC ; Mc # TAKRI SIGN VISARGA 116AE..116AF ; Mc # [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II 116B6 ; Mc # TAKRI SIGN VIRAMA +11720..11721 ; Mc # [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11726 ; Mc # AHOM VOWEL SIGN E 16F51..16F7E ; Mc # [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG 1D165..1D166 ; Mc # [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM 1D16D..1D172 ; Mc # [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5 -# Total code points: 399 +# Total code points: 383 # ================================================ @@ -2860,12 +2908,13 @@ FF10..FF19 ; Nd # [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE 114D0..114D9 ; Nd # [10] TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE 11650..11659 ; Nd # [10] MODI DIGIT ZERO..MODI DIGIT NINE 116C0..116C9 ; Nd # [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE +11730..11739 ; Nd # [10] AHOM DIGIT ZERO..AHOM DIGIT NINE 118E0..118E9 ; Nd # [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE 16A60..16A69 ; Nd # [10] MRO DIGIT ZERO..MRO DIGIT NINE 16B50..16B59 ; Nd # [10] PAHAWH HMONG DIGIT ZERO..PAHAWH HMONG DIGIT NINE 1D7CE..1D7FF ; Nd # [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE -# Total code points: 540 +# Total code points: 550 # ================================================ @@ -2926,7 +2975,11 @@ A830..A835 ; No # [6] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC FRACTIO 10858..1085F ; No # [8] IMPERIAL ARAMAIC NUMBER ONE..IMPERIAL ARAMAIC NUMBER TEN THOUSAND 10879..1087F ; No # [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY 108A7..108AF ; No # [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED +108FB..108FF ; No # [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED 10916..1091B ; No # [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE +109BC..109BD ; No # [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF +109C0..109CF ; No # [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY +109D2..109FF ; No # [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS 10A40..10A47 ; No # [8] KHAROSHTHI DIGIT ONE..KHAROSHTHI NUMBER ONE THOUSAND 10A7D..10A7E ; No # [2] OLD SOUTH ARABIAN NUMBER ONE..OLD SOUTH ARABIAN NUMBER FIFTY 10A9D..10A9F ; No # [3] OLD NORTH ARABIAN NUMBER ONE..OLD NORTH ARABIAN NUMBER TWENTY @@ -2934,16 +2987,18 @@ A830..A835 ; No # [6] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC FRACTIO 10B58..10B5F ; No # [8] INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND 10B78..10B7F ; No # [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND 10BA9..10BAF ; No # [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED +10CFA..10CFF ; No # [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND 10E60..10E7E ; No # [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS 11052..11065 ; No # [20] BRAHMI NUMBER ONE..BRAHMI NUMBER ONE THOUSAND 111E1..111F4 ; No # [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND +1173A..1173B ; No # [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY 118EA..118F2 ; No # [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY 16B5B..16B61 ; No # [7] PAHAWH HMONG NUMBER TENS..PAHAWH HMONG NUMBER TRILLIONS 1D360..1D371 ; No # [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE 1E8C7..1E8CF ; No # [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE 1F100..1F10C ; No # [13] DIGIT ZERO FULL STOP..DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ZERO -# Total code points: 570 +# Total code points: 647 # ================================================ @@ -3322,6 +3377,7 @@ A6F2..A6F7 ; Po # [6] BAMUM NJAEMLI..BAMUM QUESTION MARK A874..A877 ; Po # [4] PHAGS-PA SINGLE HEAD MARK..PHAGS-PA MARK DOUBLE SHAD A8CE..A8CF ; Po # [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA A8F8..A8FA ; Po # [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET +A8FC ; Po # DEVANAGARI SIGN SIDDHAM A92E..A92F ; Po # [2] KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA A95F ; Po # REJANG SECTION MARK A9C1..A9CD ; Po # [13] JAVANESE LEFT RERENGGAN..JAVANESE TURNED PADA PISELEH @@ -3367,20 +3423,25 @@ FF64..FF65 ; Po # [2] HALFWIDTH IDEOGRAPHIC COMMA..HALFWIDTH KATAKANA MIDDL 110BE..110C1 ; Po # [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA 11140..11143 ; Po # [4] CHAKMA SECTION MARK..CHAKMA QUESTION MARK 11174..11175 ; Po # [2] MAHAJANI ABBREVIATION SIGN..MAHAJANI SECTION MARK -111C5..111C8 ; Po # [4] SHARADA DANDA..SHARADA SEPARATOR +111C5..111C9 ; Po # [5] SHARADA DANDA..SHARADA SANDHI MARK 111CD ; Po # SHARADA SUTRA MARK +111DB ; Po # SHARADA SIGN SIDDHAM +111DD..111DF ; Po # [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2 11238..1123D ; Po # [6] KHOJKI DANDA..KHOJKI ABBREVIATION SIGN +112A9 ; Po # MULTANI SECTION MARK 114C6 ; Po # TIRHUTA ABBREVIATION SIGN -115C1..115C9 ; Po # [9] SIDDHAM SIGN SIDDHAM..SIDDHAM END OF TEXT MARK +115C1..115D7 ; Po # [23] SIDDHAM SIGN SIDDHAM..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES 11641..11643 ; Po # [3] MODI DANDA..MODI ABBREVIATION SIGN +1173C..1173E ; Po # [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI 12470..12474 ; Po # [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON 16A6E..16A6F ; Po # [2] MRO DANDA..MRO DOUBLE DANDA 16AF5 ; Po # BASSA VAH FULL STOP 16B37..16B3B ; Po # [5] PAHAWH HMONG SIGN VOS THOM..PAHAWH HMONG SIGN VOS FEEM 16B44 ; Po # PAHAWH HMONG SIGN XAUS 1BC9F ; Po # DUPLOYAN PUNCTUATION CHINOOK FULL STOP +1DA87..1DA8B ; Po # [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS -# Total code points: 484 +# Total code points: 513 # ================================================ @@ -3467,7 +3528,7 @@ FFE9..FFEC ; Sm # [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW 0BF9 ; Sc # TAMIL RUPEE SIGN 0E3F ; Sc # THAI CURRENCY SYMBOL BAHT 17DB ; Sc # KHMER CURRENCY SYMBOL RIEL -20A0..20BD ; Sc # [30] EURO-CURRENCY SIGN..RUBLE SIGN +20A0..20BE ; Sc # [31] EURO-CURRENCY SIGN..LARI SIGN A838 ; Sc # NORTH INDIC RUPEE MARK FDFC ; Sc # RIAL SIGN FE69 ; Sc # SMALL DOLLAR SIGN @@ -3475,7 +3536,7 @@ FF04 ; Sc # FULLWIDTH DOLLAR SIGN FFE0..FFE1 ; Sc # [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN FFE5..FFE6 ; Sc # [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN -# Total code points: 52 +# Total code points: 53 # ================================================ @@ -3509,8 +3570,9 @@ FBB2..FBC1 ; Sk # [16] ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL SMALL TAH BELO FF3E ; Sk # FULLWIDTH CIRCUMFLEX ACCENT FF40 ; Sk # FULLWIDTH GRAVE ACCENT FFE3 ; Sk # FULLWIDTH MACRON +1F3FB..1F3FF ; Sk # [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6 -# Total code points: 116 +# Total code points: 121 # ================================================ @@ -3564,6 +3626,7 @@ FFE3 ; Sk # FULLWIDTH MACRON 214A ; So # PROPERTY LINE 214C..214D ; So # [2] PER SIGN..AKTIESELSKAB 214F ; So # SYMBOL FOR SAMARITAN SOURCE +218A..218B ; So # [2] TURNED DIGIT TWO..TURNED DIGIT THREE 2195..2199 ; So # [5] UP DOWN ARROW..SOUTH WEST ARROW 219C..219F ; So # [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW 21A1..21A2 ; So # [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL @@ -3597,6 +3660,7 @@ FFE3 ; Sk # FULLWIDTH MACRON 2B98..2BB9 ; So # [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX 2BBD..2BC8 ; So # [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED 2BCA..2BD1 ; So # [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN +2BEC..2BEF ; So # [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS 2CE5..2CEA ; So # [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA 2E80..2E99 ; So # [26] CJK RADICAL REPEAT..CJK RADICAL RAP 2E9B..2EF3 ; So # [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE @@ -3636,6 +3700,7 @@ FFFC..FFFD ; So # [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER 101D0..101FC ; So # [45] PHAISTOS DISC SIGN PEDESTRIAN..PHAISTOS DISC SIGN WAVY BAND 10877..10878 ; So # [2] PALMYRENE LEFT-POINTING FLEURON..PALMYRENE RIGHT-POINTING FLEURON 10AC8 ; So # MANICHAEAN SIGN UD +1173F ; So # AHOM SYMBOL VI 16B3C..16B3F ; So # [4] PAHAWH HMONG SIGN XYEEM NTXIV..PAHAWH HMONG SIGN XYEEM FAIB 16B45 ; So # PAHAWH HMONG SIGN CIM TSOV ROG 1BC9C ; So # DUPLOYAN SIGN O WITH CROSS @@ -3645,10 +3710,15 @@ FFFC..FFFD ; So # [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER 1D16A..1D16C ; So # [3] MUSICAL SYMBOL FINGERED TREMOLO-1..MUSICAL SYMBOL FINGERED TREMOLO-3 1D183..1D184 ; So # [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN 1D18C..1D1A9 ; So # [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH -1D1AE..1D1DD ; So # [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS +1D1AE..1D1E8 ; So # [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN 1D200..1D241 ; So # [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54 1D245 ; So # GREEK MUSICAL LEIMMA 1D300..1D356 ; So # [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING +1D800..1D9FF ; So # [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD +1DA37..1DA3A ; So # [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE +1DA6D..1DA74 ; So # [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING +1DA76..1DA83 ; So # [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH +1DA85..1DA86 ; So # [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS 1F000..1F02B ; So # [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK 1F030..1F093 ; So # [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06 1F0A0..1F0AE ; So # [15] PLAYING CARD BACK..PLAYING CARD KING OF SPADES @@ -3662,16 +3732,10 @@ FFFC..FFFD ; So # [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER 1F210..1F23A ; So # [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6 1F240..1F248 ; So # [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557 1F250..1F251 ; So # [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT -1F300..1F32C ; So # [45] CYCLONE..WIND BLOWING FACE -1F330..1F37D ; So # [78] CHESTNUT..FORK AND KNIFE WITH PLATE -1F380..1F3CE ; So # [79] RIBBON..RACING CAR -1F3D4..1F3F7 ; So # [36] SNOW CAPPED MOUNTAIN..LABEL -1F400..1F4FE ; So # [255] RAT..PORTABLE STEREO -1F500..1F54A ; So # [75] TWISTED RIGHTWARDS ARROWS..DOVE OF PEACE -1F550..1F579 ; So # [42] CLOCK FACE ONE OCLOCK..JOYSTICK +1F300..1F3FA ; So # [251] CYCLONE..AMPHORA +1F400..1F579 ; So # [378] RAT..JOYSTICK 1F57B..1F5A3 ; So # [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX -1F5A5..1F642 ; So # [158] DESKTOP COMPUTER..SLIGHTLY SMILING FACE -1F645..1F6CF ; So # [139] FACE WITH NO GOOD GESTURE..BED +1F5A5..1F6D0 ; So # [300] DESKTOP COMPUTER..PLACE OF WORSHIP 1F6E0..1F6EC ; So # [13] HAMMER AND WRENCH..AIRPLANE ARRIVING 1F6F0..1F6F3 ; So # [4] SATELLITE..PASSENGER SHIP 1F700..1F773 ; So # [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE @@ -3681,8 +3745,11 @@ FFFC..FFFD ; So # [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER 1F850..1F859 ; So # [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW 1F860..1F887 ; So # [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW 1F890..1F8AD ; So # [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS +1F910..1F918 ; So # [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS +1F980..1F984 ; So # [5] CRAB..UNICORN FACE +1F9C0 ; So # CHEESE WEDGE -# Total code points: 5082 +# Total code points: 5677 # ================================================ diff --git a/lib/unicore/extracted/DJoinGroup.txt b/lib/unicore/extracted/DJoinGroup.txt index 2489a7c..4fe657e 100644 --- a/lib/unicore/extracted/DJoinGroup.txt +++ b/lib/unicore/extracted/DJoinGroup.txt @@ -1,8 +1,8 @@ -# DerivedJoiningGroup-7.0.0.txt -# Date: 2013-11-27, 09:54:34 GMT [MD] +# DerivedJoiningGroup-8.0.0.txt +# Date: 2015-02-13, 13:47:12 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2013 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ @@ -21,8 +21,9 @@ 06A0 ; Ain # Lo ARABIC LETTER AIN WITH THREE DOTS ABOVE 06FC ; Ain # Lo ARABIC LETTER GHAIN WITH DOT BELOW 075D..075F ; Ain # Lo [3] ARABIC LETTER AIN WITH TWO DOTS ABOVE..ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE +08B3 ; Ain # Lo ARABIC LETTER AIN WITH THREE DOTS BELOW -# Total code points: 7 +# Total code points: 8 # ================================================ @@ -164,8 +165,9 @@ 0643 ; Kaf # Lo ARABIC LETTER KAF 06AC..06AE ; Kaf # Lo [3] ARABIC LETTER KAF WITH DOT ABOVE..ARABIC LETTER KAF WITH THREE DOTS BELOW 077F ; Kaf # Lo ARABIC LETTER KAF WITH TWO DOTS ABOVE +08B4 ; Kaf # Lo ARABIC LETTER KAF WITH DOT BELOW -# Total code points: 5 +# Total code points: 6 # ================================================ diff --git a/lib/unicore/extracted/DJoinType.txt b/lib/unicore/extracted/DJoinType.txt index 9381eb9..3261fe0 100644 --- a/lib/unicore/extracted/DJoinType.txt +++ b/lib/unicore/extracted/DJoinType.txt @@ -1,8 +1,8 @@ -# DerivedJoiningType-7.0.0.txt -# Date: 2014-02-07, 18:42:13 GMT [MD] +# DerivedJoiningType-8.0.0.txt +# Date: 2015-02-13, 13:47:12 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ @@ -60,12 +60,12 @@ 077A..077F ; D # Lo [6] ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER KAF WITH TWO DOTS ABOVE 07CA..07EA ; D # Lo [33] NKO LETTER A..NKO LETTER JONA RA 0841..0845 ; D # Lo [5] MANDAIC LETTER AB..MANDAIC LETTER USHENNA -0847..0848 ; D # Lo [2] MANDAIC LETTER IT..MANDAIC LETTER ATT -084A..084E ; D # Lo [5] MANDAIC LETTER AK..MANDAIC LETTER AS -0850..0853 ; D # Lo [4] MANDAIC LETTER AP..MANDAIC LETTER AR +0848 ; D # Lo MANDAIC LETTER ATT +084A..0853 ; D # Lo [10] MANDAIC LETTER AK..MANDAIC LETTER AR 0855 ; D # Lo MANDAIC LETTER AT 08A0..08A9 ; D # Lo [10] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE 08AF..08B0 ; D # Lo [2] ARABIC LETTER SAD WITH THREE DOTS BELOW..ARABIC LETTER GAF WITH INVERTED STROKE +08B3..08B4 ; D # Lo [2] ARABIC LETTER AIN WITH THREE DOTS BELOW..ARABIC LETTER KAF WITH DOT BELOW 1807 ; D # Po MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER 1820..1842 ; D # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI 1843 ; D # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN @@ -86,7 +86,7 @@ A840..A871 ; D # Lo [50] PHAGS-PA LETTER KA..PHAGS-PA SUBJOINED LETTER RA 10B90 ; D # Lo PSALTER PAHLAVI LETTER SHIN 10BAD..10BAE ; D # No [2] PSALTER PAHLAVI NUMBER TEN..PSALTER PAHLAVI NUMBER TWENTY -# Total code points: 424 +# Total code points: 426 # ================================================ @@ -121,9 +121,8 @@ A840..A871 ; D # Lo [50] PHAGS-PA LETTER KA..PHAGS-PA SUBJOINED LETTER RA 0773..0774 ; R # Lo [2] ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE 0778..0779 ; R # Lo [2] ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE 0840 ; R # Lo MANDAIC LETTER HALQA -0846 ; R # Lo MANDAIC LETTER AZ +0846..0847 ; R # Lo [2] MANDAIC LETTER AZ..MANDAIC LETTER IT 0849 ; R # Lo MANDAIC LETTER AKSA -084F ; R # Lo MANDAIC LETTER IN 0854 ; R # Lo MANDAIC LETTER ASH 08AA..08AC ; R # Lo [3] ARABIC LETTER REH WITH LOOP..ARABIC LETTER ROHINGYA YEH 08AE ; R # Lo ARABIC LETTER DAL WITH THREE DOTS BELOW @@ -187,7 +186,7 @@ A872 ; L # Lo PHAGS-PA SUPERFIXED LETTER RA 0825..0827 ; T # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U 0829..082D ; T # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA 0859..085B ; T # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK -08E4..0902 ; T # Mn [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA +08E3..0902 ; T # Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA 093A ; T # Mn DEVANAGARI VOWEL SIGN OE 093C ; T # Mn DEVANAGARI SIGN NUKTA 0941..0948 ; T # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI @@ -339,7 +338,7 @@ A872 ; L # Lo PHAGS-PA SUPERFIXED LETTER RA A66F ; T # Mn COMBINING CYRILLIC VZMET A670..A672 ; T # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN A674..A67D ; T # Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK -A69F ; T # Mn COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F ; T # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E A6F0..A6F1 ; T # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS A802 ; T # Mn SYLOTI NAGRI SIGN DVISVARA A806 ; T # Mn SYLOTI NAGRI SIGN HASANTA @@ -372,7 +371,7 @@ ABE8 ; T # Mn MEETEI MAYEK VOWEL SIGN UNAP ABED ; T # Mn MEETEI MAYEK APUN IYEK FB1E ; T # Mn HEBREW POINT JUDEO-SPANISH VARIKA FE00..FE0F ; T # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 -FE20..FE2D ; T # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW +FE20..FE2F ; T # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF FEFF ; T # Cf ZERO WIDTH NO-BREAK SPACE FFF9..FFFB ; T # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR 101FD ; T # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE @@ -396,12 +395,13 @@ FFF9..FFFB ; T # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATI 11173 ; T # Mn MAHAJANI SIGN NUKTA 11180..11181 ; T # Mn [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA 111B6..111BE ; T # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O +111CA..111CC ; T # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK 1122F..11231 ; T # Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI 11234 ; T # Mn KHOJKI SIGN ANUSVARA 11236..11237 ; T # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA 112DF ; T # Mn KHUDAWADI SIGN ANUSVARA 112E3..112EA ; T # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA -11301 ; T # Mn GRANTHA SIGN CANDRABINDU +11300..11301 ; T # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 1133C ; T # Mn GRANTHA SIGN NUKTA 11340 ; T # Mn GRANTHA VOWEL SIGN II 11366..1136C ; T # Mn [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX @@ -413,6 +413,7 @@ FFF9..FFFB ; T # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATI 115B2..115B5 ; T # Mn [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR 115BC..115BD ; T # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 115BF..115C0 ; T # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA +115DC..115DD ; T # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11633..1163A ; T # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI 1163D ; T # Mn MODI SIGN ANUSVARA 1163F..11640 ; T # Mn [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA @@ -420,6 +421,9 @@ FFF9..FFFB ; T # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATI 116AD ; T # Mn TAKRI VOWEL SIGN AA 116B0..116B5 ; T # Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU 116B7 ; T # Mn TAKRI SIGN NUKTA +1171D..1171F ; T # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11722..11725 ; T # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11727..1172B ; T # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER 16AF0..16AF4 ; T # Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE 16B30..16B36 ; T # Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM 16F8F..16F92 ; T # Mn [4] MIAO TONE RIGHT..MIAO TONE BELOW @@ -431,11 +435,17 @@ FFF9..FFFB ; T # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATI 1D185..1D18B ; T # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE 1D1AA..1D1AD ; T # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO 1D242..1D244 ; T # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME +1DA00..1DA36 ; T # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN +1DA3B..1DA6C ; T # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT +1DA75 ; T # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA84 ; T # Mn SIGNWRITING LOCATION HEAD NECK +1DA9B..1DA9F ; T # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF ; T # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 1E8D0..1E8D6 ; T # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS E0001 ; T # Cf LANGUAGE TAG E0020..E007F ; T # Cf [96] TAG SPACE..CANCEL TAG E0100..E01EF ; T # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 -# Total code points: 1567 +# Total code points: 1716 # EOF diff --git a/lib/unicore/extracted/DLineBreak.txt b/lib/unicore/extracted/DLineBreak.txt index 4ddecba..bbdbac1 100644 --- a/lib/unicore/extracted/DLineBreak.txt +++ b/lib/unicore/extracted/DLineBreak.txt @@ -1,8 +1,8 @@ -# DerivedLineBreak-7.0.0.txt -# Date: 2014-02-07, 18:42:14 GMT [MD] +# DerivedLineBreak-8.0.0.txt +# Date: 2015-02-14, 10:26:02 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ @@ -23,8 +23,8 @@ E000..F8FF ; XX # Co [6400] .. F0000..FFFFD ; XX # Co [65534] .. 100000..10FFFD; XX # Co [65534] .. -# The above property value applies to 778012 code points not listed here. -# Total code points: 915480 +# The above property value applies to 776068 code points not listed here. +# Total code points: 913536 # ================================================ @@ -112,8 +112,9 @@ FF62 ; OP # Ps HALFWIDTH LEFT CORNER BRACKET 13286 ; OP # Lo EGYPTIAN HIEROGLYPH O036A 13288 ; OP # Lo EGYPTIAN HIEROGLYPH O036C 13379 ; OP # Lo EGYPTIAN HIEROGLYPH V011A +145CE ; OP # Lo ANATOLIAN HIEROGLYPH A410 BEGIN LOGOGRAM MARK -# Total code points: 84 +# Total code points: 85 # ================================================ @@ -202,8 +203,9 @@ FF64 ; CL # Po HALFWIDTH IDEOGRAPHIC COMMA 13287 ; CL # Lo EGYPTIAN HIEROGLYPH O036B 13289 ; CL # Lo EGYPTIAN HIEROGLYPH O036D 1337A..1337B ; CL # Lo [2] EGYPTIAN HIEROGLYPH V011B..EGYPTIAN HIEROGLYPH V011C +145CF ; CL # Lo ANATOLIAN HIEROGLYPH A410A END LOGOGRAM MARK -# Total code points: 89 +# Total code points: 90 # ================================================ @@ -357,7 +359,7 @@ FE13..FE14 ; IS # Po [2] PRESENTATION FORM FOR VERTICAL COLON..PRESENTATION 20A8..20B5 ; PR # Sc [14] RUPEE SIGN..CEDI SIGN 20B7..20BA ; PR # Sc [4] SPESMILO SIGN..TURKISH LIRA SIGN 20BC..20BD ; PR # Sc [2] MANAT SIGN..RUBLE SIGN -20BE..20CF ; PR # Cn [18] .. +20BF..20CF ; PR # Cn [17] .. 2116 ; PR # So NUMERO SIGN 2212..2213 ; PR # Sm [2] MINUS SIGN..MINUS-OR-PLUS SIGN FE69 ; PR # Sc SMALL DOLLAR SIGN @@ -365,7 +367,7 @@ FF04 ; PR # Sc FULLWIDTH DOLLAR SIGN FFE1 ; PR # Sc FULLWIDTH POUND SIGN FFE5..FFE6 ; PR # Sc [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN -# Total code points: 66 +# Total code points: 65 # ================================================ @@ -384,6 +386,7 @@ FFE5..FFE6 ; PR # Sc [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN 20A7 ; PO # Sc PESETA SIGN 20B6 ; PO # Sc LIVRE TOURNOIS SIGN 20BB ; PO # Sc NORDIC MARK SIGN +20BE ; PO # Sc LARI SIGN 2103 ; PO # So DEGREE CELSIUS 2109 ; PO # So DEGREE FAHRENHEIT A838 ; PO # Sc NORTH INDIC RUPEE MARK @@ -392,7 +395,7 @@ FE6A ; PO # Po SMALL PERCENT SIGN FF05 ; PO # Po FULLWIDTH PERCENT SIGN FFE0 ; PO # Sc FULLWIDTH CENT SIGN -# Total code points: 29 +# Total code points: 30 # ================================================ @@ -444,12 +447,13 @@ ABF0..ABF9 ; NU # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE 114D0..114D9 ; NU # Nd [10] TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE 11650..11659 ; NU # Nd [10] MODI DIGIT ZERO..MODI DIGIT NINE 116C0..116C9 ; NU # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE +11730..11739 ; NU # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE 118E0..118E9 ; NU # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE 16A60..16A69 ; NU # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE 16B50..16B59 ; NU # Nd [10] PAHAWH HMONG DIGIT ZERO..PAHAWH HMONG DIGIT NINE 1D7CE..1D7FF ; NU # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE -# Total code points: 532 +# Total code points: 542 # ================================================ @@ -557,7 +561,7 @@ ABF0..ABF9 ; NU # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE 0830..083E ; AL # Po [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU 0840..0858 ; AL # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN 085E ; AL # Po MANDAIC PUNCTUATION -08A0..08B2 ; AL # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE +08A0..08B4 ; AL # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW 0904..0939 ; AL # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA 093D ; AL # Lo DEVANAGARI SIGN AVAGRAHA 0950 ; AL # Lo DEVANAGARI OM @@ -598,6 +602,7 @@ ABF0..ABF9 ; NU # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE 0AD0 ; AL # Lo GUJARATI OM 0AE0..0AE1 ; AL # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL 0AF0 ; AL # Po GUJARATI ABBREVIATION SIGN +0AF9 ; AL # Lo GUJARATI LETTER ZHA 0B05..0B0C ; AL # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L 0B0F..0B10 ; AL # Lo [2] ORIYA LETTER E..ORIYA LETTER AI 0B13..0B28 ; AL # Lo [22] ORIYA LETTER O..ORIYA LETTER NA @@ -629,7 +634,7 @@ ABF0..ABF9 ; NU # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE 0C12..0C28 ; AL # Lo [23] TELUGU LETTER O..TELUGU LETTER NA 0C2A..0C39 ; AL # Lo [16] TELUGU LETTER PA..TELUGU LETTER HA 0C3D ; AL # Lo TELUGU SIGN AVAGRAHA -0C58..0C59 ; AL # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA +0C58..0C5A ; AL # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA 0C60..0C61 ; AL # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL 0C78..0C7E ; AL # No [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR 0C7F ; AL # So TELUGU SIGN TUUMU @@ -647,7 +652,7 @@ ABF0..ABF9 ; NU # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE 0D12..0D3A ; AL # Lo [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA 0D3D ; AL # Lo MALAYALAM SIGN AVAGRAHA 0D4E ; AL # Lo MALAYALAM LETTER DOT REPH -0D60..0D61 ; AL # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL +0D5F..0D61 ; AL # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL 0D70..0D75 ; AL # No [6] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE QUARTERS 0D7A..0D7F ; AL # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K 0D85..0D96 ; AL # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA @@ -702,7 +707,8 @@ ABF0..ABF9 ; NU # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE 1369..137C ; AL # No [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND 1380..138F ; AL # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE 1390..1399 ; AL # So [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT -13A0..13F4 ; AL # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV +13A0..13F5 ; AL # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV +13F8..13FD ; AL # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV 1401..166C ; AL # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA 166D..166E ; AL # Po [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP 166F..167F ; AL # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W @@ -846,6 +852,7 @@ ABF0..ABF9 ; NU # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE 217A..2182 ; AL # Nl [9] SMALL ROMAN NUMERAL ELEVEN..ROMAN NUMERAL TEN THOUSAND 2183..2184 ; AL # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C 2185..2188 ; AL # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND +218A..218B ; AL # So [2] TURNED DIGIT TWO..TURNED DIGIT THREE 219A..219B ; AL # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE 219C..219F ; AL # So [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW 21A0 ; AL # Sm RIGHTWARDS TWO HEADED ARROW @@ -888,7 +895,8 @@ ABF0..ABF9 ; NU # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE 2296..2298 ; AL # Sm [3] CIRCLED MINUS..CIRCLED DIVISION SLASH 229A..22A4 ; AL # Sm [11] CIRCLED RING OPERATOR..DOWN TACK 22A6..22BE ; AL # Sm [25] ASSERTION..RIGHT ANGLE WITH ARC -22C0..22FF ; AL # Sm [64] N-ARY LOGICAL AND..Z NOTATION BAG MEMBERSHIP +22C0..22EE ; AL # Sm [47] N-ARY LOGICAL AND..VERTICAL ELLIPSIS +22F0..22FF ; AL # Sm [16] UP RIGHT DIAGONAL ELLIPSIS..Z NOTATION BAG MEMBERSHIP 2300..2307 ; AL # So [8] DIAMETER SIGN..WAVY LINE 230C..2311 ; AL # So [6] BOTTOM RIGHT CROP..SQUARE LOZENGE 2313..2319 ; AL # So [7] SEGMENT..TURNED NOT SIGN @@ -965,6 +973,7 @@ ABF0..ABF9 ; NU # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE 2B98..2BB9 ; AL # So [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX 2BBD..2BC8 ; AL # So [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED 2BCA..2BD1 ; AL # So [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN +2BEC..2BEF ; AL # So [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS 2C00..2C2E ; AL # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE 2C30..2C5E ; AL # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE 2C60..2C7B ; AL # L& [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E @@ -1022,8 +1031,9 @@ A771..A787 ; AL # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR A788 ; AL # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT A789..A78A ; AL # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN A78B..A78E ; AL # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT +A78F ; AL # Lo LATIN LETTER SINOLOGICAL DOT A790..A7AD ; AL # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT -A7B0..A7B1 ; AL # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T +A7B0..A7B7 ; AL # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA A7F7 ; AL # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I A7F8..A7F9 ; AL # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE A7FA ; AL # L& LATIN LETTER SMALL CAPITAL TURNED M @@ -1040,6 +1050,7 @@ A882..A8B3 ; AL # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA A8F2..A8F7 ; AL # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA A8F8..A8FA ; AL # Po [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET A8FB ; AL # Lo DEVANAGARI HEADSTROKE +A8FD ; AL # Lo DEVANAGARI JAIN OM A90A..A925 ; AL # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO A930..A946 ; AL # Lo [23] REJANG LETTER KA..REJANG LETTER A A95F ; AL # Po REJANG SECTION MARK @@ -1063,7 +1074,8 @@ AB28..AB2E ; AL # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO AB30..AB5A ; AL # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG AB5B ; AL # Sk MODIFIER BREVE WITH INVERTED BREVE AB5C..AB5F ; AL # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB64..AB65 ; AL # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA +AB60..AB65 ; AL # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA +AB70..ABBF ; AL # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA ABC0..ABE2 ; AL # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM FB00..FB06 ; AL # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST FB13..FB17 ; AL # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH @@ -1138,12 +1150,18 @@ FFED..FFEE ; AL # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE 10879..1087F ; AL # No [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY 10880..1089E ; AL # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW 108A7..108AF ; AL # No [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED +108E0..108F2 ; AL # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F4..108F5 ; AL # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW +108FB..108FF ; AL # No [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED 10900..10915 ; AL # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU 10916..1091B ; AL # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE 10920..10939 ; AL # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C 1093F ; AL # Po LYDIAN TRIANGULAR MARK 10980..109B7 ; AL # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA +109BC..109BD ; AL # No [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF 109BE..109BF ; AL # Lo [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN +109C0..109CF ; AL # No [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY +109D2..109FF ; AL # No [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS 10A00 ; AL # Lo KHAROSHTHI LETTER A 10A10..10A13 ; AL # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA 10A15..10A17 ; AL # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA @@ -1168,6 +1186,9 @@ FFED..FFEE ; AL # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE 10B99..10B9C ; AL # Po [4] PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT 10BA9..10BAF ; AL # No [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED 10C00..10C48 ; AL # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH +10C80..10CB2 ; AL # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CC0..10CF2 ; AL # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US +10CFA..10CFF ; AL # No [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND 10E60..10E7E ; AL # No [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS 11003..11037 ; AL # Lo [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA 11049..1104D ; AL # Po [5] BRAHMI PUNCTUATION DOT..BRAHMI PUNCTUATION LOTUS @@ -1183,13 +1204,20 @@ FFED..FFEE ; AL # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE 11183..111B2 ; AL # Lo [48] SHARADA LETTER A..SHARADA LETTER HA 111C1..111C4 ; AL # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM 111C7 ; AL # Po SHARADA ABBREVIATION SIGN +111C9 ; AL # Po SHARADA SANDHI MARK 111CD ; AL # Po SHARADA SUTRA MARK 111DA ; AL # Lo SHARADA EKAM +111DC ; AL # Lo SHARADA HEADSTROKE 111E1..111F4 ; AL # No [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND 11200..11211 ; AL # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA 11213..1122B ; AL # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA 1123A ; AL # Po KHOJKI WORD SEPARATOR 1123D ; AL # Po KHOJKI ABBREVIATION SIGN +11280..11286 ; AL # Lo [7] MULTANI LETTER A..MULTANI LETTER GA +11288 ; AL # Lo MULTANI LETTER GHA +1128A..1128D ; AL # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D ; AL # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8 ; AL # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA 112B0..112DE ; AL # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA 11305..1130C ; AL # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L 1130F..11310 ; AL # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI @@ -1198,6 +1226,7 @@ FFED..FFEE ; AL # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE 11332..11333 ; AL # Lo [2] GRANTHA LETTER LA..GRANTHA LETTER LLA 11335..11339 ; AL # Lo [5] GRANTHA LETTER VA..GRANTHA LETTER HA 1133D ; AL # Lo GRANTHA SIGN AVAGRAHA +11350 ; AL # Lo GRANTHA OM 1135D..11361 ; AL # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL 11480..114AF ; AL # Lo [48] TIRHUTA ANJI..TIRHUTA LETTER HA 114C4..114C5 ; AL # Lo [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG @@ -1205,6 +1234,7 @@ FFED..FFEE ; AL # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE 114C7 ; AL # Lo TIRHUTA OM 11580..115AE ; AL # Lo [47] SIDDHAM LETTER A..SIDDHAM LETTER HA 115C6..115C8 ; AL # Po [3] SIDDHAM REPETITION MARK-1..SIDDHAM REPETITION MARK-3 +115D8..115DB ; AL # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U 11600..1162F ; AL # Lo [48] MODI LETTER A..MODI LETTER LLA 11643 ; AL # Po MODI ABBREVIATION SIGN 11644 ; AL # Lo MODI SIGN HUVA @@ -1213,13 +1243,16 @@ FFED..FFEE ; AL # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE 118EA..118F2 ; AL # No [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY 118FF ; AL # Lo WARANG CITI OM 11AC0..11AF8 ; AL # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -12000..12398 ; AL # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME +12000..12399 ; AL # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U 12400..1246E ; AL # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM +12480..12543 ; AL # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU 13000..13257 ; AL # Lo [600] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH O006 1325E..13281 ; AL # Lo [36] EGYPTIAN HIEROGLYPH O007..EGYPTIAN HIEROGLYPH O033 13283..13285 ; AL # Lo [3] EGYPTIAN HIEROGLYPH O034..EGYPTIAN HIEROGLYPH O036 1328A..13378 ; AL # Lo [239] EGYPTIAN HIEROGLYPH O037..EGYPTIAN HIEROGLYPH V011 1337C..1342E ; AL # Lo [179] EGYPTIAN HIEROGLYPH V012..EGYPTIAN HIEROGLYPH AA032 +14400..145CD ; AL # Lo [462] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A409 +145D0..14646 ; AL # Lo [119] ANATOLIAN HIEROGLYPH A411..ANATOLIAN HIEROGLYPH A530 16800..16A38 ; AL # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ 16A40..16A5E ; AL # Lo [31] MRO LETTER TA..MRO LETTER TEK 16AD0..16AED ; AL # Lo [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I @@ -1245,7 +1278,7 @@ FFED..FFEE ; AL # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE 1D16A..1D16C ; AL # So [3] MUSICAL SYMBOL FINGERED TREMOLO-1..MUSICAL SYMBOL FINGERED TREMOLO-3 1D183..1D184 ; AL # So [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN 1D18C..1D1A9 ; AL # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH -1D1AE..1D1DD ; AL # So [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS +1D1AE..1D1E8 ; AL # So [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN 1D200..1D241 ; AL # So [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54 1D245 ; AL # So GREEK MUSICAL LEIMMA 1D300..1D356 ; AL # So [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING @@ -1290,6 +1323,12 @@ FFED..FFEE ; AL # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE 1D7AA..1D7C2 ; AL # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA 1D7C3 ; AL # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL 1D7C4..1D7CB ; AL # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA +1D800..1D9FF ; AL # So [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD +1DA37..1DA3A ; AL # So [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE +1DA6D..1DA74 ; AL # So [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING +1DA76..1DA83 ; AL # So [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH +1DA85..1DA86 ; AL # So [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS +1DA8B ; AL # Po SIGNWRITING PARENTHESIS 1E800..1E8C4 ; AL # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON 1E8C7..1E8CF ; AL # No [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE 1EE00..1EE03 ; AL # Lo [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL @@ -1331,6 +1370,7 @@ FFED..FFEE ; AL # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE 1F39C..1F39D ; AL # So [2] BEAMED ASCENDING MUSICAL NOTES..BEAMED DESCENDING MUSICAL NOTES 1F3B5..1F3B6 ; AL # So [2] MUSICAL NOTE..MULTIPLE MUSICAL NOTES 1F3BC ; AL # So MUSICAL SCORE +1F3FB..1F3FF ; AL # Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6 1F4A0 ; AL # So DIAMOND SHAPE WITH A DOT INSIDE 1F4A2 ; AL # So ANGER SYMBOL 1F4A4 ; AL # So SLEEPING SYMBOL @@ -1351,7 +1391,7 @@ FFED..FFEE ; AL # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE 1F860..1F887 ; AL # So [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW 1F890..1F8AD ; AL # So [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS -# Total code points: 17608 +# Total code points: 19294 # ================================================ @@ -1438,8 +1478,8 @@ FFED..FFEE ; AL # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE 3300..33FF ; ID # So [256] SQUARE APAATO..SQUARE GAL 3400..4DB5 ; ID # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 4DB6..4DBF ; ID # Cn [10] .. -4E00..9FCC ; ID # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC -9FCD..9FFF ; ID # Cn [51] .. +4E00..9FD5 ; ID # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 +9FD6..9FFF ; ID # Cn [42] .. A000..A014 ; ID # Lo [21] YI SYLLABLE IT..YI SYLLABLE E A016..A48C ; ID # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR A490..A4C6 ; ID # So [55] YI RADICAL QOT..YI RADICAL KE @@ -1492,52 +1532,53 @@ FFE4 ; ID # So FULLWIDTH BROKEN BAR 1F210..1F23A ; ID # So [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6 1F240..1F248 ; ID # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557 1F250..1F251 ; ID # So [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT -1F300..1F32C ; ID # So [45] CYCLONE..WIND BLOWING FACE -1F330..1F37D ; ID # So [78] CHESTNUT..FORK AND KNIFE WITH PLATE -1F380..1F39B ; ID # So [28] RIBBON..CONTROL KNOBS +1F300..1F39B ; ID # So [156] CYCLONE..CONTROL KNOBS 1F39E..1F3B4 ; ID # So [23] FILM FRAMES..FLOWER PLAYING CARDS 1F3B7..1F3BB ; ID # So [5] SAXOPHONE..VIOLIN -1F3BD..1F3CE ; ID # So [18] RUNNING SHIRT WITH SASH..RACING CAR -1F3D4..1F3F7 ; ID # So [36] SNOW CAPPED MOUNTAIN..LABEL +1F3BD..1F3FA ; ID # So [62] RUNNING SHIRT WITH SASH..AMPHORA 1F400..1F49F ; ID # So [160] RAT..HEART DECORATION 1F4A1 ; ID # So ELECTRIC LIGHT BULB 1F4A3 ; ID # So BOMB 1F4A5..1F4AE ; ID # So [10] COLLISION SYMBOL..WHITE FLOWER 1F4B0 ; ID # So MONEY BAG -1F4B3..1F4FE ; ID # So [76] CREDIT CARD..PORTABLE STEREO +1F4B3..1F4FF ; ID # So [77] CREDIT CARD..PRAYER BEADS 1F507..1F516 ; ID # So [16] SPEAKER WITH CANCELLATION STROKE..BOOKMARK 1F525..1F531 ; ID # So [13] FIRE..TRIDENT EMBLEM -1F54A ; ID # So DOVE OF PEACE -1F550..1F579 ; ID # So [42] CLOCK FACE ONE OCLOCK..JOYSTICK +1F54A..1F579 ; ID # So [48] DOVE OF PEACE..JOYSTICK 1F57B..1F5A3 ; ID # So [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX 1F5A5..1F5D3 ; ID # So [47] DESKTOP COMPUTER..SPIRAL CALENDAR PAD 1F5DC..1F5F3 ; ID # So [24] COMPRESSION..BALLOT BOX WITH BALLOT -1F5FA..1F642 ; ID # So [73] WORLD MAP..SLIGHTLY SMILING FACE -1F645..1F64F ; ID # So [11] FACE WITH NO GOOD GESTURE..PERSON WITH FOLDED HANDS -1F680..1F6CF ; ID # So [80] ROCKET..BED +1F5FA..1F64F ; ID # So [86] WORLD MAP..PERSON WITH FOLDED HANDS +1F680..1F6D0 ; ID # So [81] ROCKET..PLACE OF WORSHIP 1F6E0..1F6EC ; ID # So [13] HAMMER AND WRENCH..AIRPLANE ARRIVING 1F6F0..1F6F3 ; ID # So [4] SATELLITE..PASSENGER SHIP +1F910..1F918 ; ID # So [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS +1F980..1F984 ; ID # So [5] CRAB..UNICORN FACE +1F9C0 ; ID # So CHEESE WEDGE 20000..2A6D6 ; ID # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 2A6D7..2A6FF ; ID # Cn [41] .. 2A700..2B734 ; ID # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 2B735..2B73F ; ID # Cn [11] .. 2B740..2B81D ; ID # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D -2B81E..2F7FF ; ID # Cn [16354] .. +2B81E..2B81F ; ID # Cn [2] .. +2B820..2CEA1 ; ID # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 +2CEA2..2F7FF ; ID # Cn [10590] .. 2F800..2FA1D ; ID # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D 2FA1E..2FFFD ; ID # Cn [1504] .. 30000..3FFFD ; ID # Cn [65534] .. -# Total code points: 162936 +# Total code points: 162973 # ================================================ # Line_Break=Inseparable 2024..2026 ; IN # Po [3] ONE DOT LEADER..HORIZONTAL ELLIPSIS +22EF ; IN # Sm MIDLINE HORIZONTAL ELLIPSIS FE19 ; IN # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS 10AF6 ; IN # Po MANICHAEAN PUNCTUATION LINE FILLER -# Total code points: 5 +# Total code points: 6 # ================================================ @@ -1582,7 +1623,7 @@ FE19 ; IN # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS 0825..0827 ; CM # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U 0829..082D ; CM # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA 0859..085B ; CM # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK -08E4..0902 ; CM # Mn [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA +08E3..0902 ; CM # Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA 0903 ; CM # Mc DEVANAGARI SIGN VISARGA 093A ; CM # Mn DEVANAGARI VOWEL SIGN OE 093B ; CM # Mc DEVANAGARI VOWEL SIGN OOE @@ -1772,7 +1813,7 @@ FE19 ; IN # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS A66F ; CM # Mn COMBINING CYRILLIC VZMET A670..A672 ; CM # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN A674..A67D ; CM # Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK -A69F ; CM # Mn COMBINING CYRILLIC LETTER IOTIFIED E +A69E..A69F ; CM # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E A6F0..A6F1 ; CM # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS A802 ; CM # Mn SYLOTI NAGRI SIGN DVISVARA A806 ; CM # Mn SYLOTI NAGRI SIGN HASANTA @@ -1817,7 +1858,7 @@ ABEC ; CM # Mc MEETEI MAYEK LUM IYEK ABED ; CM # Mn MEETEI MAYEK APUN IYEK FB1E ; CM # Mn HEBREW POINT JUDEO-SPANISH VARIKA FE00..FE0F ; CM # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 -FE20..FE2D ; CM # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW +FE20..FE2F ; CM # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF FFF9..FFFB ; CM # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR 101FD ; CM # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE 102E0 ; CM # Mn COPTIC EPACT THOUSANDS MARK @@ -1848,6 +1889,7 @@ FFF9..FFFB ; CM # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTAT 111B3..111B5 ; CM # Mc [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II 111B6..111BE ; CM # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O 111BF..111C0 ; CM # Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA +111CA..111CC ; CM # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK 1122C..1122E ; CM # Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II 1122F..11231 ; CM # Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI 11232..11233 ; CM # Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU @@ -1857,7 +1899,7 @@ FFF9..FFFB ; CM # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTAT 112DF ; CM # Mn KHUDAWADI SIGN ANUSVARA 112E0..112E2 ; CM # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II 112E3..112EA ; CM # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA -11301 ; CM # Mn GRANTHA SIGN CANDRABINDU +11300..11301 ; CM # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 11302..11303 ; CM # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA 1133C ; CM # Mn GRANTHA SIGN NUKTA 1133E..1133F ; CM # Mc [2] GRANTHA VOWEL SIGN AA..GRANTHA VOWEL SIGN I @@ -1883,6 +1925,7 @@ FFF9..FFFB ; CM # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTAT 115BC..115BD ; CM # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 115BE ; CM # Mc SIDDHAM SIGN VISARGA 115BF..115C0 ; CM # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA +115DC..115DD ; CM # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 11630..11632 ; CM # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II 11633..1163A ; CM # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI 1163B..1163C ; CM # Mc [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU @@ -1910,12 +1953,18 @@ FFF9..FFFB ; CM # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTAT 1D185..1D18B ; CM # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE 1D1AA..1D1AD ; CM # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO 1D242..1D244 ; CM # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME +1DA00..1DA36 ; CM # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN +1DA3B..1DA6C ; CM # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT +1DA75 ; CM # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA84 ; CM # Mn SIGNWRITING LOCATION HEAD NECK +1DA9B..1DA9F ; CM # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF ; CM # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 1E8D0..1E8D6 ; CM # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS E0001 ; CM # Cf LANGUAGE TAG E0020..E007F ; CM # Cf [96] TAG SPACE..CANCEL TAG E0100..E01EF ; CM # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 -# Total code points: 1820 +# Total code points: 1957 # ================================================ @@ -1934,10 +1983,12 @@ E0100..E01EF ; CM # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 1806 ; BB # Pd MONGOLIAN TODO SOFT HYPHEN 1FFD ; BB # Sk GREEK OXIA A874..A875 ; BB # Po [2] PHAGS-PA SINGLE HEAD MARK..PHAGS-PA DOUBLE HEAD MARK +A8FC ; BB # Po DEVANAGARI SIGN SIDDHAM 11175 ; BB # Po MAHAJANI SECTION MARK +111DB ; BB # Po SHARADA SIGN SIDDHAM 115C1 ; BB # Po SIDDHAM SIGN SIDDHAM -# Total code points: 21 +# Total code points: 23 # ================================================ @@ -2015,19 +2066,23 @@ ABEB ; BA # Po MEETEI MAYEK CHEIKHEI 11140..11143 ; BA # Po [4] CHAKMA SECTION MARK..CHAKMA QUESTION MARK 111C5..111C6 ; BA # Po [2] SHARADA DANDA..SHARADA DOUBLE DANDA 111C8 ; BA # Po SHARADA SEPARATOR +111DD..111DF ; BA # Po [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2 11238..11239 ; BA # Po [2] KHOJKI DANDA..KHOJKI DOUBLE DANDA 1123B..1123C ; BA # Po [2] KHOJKI SECTION MARK..KHOJKI DOUBLE SECTION MARK +112A9 ; BA # Po MULTANI SECTION MARK 115C2..115C3 ; BA # Po [2] SIDDHAM DANDA..SIDDHAM DOUBLE DANDA -115C9 ; BA # Po SIDDHAM END OF TEXT MARK +115C9..115D7 ; BA # Po [15] SIDDHAM END OF TEXT MARK..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES 11641..11642 ; BA # Po [2] MODI DANDA..MODI DOUBLE DANDA +1173C..1173E ; BA # Po [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI 12470..12474 ; BA # Po [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON 16A6E..16A6F ; BA # Po [2] MRO DANDA..MRO DOUBLE DANDA 16AF5 ; BA # Po BASSA VAH FULL STOP 16B37..16B39 ; BA # Po [3] PAHAWH HMONG SIGN VOS THOM..PAHAWH HMONG SIGN CIM CHEEM 16B44 ; BA # Po PAHAWH HMONG SIGN XAUS 1BC9F ; BA # Po DUPLOYAN PUNCTUATION CHINOOK FULL STOP +1DA87..1DA8A ; BA # Po [4] SIGNWRITING COMMA..SIGNWRITING COLON -# Total code points: 181 +# Total code points: 206 # ================================================ @@ -2149,9 +2204,7 @@ FFFC ; CB # So OBJECT REPLACEMENT CHARACTER 1950..196D ; SA # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI 1970..1974 ; SA # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 1980..19AB ; SA # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA -19B0..19C0 ; SA # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY -19C1..19C7 ; SA # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B -19C8..19C9 ; SA # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 +19B0..19C9 ; SA # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 19DA ; SA # No NEW TAI LUE THAM DIGIT ONE 19DE..19DF ; SA # So [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV 1A20..1A54 ; SA # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA @@ -2196,8 +2249,16 @@ AAC2 ; SA # Lo TAI VIET TONE MAI SONG AADB..AADC ; SA # Lo [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG AADD ; SA # Lm TAI VIET SYMBOL SAM AADE..AADF ; SA # Po [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI - -# Total code points: 690 +11700..11719 ; SA # Lo [26] AHOM LETTER KA..AHOM LETTER JHA +1171D..1171F ; SA # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11720..11721 ; SA # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11722..11725 ; SA # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11726 ; SA # Mc AHOM VOWEL SIGN E +11727..1172B ; SA # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER +1173A..1173B ; SA # No [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY +1173F ; SA # So AHOM SYMBOL VI + +# Total code points: 734 # ================================================ diff --git a/lib/unicore/extracted/DNumType.txt b/lib/unicore/extracted/DNumType.txt index e2edb24..c942302 100644 --- a/lib/unicore/extracted/DNumType.txt +++ b/lib/unicore/extracted/DNumType.txt @@ -1,8 +1,8 @@ -# DerivedNumericType-7.0.0.txt -# Date: 2013-12-03, 15:11:49 GMT [MD] +# DerivedNumericType-8.0.0.txt +# Date: 2015-02-13, 13:47:13 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2013 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ @@ -127,7 +127,11 @@ F9FD ; Numeric # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 10858..1085F ; Numeric # No [8] IMPERIAL ARAMAIC NUMBER ONE..IMPERIAL ARAMAIC NUMBER TEN THOUSAND 10879..1087F ; Numeric # No [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY 108A7..108AF ; Numeric # No [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED +108FB..108FF ; Numeric # No [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED 10916..1091B ; Numeric # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE +109BC..109BD ; Numeric # No [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF +109C0..109CF ; Numeric # No [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY +109D2..109FF ; Numeric # No [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS 10A44..10A47 ; Numeric # No [4] KHAROSHTHI NUMBER TEN..KHAROSHTHI NUMBER ONE THOUSAND 10A7D..10A7E ; Numeric # No [2] OLD SOUTH ARABIAN NUMBER ONE..OLD SOUTH ARABIAN NUMBER FIFTY 10A9D..10A9F ; Numeric # No [3] OLD NORTH ARABIAN NUMBER ONE..OLD NORTH ARABIAN NUMBER TWENTY @@ -135,9 +139,11 @@ F9FD ; Numeric # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 10B58..10B5F ; Numeric # No [8] INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND 10B78..10B7F ; Numeric # No [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND 10BA9..10BAF ; Numeric # No [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED +10CFA..10CFF ; Numeric # No [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND 10E69..10E7E ; Numeric # No [22] RUMI NUMBER TEN..RUMI FRACTION TWO THIRDS 1105B..11065 ; Numeric # No [11] BRAHMI NUMBER TEN..BRAHMI NUMBER ONE THOUSAND 111E1..111F4 ; Numeric # No [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND +1173A..1173B ; Numeric # No [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY 118EA..118F2 ; Numeric # No [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY 12400..1246E ; Numeric # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM 16B5B..16B61 ; Numeric # No [7] PAHAWH HMONG NUMBER TENS..PAHAWH HMONG NUMBER TRILLIONS @@ -161,7 +167,7 @@ F9FD ; Numeric # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 2626D ; Numeric # Lo CJK UNIFIED IDEOGRAPH-2626D 2F890 ; Numeric # Lo CJK COMPATIBILITY IDEOGRAPH-2F890 -# Total code points: 759 +# Total code points: 836 # ================================================ @@ -236,11 +242,12 @@ FF10..FF19 ; Decimal # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE 114D0..114D9 ; Decimal # Nd [10] TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE 11650..11659 ; Decimal # Nd [10] MODI DIGIT ZERO..MODI DIGIT NINE 116C0..116C9 ; Decimal # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE +11730..11739 ; Decimal # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE 118E0..118E9 ; Decimal # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE 16A60..16A69 ; Decimal # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE 16B50..16B59 ; Decimal # Nd [10] PAHAWH HMONG DIGIT ZERO..PAHAWH HMONG DIGIT NINE 1D7CE..1D7FF ; Decimal # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE -# Total code points: 540 +# Total code points: 550 # EOF diff --git a/lib/unicore/extracted/DNumValues.txt b/lib/unicore/extracted/DNumValues.txt index cfde691..4c749b2 100644 --- a/lib/unicore/extracted/DNumValues.txt +++ b/lib/unicore/extracted/DNumValues.txt @@ -1,8 +1,8 @@ -# DerivedNumericValues-7.0.0.txt -# Date: 2014-03-18, 07:28:51 GMT [MD] +# DerivedNumericValues-8.0.0.txt +# Date: 2015-02-13, 13:47:13 GMT [MD] # # Unicode Character Database -# Copyright (c) 1991-2014 Unicode, Inc. +# Copyright (c) 1991-2015 Unicode, Inc. # For terms of use, see http://www.unicode.org/terms_of_use.html # For documentation, see http://www.unicode.org/reports/tr44/ @@ -96,6 +96,7 @@ FF10 ; 0.0 ; ; 0 # Nd FULLWIDTH DIGIT ZERO 114D0 ; 0.0 ; ; 0 # Nd TIRHUTA DIGIT ZERO 11650 ; 0.0 ; ; 0 # Nd MODI DIGIT ZERO 116C0 ; 0.0 ; ; 0 # Nd TAKRI DIGIT ZERO +11730 ; 0.0 ; ; 0 # Nd AHOM DIGIT ZERO 118E0 ; 0.0 ; ; 0 # Nd WARANG CITI DIGIT ZERO 16A60 ; 0.0 ; ; 0 # Nd MRO DIGIT ZERO 16B50 ; 0.0 ; ; 0 # Nd PAHAWH HMONG DIGIT ZERO @@ -107,7 +108,7 @@ FF10 ; 0.0 ; ; 0 # Nd FULLWIDTH DIGIT ZERO 1F100..1F101 ; 0.0 ; ; 0 # No [2] DIGIT ZERO FULL STOP..DIGIT ZERO COMMA 1F10B..1F10C ; 0.0 ; ; 0 # No [2] DINGBAT CIRCLED SANS-SERIF DIGIT ZERO..DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ZERO -# Total code points: 70 +# Total code points: 71 # ================================================ @@ -119,6 +120,12 @@ A833 ; 0.0625 ; ; 1/16 # No NORTH INDIC FRACTION ONE SIXTEENTH # ================================================ +109F6 ; 0.08333333 ; ; 1/12 # No MEROITIC CURSIVE FRACTION ONE TWELFTH + +# Total code points: 1 + +# ================================================ + 2152 ; 0.1 ; ; 1/10 # No VULGAR FRACTION ONE TENTH # Total code points: 1 @@ -148,9 +155,10 @@ A834 ; 0.125 ; ; 1/8 # No NORTH INDIC FRACTION ONE EIGHTH # ================================================ 2159 ; 0.16666667 ; ; 1/6 # No VULGAR FRACTION ONE SIXTH +109F7 ; 0.16666667 ; ; 1/6 # No MEROITIC CURSIVE FRACTION TWO TWELFTHS 12461 ; 0.16666667 ; ; 1/6 # Nl CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH -# Total code points: 2 +# Total code points: 3 # ================================================ @@ -175,21 +183,23 @@ A835 ; 0.1875 ; ; 3/16 # No NORTH INDIC FRACTION THREE SIXTEENTHS A830 ; 0.25 ; ; 1/4 # No NORTH INDIC FRACTION ONE QUARTER 10140 ; 0.25 ; ; 1/4 # Nl GREEK ACROPHONIC ATTIC ONE QUARTER 1018B ; 0.25 ; ; 1/4 # No GREEK ONE QUARTER SIGN +109F8 ; 0.25 ; ; 1/4 # No MEROITIC CURSIVE FRACTION THREE TWELFTHS 10E7C ; 0.25 ; ; 1/4 # No RUMI FRACTION ONE QUARTER 12460 ; 0.25 ; ; 1/4 # Nl CUNEIFORM NUMERIC SIGN ONE QUARTER ASH 12462..12463 ; 0.25 ; ; 1/4 # Nl [2] CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER..CUNEIFORM NUMERIC SIGN ONE QUARTER GUR -# Total code points: 11 +# Total code points: 12 # ================================================ 2153 ; 0.33333333 ; ; 1/3 # No VULGAR FRACTION ONE THIRD +109F9 ; 0.33333333 ; ; 1/3 # No MEROITIC CURSIVE FRACTION FOUR TWELFTHS 10E7D ; 0.33333333 ; ; 1/3 # No RUMI FRACTION ONE THIRD 1245A ; 0.33333333 ; ; 1/3 # Nl CUNEIFORM NUMERIC SIGN ONE THIRD DISH 1245D ; 0.33333333 ; ; 1/3 # Nl CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A 12465 ; 0.33333333 ; ; 1/3 # Nl CUNEIFORM NUMERIC SIGN ELAMITE ONE THIRD -# Total code points: 5 +# Total code points: 6 # ================================================ @@ -205,6 +215,12 @@ A830 ; 0.25 ; ; 1/4 # No NORTH INDIC FRACTION ONE QUARTER # ================================================ +109FA ; 0.41666667 ; ; 5/12 # No MEROITIC CURSIVE FRACTION FIVE TWELFTHS + +# Total code points: 1 + +# ================================================ + 00BD ; 0.5 ; ; 1/2 # No VULGAR FRACTION ONE HALF 0B73 ; 0.5 ; ; 1/2 # No ORIYA FRACTION ONE HALF 0D74 ; 0.5 ; ; 1/2 # No MALAYALAM FRACTION ONE HALF @@ -213,10 +229,18 @@ A830 ; 0.25 ; ; 1/4 # No NORTH INDIC FRACTION ONE QUARTER A831 ; 0.5 ; ; 1/2 # No NORTH INDIC FRACTION ONE HALF 10141 ; 0.5 ; ; 1/2 # Nl GREEK ACROPHONIC ATTIC ONE HALF 10175..10176 ; 0.5 ; ; 1/2 # No [2] GREEK ONE HALF SIGN..GREEK ONE HALF SIGN ALTERNATE FORM +109BD ; 0.5 ; ; 1/2 # No MEROITIC CURSIVE FRACTION ONE HALF +109FB ; 0.5 ; ; 1/2 # No MEROITIC CURSIVE FRACTION SIX TWELFTHS 10E7B ; 0.5 ; ; 1/2 # No RUMI FRACTION ONE HALF 12464 ; 0.5 ; ; 1/2 # Nl CUNEIFORM NUMERIC SIGN ONE HALF GUR -# Total code points: 11 +# Total code points: 13 + +# ================================================ + +109FC ; 0.58333333 ; ; 7/12 # No MEROITIC CURSIVE FRACTION SEVEN TWELFTHS + +# Total code points: 1 # ================================================ @@ -234,12 +258,13 @@ A831 ; 0.5 ; ; 1/2 # No NORTH INDIC FRACTION ONE HALF 2154 ; 0.66666667 ; ; 2/3 # No VULGAR FRACTION TWO THIRDS 10177 ; 0.66666667 ; ; 2/3 # No GREEK TWO THIRDS SIGN +109FD ; 0.66666667 ; ; 2/3 # No MEROITIC CURSIVE FRACTION EIGHT TWELFTHS 10E7E ; 0.66666667 ; ; 2/3 # No RUMI FRACTION TWO THIRDS 1245B ; 0.66666667 ; ; 2/3 # Nl CUNEIFORM NUMERIC SIGN TWO THIRDS DISH 1245E ; 0.66666667 ; ; 2/3 # Nl CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A 12466 ; 0.66666667 ; ; 2/3 # Nl CUNEIFORM NUMERIC SIGN ELAMITE TWO THIRDS -# Total code points: 6 +# Total code points: 7 # ================================================ @@ -249,8 +274,9 @@ A831 ; 0.5 ; ; 1/2 # No NORTH INDIC FRACTION ONE HALF 0D75 ; 0.75 ; ; 3/4 # No MALAYALAM FRACTION THREE QUARTERS A832 ; 0.75 ; ; 3/4 # No NORTH INDIC FRACTION THREE QUARTERS 10178 ; 0.75 ; ; 3/4 # No GREEK THREE QUARTERS SIGN +109FE ; 0.75 ; ; 3/4 # No MEROITIC CURSIVE FRACTION NINE TWELFTHS -# Total code points: 6 +# Total code points: 7 # ================================================ @@ -261,9 +287,10 @@ A832 ; 0.75 ; ; 3/4 # No NORTH INDIC FRACTION THREE QUARTERS # ================================================ 215A ; 0.83333333 ; ; 5/6 # No VULGAR FRACTION FIVE SIXTHS +109FF ; 0.83333333 ; ; 5/6 # No MEROITIC CURSIVE FRACTION TEN TWELFTHS 1245C ; 0.83333333 ; ; 5/6 # Nl CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH -# Total code points: 2 +# Total code points: 3 # ================================================ @@ -273,6 +300,12 @@ A832 ; 0.75 ; ; 3/4 # No NORTH INDIC FRACTION THREE QUARTERS # ================================================ +109BC ; 0.91666667 ; ; 11/12 # No MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS + +# Total code points: 1 + +# ================================================ + 0031 ; 1.0 ; ; 1 # Nd DIGIT ONE 00B9 ; 1.0 ; ; 1 # No SUPERSCRIPT ONE 0661 ; 1.0 ; ; 1 # Nd ARABIC-INDIC DIGIT ONE @@ -347,7 +380,9 @@ FF11 ; 1.0 ; ; 1 # Nd FULLWIDTH DIGIT ONE 10858 ; 1.0 ; ; 1 # No IMPERIAL ARAMAIC NUMBER ONE 10879 ; 1.0 ; ; 1 # No PALMYRENE NUMBER ONE 108A7 ; 1.0 ; ; 1 # No NABATAEAN NUMBER ONE +108FB ; 1.0 ; ; 1 # No HATRAN NUMBER ONE 10916 ; 1.0 ; ; 1 # No PHOENICIAN NUMBER ONE +109C0 ; 1.0 ; ; 1 # No MEROITIC CURSIVE NUMBER ONE 10A40 ; 1.0 ; ; 1 # No KHAROSHTHI DIGIT ONE 10A7D ; 1.0 ; ; 1 # No OLD SOUTH ARABIAN NUMBER ONE 10A9D ; 1.0 ; ; 1 # No OLD NORTH ARABIAN NUMBER ONE @@ -355,6 +390,7 @@ FF11 ; 1.0 ; ; 1 # Nd FULLWIDTH DIGIT ONE 10B58 ; 1.0 ; ; 1 # No INSCRIPTIONAL PARTHIAN NUMBER ONE 10B78 ; 1.0 ; ; 1 # No INSCRIPTIONAL PAHLAVI NUMBER ONE 10BA9 ; 1.0 ; ; 1 # No PSALTER PAHLAVI NUMBER ONE +10CFA ; 1.0 ; ; 1 # No OLD HUNGARIAN NUMBER ONE 10E60 ; 1.0 ; ; 1 # No RUMI DIGIT ONE 11052 ; 1.0 ; ; 1 # No BRAHMI NUMBER ONE 11067 ; 1.0 ; ; 1 # Nd BRAHMI DIGIT ONE @@ -366,6 +402,7 @@ FF11 ; 1.0 ; ; 1 # Nd FULLWIDTH DIGIT ONE 114D1 ; 1.0 ; ; 1 # Nd TIRHUTA DIGIT ONE 11651 ; 1.0 ; ; 1 # Nd MODI DIGIT ONE 116C1 ; 1.0 ; ; 1 # Nd TAKRI DIGIT ONE +11731 ; 1.0 ; ; 1 # Nd AHOM DIGIT ONE 118E1 ; 1.0 ; ; 1 # Nd WARANG CITI DIGIT ONE 12415 ; 1.0 ; ; 1 # Nl CUNEIFORM NUMERIC SIGN ONE GESH2 1241E ; 1.0 ; ; 1 # Nl CUNEIFORM NUMERIC SIGN ONE GESHU @@ -385,7 +422,7 @@ FF11 ; 1.0 ; ; 1 # Nd FULLWIDTH DIGIT ONE 1F102 ; 1.0 ; ; 1 # No DIGIT ONE COMMA 2092A ; 1.0 ; ; 1 # Lo CJK UNIFIED IDEOGRAPH-2092A -# Total code points: 113 +# Total code points: 117 # ================================================ @@ -470,6 +507,7 @@ FF12 ; 2.0 ; ; 2 # Nd FULLWIDTH DIGIT TWO 1087A ; 2.0 ; ; 2 # No PALMYRENE NUMBER TWO 108A8 ; 2.0 ; ; 2 # No NABATAEAN NUMBER TWO 1091A ; 2.0 ; ; 2 # No PHOENICIAN NUMBER TWO +109C1 ; 2.0 ; ; 2 # No MEROITIC CURSIVE NUMBER TWO 10A41 ; 2.0 ; ; 2 # No KHAROSHTHI DIGIT TWO 10B59 ; 2.0 ; ; 2 # No INSCRIPTIONAL PARTHIAN NUMBER TWO 10B79 ; 2.0 ; ; 2 # No INSCRIPTIONAL PAHLAVI NUMBER TWO @@ -485,6 +523,7 @@ FF12 ; 2.0 ; ; 2 # Nd FULLWIDTH DIGIT TWO 114D2 ; 2.0 ; ; 2 # Nd TIRHUTA DIGIT TWO 11652 ; 2.0 ; ; 2 # Nd MODI DIGIT TWO 116C2 ; 2.0 ; ; 2 # Nd TAKRI DIGIT TWO +11732 ; 2.0 ; ; 2 # Nd AHOM DIGIT TWO 118E2 ; 2.0 ; ; 2 # Nd WARANG CITI DIGIT TWO 12400 ; 2.0 ; ; 2 # Nl CUNEIFORM NUMERIC SIGN TWO ASH 12416 ; 2.0 ; ; 2 # Nl CUNEIFORM NUMERIC SIGN TWO GESH2 @@ -508,7 +547,7 @@ FF12 ; 2.0 ; ; 2 # Nd FULLWIDTH DIGIT TWO 1F103 ; 2.0 ; ; 2 # No DIGIT TWO COMMA 22390 ; 2.0 ; ; 2 # Lo CJK UNIFIED IDEOGRAPH-22390 -# Total code points: 115 +# Total code points: 117 # ================================================ @@ -587,6 +626,7 @@ FF13 ; 3.0 ; ; 3 # Nd FULLWIDTH DIGIT THREE 1087B ; 3.0 ; ; 3 # No PALMYRENE NUMBER THREE 108A9 ; 3.0 ; ; 3 # No NABATAEAN NUMBER THREE 1091B ; 3.0 ; ; 3 # No PHOENICIAN NUMBER THREE +109C2 ; 3.0 ; ; 3 # No MEROITIC CURSIVE NUMBER THREE 10A42 ; 3.0 ; ; 3 # No KHAROSHTHI DIGIT THREE 10B5A ; 3.0 ; ; 3 # No INSCRIPTIONAL PARTHIAN NUMBER THREE 10B7A ; 3.0 ; ; 3 # No INSCRIPTIONAL PAHLAVI NUMBER THREE @@ -602,6 +642,7 @@ FF13 ; 3.0 ; ; 3 # Nd FULLWIDTH DIGIT THREE 114D3 ; 3.0 ; ; 3 # Nd TIRHUTA DIGIT THREE 11653 ; 3.0 ; ; 3 # Nd MODI DIGIT THREE 116C3 ; 3.0 ; ; 3 # Nd TAKRI DIGIT THREE +11733 ; 3.0 ; ; 3 # Nd AHOM DIGIT THREE 118E3 ; 3.0 ; ; 3 # Nd WARANG CITI DIGIT THREE 12401 ; 3.0 ; ; 3 # Nl CUNEIFORM NUMERIC SIGN THREE ASH 12408 ; 3.0 ; ; 3 # Nl CUNEIFORM NUMERIC SIGN THREE DISH @@ -629,7 +670,7 @@ FF13 ; 3.0 ; ; 3 # Nd FULLWIDTH DIGIT THREE 22998 ; 3.0 ; ; 3 # Lo CJK UNIFIED IDEOGRAPH-22998 23B1B ; 3.0 ; ; 3 # Lo CJK UNIFIED IDEOGRAPH-23B1B -# Total code points: 117 +# Total code points: 119 # ================================================ @@ -702,6 +743,7 @@ FF14 ; 4.0 ; ; 4 # Nd FULLWIDTH DIGIT FOUR 104A4 ; 4.0 ; ; 4 # Nd OSMANYA DIGIT FOUR 1087C ; 4.0 ; ; 4 # No PALMYRENE NUMBER FOUR 108AA..108AB ; 4.0 ; ; 4 # No [2] NABATAEAN NUMBER FOUR..NABATAEAN CRUCIFORM NUMBER FOUR +109C3 ; 4.0 ; ; 4 # No MEROITIC CURSIVE NUMBER FOUR 10A43 ; 4.0 ; ; 4 # No KHAROSHTHI DIGIT FOUR 10B5B ; 4.0 ; ; 4 # No INSCRIPTIONAL PARTHIAN NUMBER FOUR 10B7B ; 4.0 ; ; 4 # No INSCRIPTIONAL PAHLAVI NUMBER FOUR @@ -717,6 +759,7 @@ FF14 ; 4.0 ; ; 4 # Nd FULLWIDTH DIGIT FOUR 114D4 ; 4.0 ; ; 4 # Nd TIRHUTA DIGIT FOUR 11654 ; 4.0 ; ; 4 # Nd MODI DIGIT FOUR 116C4 ; 4.0 ; ; 4 # Nd TAKRI DIGIT FOUR +11734 ; 4.0 ; ; 4 # Nd AHOM DIGIT FOUR 118E4 ; 4.0 ; ; 4 # Nd WARANG CITI DIGIT FOUR 12402 ; 4.0 ; ; 4 # Nl CUNEIFORM NUMERIC SIGN FOUR ASH 12409 ; 4.0 ; ; 4 # Nl CUNEIFORM NUMERIC SIGN FOUR DISH @@ -744,7 +787,7 @@ FF14 ; 4.0 ; ; 4 # Nd FULLWIDTH DIGIT FOUR 200E2 ; 4.0 ; ; 4 # Lo CJK UNIFIED IDEOGRAPH-200E2 2626D ; 4.0 ; ; 4 # Lo CJK UNIFIED IDEOGRAPH-2626D -# Total code points: 109 +# Total code points: 111 # ================================================ @@ -823,7 +866,10 @@ FF15 ; 5.0 ; ; 5 # Nd FULLWIDTH DIGIT FIVE 104A5 ; 5.0 ; ; 5 # Nd OSMANYA DIGIT FIVE 1087D ; 5.0 ; ; 5 # No PALMYRENE NUMBER FIVE 108AC ; 5.0 ; ; 5 # No NABATAEAN NUMBER FIVE +108FC ; 5.0 ; ; 5 # No HATRAN NUMBER FIVE +109C4 ; 5.0 ; ; 5 # No MEROITIC CURSIVE NUMBER FIVE 10AEC ; 5.0 ; ; 5 # No MANICHAEAN NUMBER FIVE +10CFB ; 5.0 ; ; 5 # No OLD HUNGARIAN NUMBER FIVE 10E64 ; 5.0 ; ; 5 # No RUMI DIGIT FIVE 11056 ; 5.0 ; ; 5 # No BRAHMI NUMBER FIVE 1106B ; 5.0 ; ; 5 # Nd BRAHMI DIGIT FIVE @@ -835,6 +881,7 @@ FF15 ; 5.0 ; ; 5 # Nd FULLWIDTH DIGIT FIVE 114D5 ; 5.0 ; ; 5 # Nd TIRHUTA DIGIT FIVE 11655 ; 5.0 ; ; 5 # Nd MODI DIGIT FIVE 116C5 ; 5.0 ; ; 5 # Nd TAKRI DIGIT FIVE +11735 ; 5.0 ; ; 5 # Nd AHOM DIGIT FIVE 118E5 ; 5.0 ; ; 5 # Nd WARANG CITI DIGIT FIVE 12403 ; 5.0 ; ; 5 # Nl CUNEIFORM NUMERIC SIGN FIVE ASH 1240A ; 5.0 ; ; 5 # Nl CUNEIFORM NUMERIC SIGN FIVE DISH @@ -859,7 +906,7 @@ FF15 ; 5.0 ; ; 5 # Nd FULLWIDTH DIGIT FIVE 1F106 ; 5.0 ; ; 5 # No DIGIT FIVE COMMA 20121 ; 5.0 ; ; 5 # Lo CJK UNIFIED IDEOGRAPH-20121 -# Total code points: 105 +# Total code points: 109 # ================================================ @@ -932,6 +979,7 @@ FF16 ; 6.0 ; ; 6 # Nd FULLWIDTH DIGIT SIX 1010C ; 6.0 ; ; 6 # No AEGEAN NUMBER SIX 102E6 ; 6.0 ; ; 6 # No COPTIC EPACT DIGIT SIX 104A6 ; 6.0 ; ; 6 # Nd OSMANYA DIGIT SIX +109C5 ; 6.0 ; ; 6 # No MEROITIC CURSIVE NUMBER SIX 10E65 ; 6.0 ; ; 6 # No RUMI DIGIT SIX 11057 ; 6.0 ; ; 6 # No BRAHMI NUMBER SIX 1106C ; 6.0 ; ; 6 # Nd BRAHMI DIGIT SIX @@ -943,6 +991,7 @@ FF16 ; 6.0 ; ; 6 # Nd FULLWIDTH DIGIT SIX 114D6 ; 6.0 ; ; 6 # Nd TIRHUTA DIGIT SIX 11656 ; 6.0 ; ; 6 # Nd MODI DIGIT SIX 116C6 ; 6.0 ; ; 6 # Nd TAKRI DIGIT SIX +11736 ; 6.0 ; ; 6 # Nd AHOM DIGIT SIX 118E6 ; 6.0 ; ; 6 # Nd WARANG CITI DIGIT SIX 12404 ; 6.0 ; ; 6 # Nl CUNEIFORM NUMERIC SIGN SIX ASH 1240B ; 6.0 ; ; 6 # Nl CUNEIFORM NUMERIC SIGN SIX DISH @@ -964,7 +1013,7 @@ FF16 ; 6.0 ; ; 6 # Nd FULLWIDTH DIGIT SIX 1F107 ; 6.0 ; ; 6 # No DIGIT SIX COMMA 20AEA ; 6.0 ; ; 6 # Lo CJK UNIFIED IDEOGRAPH-20AEA -# Total code points: 94 +# Total code points: 96 # ================================================ @@ -1035,6 +1084,7 @@ FF17 ; 7.0 ; ; 7 # Nd FULLWIDTH DIGIT SEVEN 1010D ; 7.0 ; ; 7 # No AEGEAN NUMBER SEVEN 102E7 ; 7.0 ; ; 7 # No COPTIC EPACT DIGIT SEVEN 104A7 ; 7.0 ; ; 7 # Nd OSMANYA DIGIT SEVEN +109C6 ; 7.0 ; ; 7 # No MEROITIC CURSIVE NUMBER SEVEN 10E66 ; 7.0 ; ; 7 # No RUMI DIGIT SEVEN 11058 ; 7.0 ; ; 7 # No BRAHMI NUMBER SEVEN 1106D ; 7.0 ; ; 7 # Nd BRAHMI DIGIT SEVEN @@ -1046,6 +1096,7 @@ FF17 ; 7.0 ; ; 7 # Nd FULLWIDTH DIGIT SEVEN 114D7 ; 7.0 ; ; 7 # Nd TIRHUTA DIGIT SEVEN 11657 ; 7.0 ; ; 7 # Nd MODI DIGIT SEVEN 116C7 ; 7.0 ; ; 7 # Nd TAKRI DIGIT SEVEN +11737 ; 7.0 ; ; 7 # Nd AHOM DIGIT SEVEN 118E7 ; 7.0 ; ; 7 # Nd WARANG CITI DIGIT SEVEN 12405 ; 7.0 ; ; 7 # Nl CUNEIFORM NUMERIC SIGN SEVEN ASH 1240C ; 7.0 ; ; 7 # Nl CUNEIFORM NUMERIC SIGN SEVEN DISH @@ -1066,7 +1117,7 @@ FF17 ; 7.0 ; ; 7 # Nd FULLWIDTH DIGIT SEVEN 1F108 ; 7.0 ; ; 7 # No DIGIT SEVEN COMMA 20001 ; 7.0 ; ; 7 # Lo CJK UNIFIED IDEOGRAPH-20001 -# Total code points: 93 +# Total code points: 95 # ================================================ @@ -1135,6 +1186,7 @@ FF18 ; 8.0 ; ; 8 # Nd FULLWIDTH DIGIT EIGHT 1010E ; 8.0 ; ; 8 # No AEGEAN NUMBER EIGHT 102E8 ; 8.0 ; ; 8 # No COPTIC EPACT DIGIT EIGHT 104A8 ; 8.0 ; ; 8 # Nd OSMANYA DIGIT EIGHT +109C7 ; 8.0 ; ; 8 # No MEROITIC CURSIVE NUMBER EIGHT 10E67 ; 8.0 ; ; 8 # No RUMI DIGIT EIGHT 11059 ; 8.0 ; ; 8 # No BRAHMI NUMBER EIGHT 1106E ; 8.0 ; ; 8 # Nd BRAHMI DIGIT EIGHT @@ -1146,6 +1198,7 @@ FF18 ; 8.0 ; ; 8 # Nd FULLWIDTH DIGIT EIGHT 114D8 ; 8.0 ; ; 8 # Nd TIRHUTA DIGIT EIGHT 11658 ; 8.0 ; ; 8 # Nd MODI DIGIT EIGHT 116C8 ; 8.0 ; ; 8 # Nd TAKRI DIGIT EIGHT +11738 ; 8.0 ; ; 8 # Nd AHOM DIGIT EIGHT 118E8 ; 8.0 ; ; 8 # Nd WARANG CITI DIGIT EIGHT 12406 ; 8.0 ; ; 8 # Nl CUNEIFORM NUMERIC SIGN EIGHT ASH 1240D ; 8.0 ; ; 8 # Nl CUNEIFORM NUMERIC SIGN EIGHT DISH @@ -1165,7 +1218,7 @@ FF18 ; 8.0 ; ; 8 # Nd FULLWIDTH DIGIT EIGHT 1E8CE ; 8.0 ; ; 8 # No MENDE KIKAKUI DIGIT EIGHT 1F109 ; 8.0 ; ; 8 # No DIGIT EIGHT COMMA -# Total code points: 89 +# Total code points: 91 # ================================================ @@ -1235,6 +1288,7 @@ FF19 ; 9.0 ; ; 9 # Nd FULLWIDTH DIGIT NINE 1010F ; 9.0 ; ; 9 # No AEGEAN NUMBER NINE 102E9 ; 9.0 ; ; 9 # No COPTIC EPACT DIGIT NINE 104A9 ; 9.0 ; ; 9 # Nd OSMANYA DIGIT NINE +109C8 ; 9.0 ; ; 9 # No MEROITIC CURSIVE NUMBER NINE 10E68 ; 9.0 ; ; 9 # No RUMI DIGIT NINE 1105A ; 9.0 ; ; 9 # No BRAHMI NUMBER NINE 1106F ; 9.0 ; ; 9 # Nd BRAHMI DIGIT NINE @@ -1246,6 +1300,7 @@ FF19 ; 9.0 ; ; 9 # Nd FULLWIDTH DIGIT NINE 114D9 ; 9.0 ; ; 9 # Nd TIRHUTA DIGIT NINE 11659 ; 9.0 ; ; 9 # Nd MODI DIGIT NINE 116C9 ; 9.0 ; ; 9 # Nd TAKRI DIGIT NINE +11739 ; 9.0 ; ; 9 # Nd AHOM DIGIT NINE 118E9 ; 9.0 ; ; 9 # Nd WARANG CITI DIGIT NINE 12407 ; 9.0 ; ; 9 # Nl CUNEIFORM NUMERIC SIGN NINE ASH 1240E ; 9.0 ; ; 9 # Nl CUNEIFORM NUMERIC SIGN NINE DISH @@ -1266,7 +1321,7 @@ FF19 ; 9.0 ; ; 9 # Nd FULLWIDTH DIGIT NINE 1F10A ; 9.0 ; ; 9 # No DIGIT NINE COMMA 2F890 ; 9.0 ; ; 9 # Lo CJK COMPATIBILITY IDEOGRAPH-2F890 -# Total code points: 93 +# Total code points: 95 # ================================================ @@ -1302,21 +1357,25 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 1085B ; 10.0 ; ; 10 # No IMPERIAL ARAMAIC NUMBER TEN 1087E ; 10.0 ; ; 10 # No PALMYRENE NUMBER TEN 108AD ; 10.0 ; ; 10 # No NABATAEAN NUMBER TEN +108FD ; 10.0 ; ; 10 # No HATRAN NUMBER TEN 10917 ; 10.0 ; ; 10 # No PHOENICIAN NUMBER TEN +109C9 ; 10.0 ; ; 10 # No MEROITIC CURSIVE NUMBER TEN 10A44 ; 10.0 ; ; 10 # No KHAROSHTHI NUMBER TEN 10A9E ; 10.0 ; ; 10 # No OLD NORTH ARABIAN NUMBER TEN 10AED ; 10.0 ; ; 10 # No MANICHAEAN NUMBER TEN 10B5C ; 10.0 ; ; 10 # No INSCRIPTIONAL PARTHIAN NUMBER TEN 10B7C ; 10.0 ; ; 10 # No INSCRIPTIONAL PAHLAVI NUMBER TEN 10BAD ; 10.0 ; ; 10 # No PSALTER PAHLAVI NUMBER TEN +10CFC ; 10.0 ; ; 10 # No OLD HUNGARIAN NUMBER TEN 10E69 ; 10.0 ; ; 10 # No RUMI NUMBER TEN 1105B ; 10.0 ; ; 10 # No BRAHMI NUMBER TEN 111EA ; 10.0 ; ; 10 # No SINHALA ARCHAIC NUMBER TEN +1173A ; 10.0 ; ; 10 # No AHOM NUMBER TEN 118EA ; 10.0 ; ; 10 # No WARANG CITI NUMBER TEN 16B5B ; 10.0 ; ; 10 # No PAHAWH HMONG NUMBER TENS 1D369 ; 10.0 ; ; 10 # No COUNTING ROD TENS DIGIT ONE -# Total code points: 49 +# Total code points: 53 # ================================================ @@ -1424,7 +1483,9 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 1085C ; 20.0 ; ; 20 # No IMPERIAL ARAMAIC NUMBER TWENTY 1087F ; 20.0 ; ; 20 # No PALMYRENE NUMBER TWENTY 108AE ; 20.0 ; ; 20 # No NABATAEAN NUMBER TWENTY +108FE ; 20.0 ; ; 20 # No HATRAN NUMBER TWENTY 10918 ; 20.0 ; ; 20 # No PHOENICIAN NUMBER TWENTY +109CA ; 20.0 ; ; 20 # No MEROITIC CURSIVE NUMBER TWENTY 10A45 ; 20.0 ; ; 20 # No KHAROSHTHI NUMBER TWENTY 10A9F ; 20.0 ; ; 20 # No OLD NORTH ARABIAN NUMBER TWENTY 10AEE ; 20.0 ; ; 20 # No MANICHAEAN NUMBER TWENTY @@ -1434,10 +1495,11 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 10E6A ; 20.0 ; ; 20 # No RUMI NUMBER TWENTY 1105C ; 20.0 ; ; 20 # No BRAHMI NUMBER TWENTY 111EB ; 20.0 ; ; 20 # No SINHALA ARCHAIC NUMBER TWENTY +1173B ; 20.0 ; ; 20 # No AHOM NUMBER TWENTY 118EB ; 20.0 ; ; 20 # No WARANG CITI NUMBER TWENTY 1D36A ; 20.0 ; ; 20 # No COUNTING ROD TENS DIGIT TWO -# Total code points: 27 +# Total code points: 30 # ================================================ @@ -1503,6 +1565,7 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 10112 ; 30.0 ; ; 30 # No AEGEAN NUMBER THIRTY 10165 ; 30.0 ; ; 30 # Nl GREEK ACROPHONIC THESPIAN THIRTY 102EC ; 30.0 ; ; 30 # No COPTIC EPACT NUMBER THIRTY +109CB ; 30.0 ; ; 30 # No MEROITIC CURSIVE NUMBER THIRTY 10E6B ; 30.0 ; ; 30 # No RUMI NUMBER THIRTY 1105D ; 30.0 ; ; 30 # No BRAHMI NUMBER THIRTY 111EC ; 30.0 ; ; 30 # No SINHALA ARCHAIC NUMBER THIRTY @@ -1510,7 +1573,7 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 1D36B ; 30.0 ; ; 30 # No COUNTING ROD TENS DIGIT THREE 20983 ; 30.0 ; ; 30 # Lo CJK UNIFIED IDEOGRAPH-20983 -# Total code points: 14 +# Total code points: 15 # ================================================ @@ -1574,6 +1637,7 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 534C ; 40.0 ; ; 40 # Lo CJK UNIFIED IDEOGRAPH-534C 10113 ; 40.0 ; ; 40 # No AEGEAN NUMBER FORTY 102ED ; 40.0 ; ; 40 # No COPTIC EPACT NUMBER FORTY +109CC ; 40.0 ; ; 40 # No MEROITIC CURSIVE NUMBER FORTY 10E6C ; 40.0 ; ; 40 # No RUMI NUMBER FORTY 1105E ; 40.0 ; ; 40 # No BRAHMI NUMBER FORTY 111ED ; 40.0 ; ; 40 # No SINHALA ARCHAIC NUMBER FORTY @@ -1583,7 +1647,7 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 2098C ; 40.0 ; ; 40 # Lo CJK UNIFIED IDEOGRAPH-2098C 2099C ; 40.0 ; ; 40 # Lo CJK UNIFIED IDEOGRAPH-2099C -# Total code points: 14 +# Total code points: 15 # ================================================ @@ -1655,7 +1719,9 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 10174 ; 50.0 ; ; 50 # Nl GREEK ACROPHONIC STRATIAN FIFTY MNAS 102EE ; 50.0 ; ; 50 # No COPTIC EPACT NUMBER FIFTY 10323 ; 50.0 ; ; 50 # No OLD ITALIC NUMERAL FIFTY +109CD ; 50.0 ; ; 50 # No MEROITIC CURSIVE NUMBER FIFTY 10A7E ; 50.0 ; ; 50 # No OLD SOUTH ARABIAN NUMBER FIFTY +10CFD ; 50.0 ; ; 50 # No OLD HUNGARIAN NUMBER FIFTY 10E6D ; 50.0 ; ; 50 # No RUMI NUMBER FIFTY 1105F ; 50.0 ; ; 50 # No BRAHMI NUMBER FIFTY 111EE ; 50.0 ; ; 50 # No SINHALA ARCHAIC NUMBER FIFTY @@ -1663,7 +1729,7 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 12468 ; 50.0 ; ; 50 # Nl CUNEIFORM NUMERIC SIGN ELAMITE FIFTY 1D36D ; 50.0 ; ; 50 # No COUNTING ROD TENS DIGIT FIVE -# Total code points: 24 +# Total code points: 26 # ================================================ @@ -1671,13 +1737,14 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 324D ; 60.0 ; ; 60 # No CIRCLED NUMBER SIXTY ON BLACK SQUARE 10115 ; 60.0 ; ; 60 # No AEGEAN NUMBER SIXTY 102EF ; 60.0 ; ; 60 # No COPTIC EPACT NUMBER SIXTY +109CE ; 60.0 ; ; 60 # No MEROITIC CURSIVE NUMBER SIXTY 10E6E ; 60.0 ; ; 60 # No RUMI NUMBER SIXTY 11060 ; 60.0 ; ; 60 # No BRAHMI NUMBER SIXTY 111EF ; 60.0 ; ; 60 # No SINHALA ARCHAIC NUMBER SIXTY 118EF ; 60.0 ; ; 60 # No WARANG CITI NUMBER SIXTY 1D36E ; 60.0 ; ; 60 # No COUNTING ROD TENS DIGIT SIX -# Total code points: 9 +# Total code points: 10 # ================================================ @@ -1685,13 +1752,14 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 324E ; 70.0 ; ; 70 # No CIRCLED NUMBER SEVENTY ON BLACK SQUARE 10116 ; 70.0 ; ; 70 # No AEGEAN NUMBER SEVENTY 102F0 ; 70.0 ; ; 70 # No COPTIC EPACT NUMBER SEVENTY +109CF ; 70.0 ; ; 70 # No MEROITIC CURSIVE NUMBER SEVENTY 10E6F ; 70.0 ; ; 70 # No RUMI NUMBER SEVENTY 11061 ; 70.0 ; ; 70 # No BRAHMI NUMBER SEVENTY 111F0 ; 70.0 ; ; 70 # No SINHALA ARCHAIC NUMBER SEVENTY 118F0 ; 70.0 ; ; 70 # No WARANG CITI NUMBER SEVENTY 1D36F ; 70.0 ; ; 70 # No COUNTING ROD TENS DIGIT SEVEN -# Total code points: 9 +# Total code points: 10 # ================================================ @@ -1739,43 +1807,49 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 103D5 ; 100.0 ; ; 100 # Nl OLD PERSIAN NUMBER HUNDRED 1085D ; 100.0 ; ; 100 # No IMPERIAL ARAMAIC NUMBER ONE HUNDRED 108AF ; 100.0 ; ; 100 # No NABATAEAN NUMBER ONE HUNDRED +108FF ; 100.0 ; ; 100 # No HATRAN NUMBER ONE HUNDRED 10919 ; 100.0 ; ; 100 # No PHOENICIAN NUMBER ONE HUNDRED +109D2 ; 100.0 ; ; 100 # No MEROITIC CURSIVE NUMBER ONE HUNDRED 10A46 ; 100.0 ; ; 100 # No KHAROSHTHI NUMBER ONE HUNDRED 10AEF ; 100.0 ; ; 100 # No MANICHAEAN NUMBER ONE HUNDRED 10B5E ; 100.0 ; ; 100 # No INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED 10B7E ; 100.0 ; ; 100 # No INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED 10BAF ; 100.0 ; ; 100 # No PSALTER PAHLAVI NUMBER ONE HUNDRED +10CFE ; 100.0 ; ; 100 # No OLD HUNGARIAN NUMBER ONE HUNDRED 10E72 ; 100.0 ; ; 100 # No RUMI NUMBER ONE HUNDRED 11064 ; 100.0 ; ; 100 # No BRAHMI NUMBER ONE HUNDRED 111F3 ; 100.0 ; ; 100 # No SINHALA ARCHAIC NUMBER ONE HUNDRED 16B5C ; 100.0 ; ; 100 # No PAHAWH HMONG NUMBER HUNDREDS -# Total code points: 26 +# Total code points: 29 # ================================================ 1011A ; 200.0 ; ; 200 # No AEGEAN NUMBER TWO HUNDRED 102F4 ; 200.0 ; ; 200 # No COPTIC EPACT NUMBER TWO HUNDRED +109D3 ; 200.0 ; ; 200 # No MEROITIC CURSIVE NUMBER TWO HUNDRED 10E73 ; 200.0 ; ; 200 # No RUMI NUMBER TWO HUNDRED -# Total code points: 3 +# Total code points: 4 # ================================================ 1011B ; 300.0 ; ; 300 # No AEGEAN NUMBER THREE HUNDRED 1016B ; 300.0 ; ; 300 # Nl GREEK ACROPHONIC THESPIAN THREE HUNDRED 102F5 ; 300.0 ; ; 300 # No COPTIC EPACT NUMBER THREE HUNDRED +109D4 ; 300.0 ; ; 300 # No MEROITIC CURSIVE NUMBER THREE HUNDRED 10E74 ; 300.0 ; ; 300 # No RUMI NUMBER THREE HUNDRED -# Total code points: 4 +# Total code points: 5 # ================================================ 1011C ; 400.0 ; ; 400 # No AEGEAN NUMBER FOUR HUNDRED 102F6 ; 400.0 ; ; 400 # No COPTIC EPACT NUMBER FOUR HUNDRED +109D5 ; 400.0 ; ; 400 # No MEROITIC CURSIVE NUMBER FOUR HUNDRED 10E75 ; 400.0 ; ; 400 # No RUMI NUMBER FOUR HUNDRED -# Total code points: 3 +# Total code points: 4 # ================================================ @@ -1787,42 +1861,47 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 10153 ; 500.0 ; ; 500 # Nl GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS 1016C..10170 ; 500.0 ; ; 500 # Nl [5] GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED..GREEK ACROPHONIC NAXIAN FIVE HUNDRED 102F7 ; 500.0 ; ; 500 # No COPTIC EPACT NUMBER FIVE HUNDRED +109D6 ; 500.0 ; ; 500 # No MEROITIC CURSIVE NUMBER FIVE HUNDRED 10E76 ; 500.0 ; ; 500 # No RUMI NUMBER FIVE HUNDRED -# Total code points: 13 +# Total code points: 14 # ================================================ 1011E ; 600.0 ; ; 600 # No AEGEAN NUMBER SIX HUNDRED 102F8 ; 600.0 ; ; 600 # No COPTIC EPACT NUMBER SIX HUNDRED +109D7 ; 600.0 ; ; 600 # No MEROITIC CURSIVE NUMBER SIX HUNDRED 10E77 ; 600.0 ; ; 600 # No RUMI NUMBER SIX HUNDRED -# Total code points: 3 +# Total code points: 4 # ================================================ 1011F ; 700.0 ; ; 700 # No AEGEAN NUMBER SEVEN HUNDRED 102F9 ; 700.0 ; ; 700 # No COPTIC EPACT NUMBER SEVEN HUNDRED +109D8 ; 700.0 ; ; 700 # No MEROITIC CURSIVE NUMBER SEVEN HUNDRED 10E78 ; 700.0 ; ; 700 # No RUMI NUMBER SEVEN HUNDRED -# Total code points: 3 +# Total code points: 4 # ================================================ 10120 ; 800.0 ; ; 800 # No AEGEAN NUMBER EIGHT HUNDRED 102FA ; 800.0 ; ; 800 # No COPTIC EPACT NUMBER EIGHT HUNDRED +109D9 ; 800.0 ; ; 800 # No MEROITIC CURSIVE NUMBER EIGHT HUNDRED 10E79 ; 800.0 ; ; 800 # No RUMI NUMBER EIGHT HUNDRED -# Total code points: 3 +# Total code points: 4 # ================================================ 10121 ; 900.0 ; ; 900 # No AEGEAN NUMBER NINE HUNDRED 102FB ; 900.0 ; ; 900 # No COPTIC EPACT NUMBER NINE HUNDRED 1034A ; 900.0 ; ; 900 # Nl GOTHIC LETTER NINE HUNDRED +109DA ; 900.0 ; ; 900 # No MEROITIC CURSIVE NUMBER NINE HUNDRED 10E7A ; 900.0 ; ; 900 # No RUMI NUMBER NINE HUNDRED -# Total code points: 4 +# Total code points: 5 # ================================================ @@ -1838,31 +1917,36 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 10154 ; 1000.0 ; ; 1000 # Nl GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS 10171 ; 1000.0 ; ; 1000 # Nl GREEK ACROPHONIC THESPIAN ONE THOUSAND 1085E ; 1000.0 ; ; 1000 # No IMPERIAL ARAMAIC NUMBER ONE THOUSAND +109DB ; 1000.0 ; ; 1000 # No MEROITIC CURSIVE NUMBER ONE THOUSAND 10A47 ; 1000.0 ; ; 1000 # No KHAROSHTHI NUMBER ONE THOUSAND 10B5F ; 1000.0 ; ; 1000 # No INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND 10B7F ; 1000.0 ; ; 1000 # No INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND +10CFF ; 1000.0 ; ; 1000 # No OLD HUNGARIAN NUMBER ONE THOUSAND 11065 ; 1000.0 ; ; 1000 # No BRAHMI NUMBER ONE THOUSAND 111F4 ; 1000.0 ; ; 1000 # No SINHALA ARCHAIC NUMBER ONE THOUSAND -# Total code points: 18 +# Total code points: 20 # ================================================ 10123 ; 2000.0 ; ; 2000 # No AEGEAN NUMBER TWO THOUSAND +109DC ; 2000.0 ; ; 2000 # No MEROITIC CURSIVE NUMBER TWO THOUSAND -# Total code points: 1 +# Total code points: 2 # ================================================ 10124 ; 3000.0 ; ; 3000 # No AEGEAN NUMBER THREE THOUSAND +109DD ; 3000.0 ; ; 3000 # No MEROITIC CURSIVE NUMBER THREE THOUSAND -# Total code points: 1 +# Total code points: 2 # ================================================ 10125 ; 4000.0 ; ; 4000 # No AEGEAN NUMBER FOUR THOUSAND +109DE ; 4000.0 ; ; 4000 # No MEROITIC CURSIVE NUMBER FOUR THOUSAND -# Total code points: 1 +# Total code points: 2 # ================================================ @@ -1871,32 +1955,37 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 10146 ; 5000.0 ; ; 5000 # Nl GREEK ACROPHONIC ATTIC FIVE THOUSAND 1014E ; 5000.0 ; ; 5000 # Nl GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS 10172 ; 5000.0 ; ; 5000 # Nl GREEK ACROPHONIC THESPIAN FIVE THOUSAND +109DF ; 5000.0 ; ; 5000 # No MEROITIC CURSIVE NUMBER FIVE THOUSAND -# Total code points: 5 +# Total code points: 6 # ================================================ 10127 ; 6000.0 ; ; 6000 # No AEGEAN NUMBER SIX THOUSAND +109E0 ; 6000.0 ; ; 6000 # No MEROITIC CURSIVE NUMBER SIX THOUSAND -# Total code points: 1 +# Total code points: 2 # ================================================ 10128 ; 7000.0 ; ; 7000 # No AEGEAN NUMBER SEVEN THOUSAND +109E1 ; 7000.0 ; ; 7000 # No MEROITIC CURSIVE NUMBER SEVEN THOUSAND -# Total code points: 1 +# Total code points: 2 # ================================================ 10129 ; 8000.0 ; ; 8000 # No AEGEAN NUMBER EIGHT THOUSAND +109E2 ; 8000.0 ; ; 8000 # No MEROITIC CURSIVE NUMBER EIGHT THOUSAND -# Total code points: 1 +# Total code points: 2 # ================================================ 1012A ; 9000.0 ; ; 9000 # No AEGEAN NUMBER NINE THOUSAND +109E3 ; 9000.0 ; ; 9000 # No MEROITIC CURSIVE NUMBER NINE THOUSAND -# Total code points: 1 +# Total code points: 2 # ================================================ @@ -1907,27 +1996,31 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 1012B ; 10000.0 ; ; 10000 # No AEGEAN NUMBER TEN THOUSAND 10155 ; 10000.0 ; ; 10000 # Nl GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS 1085F ; 10000.0 ; ; 10000 # No IMPERIAL ARAMAIC NUMBER TEN THOUSAND +109E4 ; 10000.0 ; ; 10000 # No MEROITIC CURSIVE NUMBER TEN THOUSAND 16B5D ; 10000.0 ; ; 10000 # No PAHAWH HMONG NUMBER TEN THOUSANDS -# Total code points: 8 +# Total code points: 9 # ================================================ 1012C ; 20000.0 ; ; 20000 # No AEGEAN NUMBER TWENTY THOUSAND +109E5 ; 20000.0 ; ; 20000 # No MEROITIC CURSIVE NUMBER TWENTY THOUSAND -# Total code points: 1 +# Total code points: 2 # ================================================ 1012D ; 30000.0 ; ; 30000 # No AEGEAN NUMBER THIRTY THOUSAND +109E6 ; 30000.0 ; ; 30000 # No MEROITIC CURSIVE NUMBER THIRTY THOUSAND -# Total code points: 1 +# Total code points: 2 # ================================================ 1012E ; 40000.0 ; ; 40000 # No AEGEAN NUMBER FORTY THOUSAND +109E7 ; 40000.0 ; ; 40000 # No MEROITIC CURSIVE NUMBER FORTY THOUSAND -# Total code points: 1 +# Total code points: 2 # ================================================ @@ -1935,36 +2028,48 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD 1012F ; 50000.0 ; ; 50000 # No AEGEAN NUMBER FIFTY THOUSAND 10147 ; 50000.0 ; ; 50000 # Nl GREEK ACROPHONIC ATTIC FIFTY THOUSAND 10156 ; 50000.0 ; ; 50000 # Nl GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS +109E8 ; 50000.0 ; ; 50000 # No MEROITIC CURSIVE NUMBER FIFTY THOUSAND -# Total code points: 4 +# Total code points: 5 # ================================================ 10130 ; 60000.0 ; ; 60000 # No AEGEAN NUMBER SIXTY THOUSAND +109E9 ; 60000.0 ; ; 60000 # No MEROITIC CURSIVE NUMBER SIXTY THOUSAND -# Total code points: 1 +# Total code points: 2 # ================================================ 10131 ; 70000.0 ; ; 70000 # No AEGEAN NUMBER SEVENTY THOUSAND +109EA ; 70000.0 ; ; 70000 # No MEROITIC CURSIVE NUMBER SEVENTY THOUSAND -# Total code points: 1 +# Total code points: 2 # ================================================ 10132 ; 80000.0 ; ; 80000 # No AEGEAN NUMBER EIGHTY THOUSAND +109EB ; 80000.0 ; ; 80000 # No MEROITIC CURSIVE NUMBER EIGHTY THOUSAND -# Total code points: 1 +# Total code points: 2 # ================================================ 10133 ; 90000.0 ; ; 90000 # No AEGEAN NUMBER NINETY THOUSAND +109EC ; 90000.0 ; ; 90000 # No MEROITIC CURSIVE NUMBER NINETY THOUSAND -# Total code points: 1 +# Total code points: 2 # ================================================ 2188 ; 100000.0 ; ; 100000 # Nl ROMAN NUMERAL ONE HUNDRED THOUSAND +109ED ; 100000.0 ; ; 100000 # No MEROITIC CURSIVE NUMBER ONE HUNDRED THOUSAND + +# Total code points: 2 + +# ================================================ + +109EE ; 200000.0 ; ; 200000 # No MEROITIC CURSIVE NUMBER TWO HUNDRED THOUSAND # Total code points: 1 @@ -1976,12 +2081,54 @@ F9FD ; 10.0 ; ; 10 # Lo CJK COMPATIBILITY IDEOGRAPH-F9FD # ================================================ +109EF ; 300000.0 ; ; 300000 # No MEROITIC CURSIVE NUMBER THREE HUNDRED THOUSAND + +# Total code points: 1 + +# ================================================ + +109F0 ; 400000.0 ; ; 400000 # No MEROITIC CURSIVE NUMBER FOUR HUNDRED THOUSAND + +# Total code points: 1 + +# ================================================ + 12433 ; 432000.0 ; ; 432000 # Nl CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN # Total code points: 1 # ================================================ +109F1 ; 500000.0 ; ; 500000 # No MEROITIC CURSIVE NUMBER FIVE HUNDRED THOUSAND + +# Total code points: 1 + +# ================================================ + +109F2 ; 600000.0 ; ; 600000 # No MEROITIC CURSIVE NUMBER SIX HUNDRED THOUSAND + +# Total code points: 1 + +# ================================================ + +109F3 ; 700000.0 ; ; 700000 # No MEROITIC CURSIVE NUMBER SEVEN HUNDRED THOUSAND + +# Total code points: 1 + +# ================================================ + +109F4 ; 800000.0 ; ; 800000 # No MEROITIC CURSIVE NUMBER EIGHT HUNDRED THOUSAND + +# Total code points: 1 + +# ================================================ + +109F5 ; 900000.0 ; ; 900000 # No MEROITIC CURSIVE NUMBER NINE HUNDRED THOUSAND + +# Total code points: 1 + +# ================================================ + 16B5E ; 1000000.0 ; ; 1000000 # No PAHAWH HMONG NUMBER MILLIONS # Total code points: 1 diff --git a/lib/unicore/mktables b/lib/unicore/mktables index a746b77..572c299 100644 --- a/lib/unicore/mktables +++ b/lib/unicore/mktables @@ -959,8 +959,7 @@ my %why_obsolete; # Documentation only # existence is not noted in the comment. 'Decomposition_Mapping' => 'Accessible via Unicode::Normalize or prop_invmap() or charprop() in Unicode::UCD::', - 'Indic_Matra_Category' => "Provisional", - 'Indic_Syllabic_Category' => "Provisional", + 'Indic_Matra_Category' => "Withdrawn by Unicode while still provisional", # Don't suppress ISO_Comment, as otherwise special handling is needed # to differentiate between it and gc=c, which can be written as 'isc', @@ -4229,7 +4228,7 @@ sub trace { return main::trace(@_); } # In other words, # r[$i-1]->end < $start <= r[$i]->end # And: - # r[$i-1]->end < $start <= $end <= r[$j]->end + # r[$i-1]->end < $start <= $end <= r[$j+1]->start # # Also: # $clean_insert is a boolean which is set true if and only if @@ -4238,24 +4237,18 @@ sub trace { return main::trace(@_); } # We now have enough information to decide if this call is a no-op # or not. It is a no-op if this is an insertion of already - # existing data. + # existing data. To be so, it must be contained entirely in one + # range. if (main::DEBUG && $to_trace && $clean_insert - && $i == $j - && $start >= $r->[$i]->start) + && $start >= $r->[$i]->start + && $end <= $r->[$i]->end) { trace "no-op"; } return if $clean_insert - && $i == $j # more than one affected range => not no-op - - # Here, r[$i-1]->end < $start <= $end <= r[$i]->end - # Further, $start and/or $end is >= r[$i]->start - # The test below hence guarantees that - # r[$i]->start < $start <= $end <= r[$i]->end - # This means the input range is contained entirely in - # the one at $i, so is a no-op - && $start >= $r->[$i]->start; + && $start >= $r->[$i]->start + && $end <= $r->[$i]->end; } # Here, we know that some action will have to be taken. We have @@ -8902,13 +8895,13 @@ sub trace { return main::trace(@_) if main::DEBUG && $to_trace } package main; sub display_chr { - # Converts an ordinal character value to a displayable string, using a - # NBSP to hold combining characters. + # Converts an ordinal printable character value to a displayable + # string, using a dotted circle to hold combining characters. my $ord = shift; my $chr = chr $ord; return $chr if $ccc->table(0)->contains($ord); - return chr(utf8::unicode_to_native(0xA0)) . $chr; + return "\x{25CC}$chr"; } sub join_lines($) { @@ -11162,8 +11155,10 @@ END $fields[$NUMERIC_TYPE_OTHER_DIGIT] = 'Numeric'; # Rationals require extra effort. - register_fraction($fields[$NUMERIC]) - if $fields[$NUMERIC] =~ qr{/}; + if ($fields[$NUMERIC] =~ qr{/}) { + reduce_fraction(\$fields[$NUMERIC]); + register_fraction($fields[$NUMERIC]) + } } } @@ -12201,6 +12196,50 @@ sub register_fraction($) { return; } +sub gcd($$) { # Greatest-common-divisor; from + # http://en.wikipedia.org/wiki/Euclidean_algorithm + my ($a, $b) = @_; + + use integer; + + while ($b != 0) { + my $temp = $b; + $b = $a % $b; + $a = $temp; + } + return $a; +} + +sub reduce_fraction($) { + my $fraction_ref = shift; + + # Reduce a fraction to lowest terms. The Unicode data may be reducible, + # hence this is needed. The argument is a reference to the + # string denoting the fraction, which must be of the form: + if ($$fraction_ref !~ / ^ (-?) (\d+) \/ (\d+) $ /ax) { + Carp::my_carp_bug("Non-fraction input '$$fraction_ref'. Unchanged"); + return; + } + + my $sign = $1; + my $numerator = $2; + my $denominator = $3; + + use integer; + + # Find greatest common divisor + my $gcd = gcd($numerator, $denominator); + + # And reduce using the gcd. + if ($gcd != 1) { + $numerator /= $gcd; + $denominator /= $gcd; + $$fraction_ref = "$sign$numerator/$denominator"; + } + + return; +} + sub filter_numeric_value_line { # DNumValues contains lines of a different syntax than the typical # property file: @@ -12225,7 +12264,9 @@ sub filter_numeric_value_line { $_ = ""; return; } + reduce_fraction(\$fields[3]) if $fields[3] =~ qr{/}; $rational = $fields[3]; + $_ = join '; ', @fields[ 0, 3 ]; } else { @@ -18202,12 +18243,14 @@ my @input_file_objects = ( Input_file->new('IndicMatraCategory.txt', v6.1.0, Property => 'Indic_Matra_Category', Has_Missings_Defaults => $NOT_IGNORED, - Skip => "Provisional; for the analysis and processing of Indic scripts", + Skip => "Withdrawn by Unicode while still provisional", ), Input_file->new('IndicSyllabicCategory.txt', v6.1.0, Property => 'Indic_Syllabic_Category', Has_Missings_Defaults => $NOT_IGNORED, - Skip => "Provisional; for the analysis and processing of Indic scripts", + Skip => (($v_version lt v8.0.0) + ? "Provisional; for the analysis and processing of Indic scripts" + : 0), ), Input_file->new('BidiBrackets.txt', v6.3.0, Properties => [ 'Bidi_Paired_Bracket', 'Bidi_Paired_Bracket_Type' ], @@ -18216,6 +18259,10 @@ my @input_file_objects = ( Input_file->new("BidiCharacterTest.txt", v6.3.0, Skip => 'Validation Tests', ), + Input_file->new('IndicPositionalCategory.txt', v8.0.0, + Property => 'Indic_Positional_Category', + Has_Missings_Defaults => $NOT_IGNORED, + ), ); # End of all the preliminaries. diff --git a/lib/unicore/version b/lib/unicore/version index 66ce77b..ae9a76b 100644 --- a/lib/unicore/version +++ b/lib/unicore/version @@ -1 +1 @@ -7.0.0 +8.0.0 diff --git a/lib/utf8_heavy.pl b/lib/utf8_heavy.pl index e0c3d5e..1ba73b2 100644 --- a/lib/utf8_heavy.pl +++ b/lib/utf8_heavy.pl @@ -20,7 +20,7 @@ sub _loose_name ($) { # out blanks, underscores and dashes. The complication stems from the # grandfathered-in 'L_', which retains a single trailing underscore. - my $loose = $_[0] =~ s/[-\s_]//rg; + (my $loose = $_[0]) =~ tr/-_ \t//d; return $loose if $loose !~ / ^ (?: is | to )? l $/x; return 'l_' if $_[0] =~ / l .* _ /x; # If original had a trailing '_' @@ -226,7 +226,7 @@ sub _loose_name ($) { # If the rhs looks like it is a number... print STDERR __LINE__, ": table=$table\n" if DEBUG; - if ($table =~ qr{ ^ [ \s 0-9 _ + / . -]+ $ }x) { + if ($table =~ m{ ^ [ \s 0-9 _ + / . -]+ $ }x) { print STDERR __LINE__, ": table=$table\n" if DEBUG; # Don't allow leading nor trailing slashes @@ -236,7 +236,7 @@ sub _loose_name ($) { } # Split on slash, in case it is a rational, like \p{1/5} - my @parts = split qr{ \s* / \s* }x, $table, -1; + my @parts = split m{ \s* / \s* }x, $table, -1; print __LINE__, ": $type\n" if @parts > 2 && DEBUG; # Can have maximum of one slash diff --git a/lib/vars_carp.t b/lib/vars_carp.t index 85a1951..f0b512a 100644 --- a/lib/vars_carp.t +++ b/lib/vars_carp.t @@ -12,5 +12,6 @@ $| = 1; print "1..1\n"; +use vars; # Carp not loaded yet; print defined $Carp::VERSION ? "not ok 1\n" : "ok 1\n"; diff --git a/lib/warnings.pm b/lib/warnings.pm index 796b415..e47ced4 100644 --- a/lib/warnings.pm +++ b/lib/warnings.pm @@ -5,7 +5,7 @@ package warnings; -our $VERSION = "1.34"; +our $VERSION = '1.32'; # Verify that we're called correctly so that warnings will work. # see also strict.pm. @@ -1025,10 +1025,8 @@ this snippet of code: package MyMod::Abc; sub open { - if (warnings::enabled("deprecated")) { - warnings::warn("deprecated", - "open is deprecated, use new instead"); - } + warnings::warnif("deprecated", + "open is deprecated, use new instead"); new(@_); } diff --git a/locale.c b/locale.c index 7a4a418..a36e8dc 100644 --- a/locale.c +++ b/locale.c @@ -759,7 +759,9 @@ Perl_init_i18nl10n(pTHX_ int printwarn) #endif /* !LOCALE_ENVIRON_REQUIRED */ /* We try each locale in the list until we get one that works, or exhaust - * the list */ + * the list. Normally the loop is executed just once. But if setting the + * locale fails, inside the loop we add fallback trials to the array and so + * will execute the loop multiple times */ trial_locales[0] = setlocale_init; trial_locales_count = 1; for (i= 0; i < trial_locales_count; i++) { @@ -868,18 +870,18 @@ Perl_init_i18nl10n(pTHX_ int printwarn) PerlIO_printf(Perl_error_log, "perl: warning: Setting locale failed for the categories:\n\t"); -#ifdef USE_LOCALE_CTYPE +# ifdef USE_LOCALE_CTYPE if (! curctype) PerlIO_printf(Perl_error_log, "LC_CTYPE "); -#endif /* USE_LOCALE_CTYPE */ -#ifdef USE_LOCALE_COLLATE +# endif /* USE_LOCALE_CTYPE */ +# ifdef USE_LOCALE_COLLATE if (! curcoll) PerlIO_printf(Perl_error_log, "LC_COLLATE "); -#endif /* USE_LOCALE_COLLATE */ -#ifdef USE_LOCALE_NUMERIC +# endif /* USE_LOCALE_COLLATE */ +# ifdef USE_LOCALE_NUMERIC if (! curnum) PerlIO_printf(Perl_error_log, "LC_NUMERIC "); -#endif /* USE_LOCALE_NUMERIC */ +# endif /* USE_LOCALE_NUMERIC */ PerlIO_printf(Perl_error_log, "and possibly others\n"); #endif /* LC_ALL */ diff --git a/mg.c b/mg.c index 064a1ae..054d839 100644 --- a/mg.c +++ b/mg.c @@ -3279,7 +3279,7 @@ Perl_sighandler(int sig) if (hek) Perl_ck_warner(aTHX_ packWARN(WARN_SIGNAL), "SIG%s handler \"%"HEKf"\" not defined.\n", - PL_sig_name[sig], hek); + PL_sig_name[sig], HEKfARG(hek)); /* diag_listed_as: SIG%s handler "%s" not defined */ else Perl_ck_warner(aTHX_ packWARN(WARN_SIGNAL), "SIG%s handler \"__ANON__\" not defined.\n", diff --git a/numeric.c b/numeric.c index 268a962..be85adb 100644 --- a/numeric.c +++ b/numeric.c @@ -1630,22 +1630,10 @@ Users should just always call Perl_signbit(). int Perl_signbit(NV x) { # ifdef Perl_fp_class_nzero - return Perl_fp_class_nzero(x); - /* Try finding the high byte, and assume it's highest bit - * is the sign. This assumption is probably wrong somewhere. */ -# elif defined(USE_LONG_DOUBLE) && LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN - return (((unsigned char *)&x)[9] & 0x80); -# elif defined(NV_LITTLE_ENDIAN) - /* Note that NVSIZE is sizeof(NV), which would make the below be - * wrong if the end bytes are unused, which happens with the x86 - * 80-bit long doubles, which is why take care of that above. */ - return (((unsigned char *)&x)[NVSIZE - 1] & 0x80); -# elif defined(NV_BIG_ENDIAN) - return (((unsigned char *)&x)[0] & 0x80); -# else - /* This last resort fallback is wrong for the negative zero. */ - return (x < 0.0) ? 1 : 0; + if (x == 0) + return Perl_fp_class_nzero(x); # endif + return (x < 0.0) ? 1 : 0; } #endif diff --git a/op.c b/op.c index e92de57..2c2c520 100644 --- a/op.c +++ b/op.c @@ -719,23 +719,10 @@ Perl_op_free(pTHX_ OP *o) type = o->op_type; /* an op should only ever acquire op_private flags that we know about. - * If this fails, you may need to fix something in regen/op_private. - * Don't bother testing if: - * * the op_ppaddr doesn't match the op; someone may have - * overridden the op and be doing strange things with it; - * * we've errored, as op flags are often left in an - * inconsistent state then. Note that an error when - * compiling the main program leaves PL_parser NULL, so - * we can't spot faults in the main code, onoly - * evaled/required code */ -#ifdef DEBUGGING - if ( o->op_ppaddr == PL_ppaddr[o->op_type] - && PL_parser - && !PL_parser->error_count) - { + * If this fails, you may need to fix something in regen/op_private */ + if (o->op_ppaddr == PL_ppaddr[o->op_type]) { assert(!(o->op_private & ~PL_op_private_valid[type])); } -#endif if (o->op_private & OPpREFCOUNTED) { switch (type) { @@ -2351,13 +2338,6 @@ S_check_hash_fields_and_hekify(pTHX_ UNOP *rop, SVOP *key_op) continue; svp = cSVOPx_svp(key_op); - /* make sure it's not a bareword under strict subs */ - if (key_op->op_private & OPpCONST_BARE && - key_op->op_private & OPpCONST_STRICT) - { - no_bareword_allowed((OP*)key_op); - } - /* Make the CONST have a shared SV */ if ( !SvIsCOW_shared_hash(sv = *svp) && SvTYPE(sv) < SVt_PVMG @@ -2629,13 +2609,7 @@ S_mark_padname_lvalue(pTHX_ PADNAME *pn) PadnameLVALUE_on(pn); while (PadnameOUTER(pn) && PARENT_PAD_INDEX(pn)) { cv = CvOUTSIDE(cv); - /* RT #127786: cv can be NULL due to an eval within the DB package - * called from an anon sub - anon subs don't have CvOUTSIDE() set - * unless they contain an eval, but calling eval within DB - * pretends the eval was done in the caller's scope. - */ - if (!cv) - break; + assert(cv); assert(CvPADLIST(cv)); pn = PadlistNAMESARRAY(CvPADLIST(cv))[PARENT_PAD_INDEX(pn)]; @@ -7630,7 +7604,7 @@ S_ref_array_or_hash(pTHX_ OP *cond) /* anonlist now needs a list from this op, was previously used in * scalar context */ - cond->op_flags |= ~(OPf_WANT_SCALAR | OPf_REF); + cond->op_flags &= ~(OPf_WANT_SCALAR | OPf_REF); cond->op_flags |= OPf_WANT_LIST; return newANONLIST(op_lvalue(cond, OP_ANONLIST)); @@ -8168,14 +8142,13 @@ Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block) : newUNOP(OP_LEAVESUB, 0, scalarseq(block)); start = LINKLIST(block); block->op_next = 0; + if (ps && !*ps && !attrs && !CvLVALUE(compcv)) + const_sv = S_op_const_sv(aTHX_ start, compcv, FALSE); + else + const_sv = NULL; } - - if (!block || !ps || *ps || attrs - || CvLVALUE(compcv) - ) - const_sv = NULL; else - const_sv = S_op_const_sv(aTHX_ start, compcv, FALSE); + const_sv = NULL; if (cv) { const bool exists = CvROOT(cv) || CvXSUB(cv); @@ -8573,17 +8546,17 @@ Perl_newATTRSUB_x(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, : newUNOP(OP_LEAVESUB, 0, scalarseq(block)); start = LINKLIST(block); block->op_next = 0; + if (ps && !*ps && !attrs && !CvLVALUE(PL_compcv)) + const_sv = + S_op_const_sv(aTHX_ start, PL_compcv, CvCLONE(PL_compcv)); + else + const_sv = NULL; } - - if (!block || !ps || *ps || attrs - || CvLVALUE(PL_compcv) - ) - const_sv = NULL; else - const_sv = - S_op_const_sv(aTHX_ start, PL_compcv, cBOOL(CvCLONE(PL_compcv))); + const_sv = NULL; if (SvPOK(gv) || (SvROK(gv) && SvTYPE(SvRV(gv)) != SVt_PVCV)) { + assert (block); cv_ckproto_len_flags((const CV *)gv, o ? (const GV *)cSVOPo->op_sv : NULL, ps, ps_len, ps_utf8|CV_CKPROTO_CURSTASH); @@ -11341,20 +11314,11 @@ OP * Perl_ck_entersub_args_list(pTHX_ OP *entersubop) { OP *aop; - PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_LIST; - aop = cUNOPx(entersubop)->op_first; if (!OpHAS_SIBLING(aop)) aop = cUNOPx(aop)->op_first; for (aop = OpSIBLING(aop); OpHAS_SIBLING(aop); aop = OpSIBLING(aop)) { - /* skip the extra attributes->import() call implicitly added in - * something like foo(my $x : bar) - */ - if ( aop->op_type == OP_ENTERSUB - && (aop->op_flags & OPf_WANT) == OPf_WANT_VOID - ) - continue; list(aop); op_lvalue(aop, OP_ENTERSUB); } diff --git a/op_reg_common.h b/op_reg_common.h index 6b5841e..c500aa4 100644 --- a/op_reg_common.h +++ b/op_reg_common.h @@ -104,8 +104,10 @@ get_regex_charset(const U32 flags) #define RXf_PMf_COMPILETIME (RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_FOLD|RXf_PMf_EXTENDED|RXf_PMf_EXTENDED_MORE|RXf_PMf_KEEPCOPY|RXf_PMf_NOCAPTURE|RXf_PMf_CHARSET|RXf_PMf_STRICT) #define RXf_PMf_FLAGCOPYMASK (RXf_PMf_COMPILETIME|RXf_PMf_SPLIT) -#if 0 /* Temporary to get Jenkins happy again */ -See thread starting at http://nntp.perl.org/group/perl.perl5.porters/220710 +/* Temporary to get Jenkins happy again + * See thread starting at http://nntp.perl.org/group/perl.perl5.porters/220710 + */ +#if 0 /* Exclude win32 because it can't cope with I32_MAX definition */ #ifndef WIN32 # if RXf_PMf_COMPILETIME > I32_MAX diff --git a/patchlevel.h b/patchlevel.h index 6ebaeb7..12d6f13 100644 --- a/patchlevel.h +++ b/patchlevel.h @@ -14,8 +14,8 @@ * exactly on the third column */ #define PERL_REVISION 5 /* age */ -#define PERL_VERSION 22 /* epoch */ -#define PERL_SUBVERSION 3 /* generation */ +#define PERL_VERSION 23 /* epoch */ +#define PERL_SUBVERSION 0 /* generation */ /* The following numbers describe the earliest compatible version of Perl ("compatibility" here being defined as sufficient binary/API @@ -35,7 +35,7 @@ changing them should not be necessary. */ #define PERL_API_REVISION 5 -#define PERL_API_VERSION 22 +#define PERL_API_VERSION 23 #define PERL_API_SUBVERSION 0 /* XXX Note: The selection of non-default Configure options, such diff --git a/perl.c b/perl.c index 180aa79..b6a3d87 100644 --- a/perl.c +++ b/perl.c @@ -3,7 +3,7 @@ * * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 * 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 - * 2013, 2014, 2015, 2016, 2017 by Larry Wall and others + * 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. @@ -1485,8 +1485,8 @@ perl_parse(pTHXx_ XSINIT_t xsinit, int argc, char **argv, char **env) const char * const s = PerlEnv_getenv("PERL_HASH_SEED_DEBUG"); if (s && strEQ(s, "1")) { - const unsigned char *seed= PERL_HASH_SEED; - const unsigned char *seed_end= PERL_HASH_SEED + PERL_HASH_SEED_BYTES; + unsigned char *seed= PERL_HASH_SEED; + unsigned char *seed_end= PERL_HASH_SEED + PERL_HASH_SEED_BYTES; PerlIO_printf(Perl_debug_log, "HASH_FUNCTION = %s HASH_SEED = 0x", PERL_HASH_FUNC); while (seed < seed_end) { PerlIO_printf(Perl_debug_log, "%02x", *seed++); @@ -1833,7 +1833,7 @@ S_parse_body(pTHX_ char **env, XSINIT_t xsinit) int argc = PL_origargc; char **argv = PL_origargv; const char *scriptname = NULL; - VOL bool dosearch = FALSE; + bool dosearch = FALSE; char c; bool doextract = FALSE; const char *cddir = NULL; @@ -2664,22 +2664,8 @@ Perl_call_method(pTHX_ const char *methname, I32 flags) /* =for apidoc p||call_sv -Performs a callback to the Perl sub specified by the SV. - -If neither the C or C flag is supplied, the -SV may be any of a CV, a GV, a reference to a CV, a reference to a GV -or C will be used as the name of the sub to call. - -If the C flag is supplied, the SV may be a reference to a CV or -C will be used as the name of the method to call. - -If the C flag is supplied, C will be used as -the name of the method to call. - -Some other values are treated specially for internal use and should -not be depended on. - -See L. +Performs a callback to the Perl sub whose name is in the SV. See +L. =cut */ @@ -3069,7 +3055,6 @@ Perl_get_debug_opts(pTHX_ const char **s, bool givehelp) " M trace smart match resolution\n" " B dump suBroutine definitions, including special Blocks like BEGIN\n", " L trace some locale setting information--for Perl core development\n", - " i trace PerlIO layer processing\n", NULL }; UV uv = 0; @@ -3078,7 +3063,7 @@ Perl_get_debug_opts(pTHX_ const char **s, bool givehelp) if (isALPHA(**s)) { /* if adding extra options, remember to update DEBUG_MASK */ - static const char debopts[] = "psltocPmfrxuUHXDSTRJvCAqMBLi"; + static const char debopts[] = "psltocPmfrxuUHXDSTRJvCAqMBL"; for (; isWORDCHAR(**s); (*s)++) { const char * const d = strchr(debopts,**s); @@ -3511,7 +3496,7 @@ S_minus_v(pTHX) #endif PerlIO_printf(PIO_stdout, - "\n\nCopyright 1987-2017, Larry Wall\n"); + "\n\nCopyright 1987-2015, Larry Wall\n"); #ifdef MSDOS PerlIO_printf(PIO_stdout, "\nMS-DOS port Copyright (c) 1989, 1990, Diomidis Spinellis\n"); @@ -3761,7 +3746,7 @@ S_open_script(pTHX_ const char *scriptname, bool dosearch, bool *suidscript) const char * const err = "Failed to create a fake bit bucket"; if (strEQ(scriptname, BIT_BUCKET)) { #ifdef HAS_MKSTEMP /* Hopefully mkstemp() is safe here. */ - int old_umask = umask(0177); + int old_umask = umask(0600); int tmpfd = mkstemp(tmpname); umask(old_umask); if (tmpfd > -1) { @@ -4299,70 +4284,23 @@ S_init_postdump_symbols(pTHX_ int argc, char **argv, char **env) } if (env) { char *s, *old_var; - STRLEN nlen; SV *sv; - HV *dups = newHV(); - for (; *env; env++) { old_var = *env; if (!(s = strchr(old_var,'=')) || s == old_var) continue; - nlen = s - old_var; #if defined(MSDOS) && !defined(DJGPP) *s = '\0'; (void)strupr(old_var); *s = '='; #endif - if (hv_exists(hv, old_var, nlen)) { - const char *name = savepvn(old_var, nlen); - - /* make sure we use the same value as getenv(), otherwise code that - uses getenv() (like setlocale()) might see a different value to %ENV - */ - sv = newSVpv(PerlEnv_getenv(name), 0); - - /* keep a count of the dups of this name so we can de-dup environ later */ - if (hv_exists(dups, name, nlen)) - ++SvIVX(*hv_fetch(dups, name, nlen, 0)); - else - (void)hv_store(dups, name, nlen, newSViv(1), 0); - - Safefree(name); - } - else { - sv = newSVpv(s+1, 0); - } - (void)hv_store(hv, old_var, nlen, sv, 0); + sv = newSVpv(s+1, 0); + (void)hv_store(hv, old_var, s - old_var, sv, 0); if (env_is_not_environ) mg_set(sv); } - if (HvKEYS(dups)) { - /* environ has some duplicate definitions, remove them */ - HE *entry; - hv_iterinit(dups); - while ((entry = hv_iternext_flags(dups, 0))) { - STRLEN nlen; - const char *name = HePV(entry, nlen); - IV count = SvIV(HeVAL(entry)); - IV i; - SV **valp = hv_fetch(hv, name, nlen, 0); - - assert(valp); - - /* try to remove any duplicate names, depending on the - * implementation used in my_setenv() the iteration might - * not be necessary, but let's be safe. - */ - for (i = 0; i < count; ++i) - my_setenv(name, 0); - - /* and set it back to the value we set $ENV{name} to */ - my_setenv(name, SvPV_nolen(*valp)); - } - } - SvREFCNT_dec_NN(dups); } #endif /* USE_ENVIRON_ARRAY */ #endif /* !PERL_MICRO */ @@ -4447,7 +4385,7 @@ S_init_perllib(pTHX) #ifdef SITELIB_EXP # if defined(WIN32) /* this picks up sitearch as well */ - s = win32_get_sitelib(PERL_FS_VERSION, &len); + s = PerlEnv_sitelib_path(PERL_FS_VERSION, &len); if (s) incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE); # else @@ -4467,7 +4405,7 @@ S_init_perllib(pTHX) #ifdef PERL_VENDORLIB_EXP # if defined(WIN32) /* this picks up vendorarch as well */ - s = win32_get_vendorlib(PERL_FS_VERSION, &len); + s = PerlEnv_vendorlib_path(PERL_FS_VERSION, &len); if (s) incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE); # else @@ -4485,7 +4423,7 @@ S_init_perllib(pTHX) #endif #if defined(WIN32) - s = win32_get_privlib(PERL_FS_VERSION, &len); + s = PerlEnv_lib_path(PERL_FS_VERSION, &len); if (s) incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE); #else diff --git a/perl.h b/perl.h index b816abd..ad94402 100644 --- a/perl.h +++ b/perl.h @@ -231,7 +231,7 @@ Perl_pregfree(aTHX_ (prog)) #define CALLREGFREE_PVT(prog) \ - if(prog) RX_ENGINE(prog)->free(aTHX_ (prog)) + if(prog) RX_ENGINE(prog)->rxfree(aTHX_ (prog)) #define CALLREG_NUMBUF_FETCH(rx,paren,usesv) \ RX_ENGINE(rx)->numbered_buff_FETCH(aTHX_ (rx),(paren),(usesv)) @@ -496,26 +496,6 @@ # endif #endif -/* Some platforms require marking function declarations - * for them to be exportable. Used in perlio.h, proto.h - * is handled either by the makedef.pl or by defining the - * PERL_CALLCONV to be something special. See also the - * definition of XS() in XSUB.h. */ -#ifndef PERL_EXPORT_C -# ifdef __cplusplus -# define PERL_EXPORT_C extern "C" -# else -# define PERL_EXPORT_C extern -# endif -#endif -#ifndef PERL_XS_EXPORT_C -# ifdef __cplusplus -# define PERL_XS_EXPORT_C extern "C" -# else -# define PERL_XS_EXPORT_C -# 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 @@ -1874,9 +1854,6 @@ typedef NVTYPE NV; /* Also Tru64 cc has broken NaN comparisons. */ # define NAN_COMPARE_BROKEN #endif -#if defined(__sgi) -# define NAN_COMPARE_BROKEN -#endif #ifdef USE_LONG_DOUBLE # ifdef I_SUNMATH @@ -1997,8 +1974,6 @@ extern long double Perl_my_frexpl(long double x, int *e); # define NV_EPSILON FLT128_EPSILON # define NV_MIN_10_EXP FLT128_MIN_10_EXP # define NV_MAX_10_EXP FLT128_MAX_10_EXP -# define NV_INF HUGE_VALQ -# define NV_NAN nanq("0") # define Perl_acos acosq # define Perl_asin asinq # define Perl_atan atanq @@ -3511,9 +3486,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 NOT_REACHED; /* NOTREACHED */ +# define NORETURN_FUNCTION_END NOT_REACHED; #else -# define NORETURN_FUNCTION_END NOT_REACHED; /* NOTREACHED */ return 0 +# define NORETURN_FUNCTION_END NOT_REACHED; return 0 #endif /* Some OS warn on NULL format to printf */ @@ -3687,6 +3662,30 @@ typedef struct crypt_data { /* straight from /usr/include/crypt.h */ #endif /* threading */ #endif /* AIX */ +#ifndef PERL_CALLCONV +# ifdef __cplusplus +# define PERL_CALLCONV extern "C" +# else +# define PERL_CALLCONV +# endif +#endif +#ifndef PERL_CALLCONV_NO_RET +# define PERL_CALLCONV_NO_RET PERL_CALLCONV +#endif + +/* PERL_STATIC_NO_RET is supposed to be equivalent to STATIC on builds that + dont have a noreturn as a declaration specifier +*/ +#ifndef PERL_STATIC_NO_RET +# define PERL_STATIC_NO_RET STATIC +#endif +/* PERL_STATIC_NO_RET is supposed to be equivalent to PERL_STATIC_INLINE on + builds that dont have a noreturn as a declaration specifier +*/ +#ifndef PERL_STATIC_INLINE_NO_RET +# define PERL_STATIC_INLINE_NO_RET PERL_STATIC_INLINE +#endif + #if !defined(OS2) # include "iperlsys.h" #endif @@ -4007,12 +4006,10 @@ Gid_t getegid (void); #define DEBUG_M_FLAG 0x01000000 /*16777216*/ #define DEBUG_B_FLAG 0x02000000 /*33554432*/ #define DEBUG_L_FLAG 0x04000000 /*67108864*/ -#define DEBUG_i_FLAG 0x08000000 /*134217728*/ -#define DEBUG_MASK 0x0FFFEFFF /* mask of all the standard flags */ +#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 - that something was done? */ +#define DEBUG_TOP_FLAG 0x80000000 /* -D was given --> PL_debug |= FLAG */ # define DEBUG_p_TEST_ (PL_debug & DEBUG_p_FLAG) # define DEBUG_s_TEST_ (PL_debug & DEBUG_s_FLAG) @@ -4041,7 +4038,6 @@ Gid_t getegid (void); # 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_i_TEST_ (PL_debug & DEBUG_i_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_) @@ -4075,7 +4071,6 @@ Gid_t getegid (void); # define DEBUG_M_TEST DEBUG_M_TEST_ # define DEBUG_B_TEST DEBUG_B_TEST_ # define DEBUG_L_TEST DEBUG_L_TEST_ -# define DEBUG_i_TEST DEBUG_i_TEST_ # define DEBUG_Xv_TEST DEBUG_Xv_TEST_ # define DEBUG_Uv_TEST DEBUG_Uv_TEST_ # define DEBUG_Pv_TEST DEBUG_Pv_TEST_ @@ -4129,7 +4124,6 @@ Gid_t getegid (void); # 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) -# define DEBUG_i(a) DEBUG__(DEBUG_i_TEST, a) #else /* DEBUGGING */ @@ -4160,7 +4154,6 @@ Gid_t getegid (void); # define DEBUG_M_TEST (0) # define DEBUG_B_TEST (0) # define DEBUG_L_TEST (0) -# define DEBUG_i_TEST (0) # define DEBUG_Xv_TEST (0) # define DEBUG_Uv_TEST (0) # define DEBUG_Pv_TEST (0) @@ -4194,7 +4187,6 @@ Gid_t getegid (void); # define DEBUG_M(a) # define DEBUG_B(a) # define DEBUG_L(a) -# define DEBUG_i(a) # define DEBUG_Xv(a) # define DEBUG_Uv(a) # define DEBUG_Pv(a) @@ -4299,98 +4291,6 @@ START_EXTERN_C END_EXTERN_C #endif -/* If you are thinking of using HUGE_VAL for infinity, or using - * functions to generate NV_INF (e.g. exp(1e9), log(-1.0)), - * stop. Neither will work portably: HUGE_VAL can be just DBL_MAX, - * and the math functions might be just generating DBL_MAX, or even - * zero. */ - -#if !defined(NV_INF) && defined(USE_LONG_DOUBLE) -# if !defined(NV_INF) && defined(LDBL_INFINITY) -# define NV_INF LDBL_INFINITY -# endif -# if !defined(NV_INF) && defined(INFINITYL) -# define NV_INF INFINITYL -# endif -#endif -#if !defined(NV_INF) && defined(DBL_INFINITY) -# define NV_INF (NV)DBL_INFINITY -#endif -#if !defined(NV_INF) && defined(INFINITY) -# define NV_INF (NV)INFINITY -#endif -#if !defined(NV_INF) && defined(INF) -# define NV_INF (NV)INF -#endif -#if !defined(NV_INF) -# if INTSIZE == 4 -/* At this point we assume the IEEE 754 floating point (and of course, - * we also assume a floating point format that can encode an infinity). - * We will coerce an int32 (which will encode the infinity) into - * a 32-bit float, which will then be cast into NV. - * - * Note that we intentionally use a float and 32-bit int, instead of - * shifting a small integer into a full IV, and from that into a full - * NV, because: - * - * (1) an IV might not be wide enough to cover all the bits of an NV. - * (2) the exponent part (including the infinity and nan bits) of a NV - * might be wider than just 16 bits. - * - * Below the NV_NAN logic has similar __PL_nan_u fallback, the only - * difference being the int32 constant being coerced. */ -# define __PL_inf_float_int32 0x7F800000 -static const union { unsigned int __i; float __f; } __PL_inf_u = - { __PL_inf_float_int32 }; -# define NV_INF ((NV)(__PL_inf_u.__f)) -# endif -#endif -#if !defined(NV_INF) -# define NV_INF ((NV)1.0/0.0) /* Some compilers will warn. */ -#endif - -#if !defined(NV_NAN) && defined(USE_LONG_DOUBLE) -# if !defined(NV_NAN) && defined(LDBL_NAN) -# define NV_NAN LDBL_NAN -# endif -# if !defined(NV_NAN) && defined(NANL) -# define NV_NAN NANL -# endif -# if !defined(NV_NAN) && defined(LDBL_QNAN) -# define NV_NAN LDBL_QNAN -# endif -#endif -#if !defined(NV_NAN) && defined(DBL_NAN) -# define NV_NAN (NV)DBL_NAN -#endif -#if !defined(NV_NAN) && defined(DBL_QNAN) -# define NV_NAN (NV)DBL_QNAN -#endif -#if !defined(NV_NAN) && defined(NAN) -# define NV_NAN (NV)NAN -#endif -#if !defined(NV_NAN) && defined(QNAN) -# define NV_NAN (NV)QNAN -#endif -#if !defined(NV_NAN) && defined(USE_LONG_DOUBLE) && defined(I_SUNMATH) -# define NV_NAN (NV)quiet_nan() -#endif -#if !defined(NV_NAN) -# if INTSIZE == 4 -/* See the discussion near __PL_inf_u. */ -# define __PL_nan_float_int32 0x7FC00000 -static const union { unsigned int __i; float __f; } __PL_nan_u = - { __PL_nan_float_int32 }; -# define NV_NAN ((NV)(__PL_nan_u.__f)) -# endif -#endif -#if !defined(NV_NAN) -# define NV_NAN ((NV)0.0/0.0) /* Some compilers will warn. */ -#endif -/* Do NOT try doing NV_NAN based on NV_INF and trying (NV_INF-NV_INF). - * Though IEEE-754-logically correct, some compilers (like Visual C 2003) - * falsely misoptimize that to zero (x-x is zero, right?) */ - #ifndef __cplusplus # if !defined(WIN32) && !defined(VMS) #ifndef crypt @@ -5478,31 +5378,6 @@ struct tempsym; /* defined in pp_pack.c */ #include "thread.h" #include "pp.h" -#ifndef PERL_CALLCONV -# ifdef __cplusplus -# define PERL_CALLCONV extern "C" -# else -# define PERL_CALLCONV -# endif -#endif -#ifndef PERL_CALLCONV_NO_RET -# define PERL_CALLCONV_NO_RET PERL_CALLCONV -#endif - -/* PERL_STATIC_NO_RET is supposed to be equivalent to STATIC on builds that - dont have a noreturn as a declaration specifier -*/ -#ifndef PERL_STATIC_NO_RET -# define PERL_STATIC_NO_RET STATIC -#endif -/* PERL_STATIC_NO_RET is supposed to be equivalent to PERL_STATIC_INLINE on - builds that dont have a noreturn as a declaration specifier -*/ -#ifndef PERL_STATIC_INLINE_NO_RET -# define PERL_STATIC_INLINE_NO_RET PERL_STATIC_INLINE -#endif - - #undef PERL_CKDEF #undef PERL_PPDEF #define PERL_CKDEF(s) PERL_CALLCONV OP *s (pTHX_ OP *o); @@ -5512,6 +5387,14 @@ struct tempsym; /* defined in pp_pack.c */ # include "malloc_ctl.h" #endif +/* + * This provides a layer of functions and macros to ensure extensions will + * get to use the same RTL functions as the core. + */ +#if defined(WIN32) +# include "win32iop.h" +#endif + #include "proto.h" /* this has structure inits, so it cannot be included before here */ @@ -5642,6 +5525,123 @@ EXTCONST bool PL_valid_types_NV_set[]; #endif +/* In C99 we could use designated (named field) union initializers. + * In C89 we need to initialize the member declared first. + * + * With the U8_NV version you will want to have inner braces, + * while with the NV_U8 use just the NV.*/ +#define INFNAN_U8_NV_DECL EXTCONST union { U8 u8[NVSIZE]; NV nv; } +#define INFNAN_NV_U8_DECL EXTCONST union { NV nv; U8 u8[NVSIZE]; } + +#ifdef DOINIT + +/* PL_inf and PL_nan initialization. + * + * For inf and nan initialization the ultimate fallback is dividing + * one or zero by zero: however, some compilers will warn or even fail + * on divide-by-zero, but hopefully something earlier will work. + * + * If you are thinking of using HUGE_VAL for infinity, or using + * functions to generate NV_INF (e.g. exp(1e9), log(-1.0)), + * stop. Neither will work portably: HUGE_VAL can be just DBL_MAX, + * and the math functions might be just generating DBL_MAX, or even zero. + * + * Also, do NOT try doing NV_NAN based on NV_INF and trying (NV_INF-NV_INF). + * Though logically correct, some compilers (like Visual C 2003) + * falsely misoptimize that to zero (x-x is always zero, right?) + */ + +/* The quadmath literals are anon structs which -Wc++-compat doesn't like. */ +GCC_DIAG_IGNORE(-Wc++-compat) + +# ifdef USE_QUADMATH +/* Cannot use HUGE_VALQ for PL_inf because not a compile-time + * constant. */ +INFNAN_NV_U8_DECL PL_inf = { 1.0Q/0.0Q }; +# elif NVSIZE == LONG_DOUBLESIZE && defined(LONGDBLINFBYTES) +INFNAN_U8_NV_DECL PL_inf = { { LONGDBLINFBYTES } }; +# elif NVSIZE == DOUBLESIZE && defined(DOUBLEINFBYTES) +INFNAN_U8_NV_DECL PL_inf = { { DOUBLEINFBYTES } }; +# else +# if NVSIZE == LONG_DOUBLESIZE && defined(USE_LONG_DOUBLE) +# if defined(LDBL_INFINITY) +INFNAN_NV_U8_DECL PL_inf = { LDBL_INFINITY }; +# elif defined(LDBL_INF) +INFNAN_NV_U8_DECL PL_inf = { LDBL_INF }; +# elif defined(INFINITY) +INFNAN_NV_U8_DECL PL_inf = { (NV)INFINITY }; +# elif defined(INF) +INFNAN_NV_U8_DECL PL_inf = { (NV)INF }; +# else +INFNAN_NV_U8_DECL PL_inf = { 1.0L/0.0L }; /* keep last */ +# endif +# else +# if defined(DBL_INFINITY) +INFNAN_NV_U8_DECL PL_inf = { DBL_INFINITY }; +# elif defined(DBL_INF) +INFNAN_NV_U8_DECL PL_inf = { DBL_INF }; +# elif defined(INFINITY) /* C99 */ +INFNAN_NV_U8_DECL PL_inf = { (NV)INFINITY }; +# elif defined(INF) +INFNAN_NV_U8_DECL PL_inf = { (NV)INF }; +# else +INFNAN_NV_U8_DECL PL_inf = { 1.0/0.0 }; /* keep last */ +# endif +# endif +# endif + +# ifdef USE_QUADMATH +/* Cannot use nanq("0") for PL_nan because not a compile-time + * constant. */ +INFNAN_NV_U8_DECL PL_nan = { 0.0Q/0.0Q }; +# elif NVSIZE == LONG_DOUBLESIZE && defined(LONGDBLNANBYTES) +INFNAN_U8_NV_DECL PL_nan = { { LONGDBLNANBYTES } }; +# elif NVSIZE == DOUBLESIZE && defined(DOUBLENANBYTES) +INFNAN_U8_NV_DECL PL_nan = { { DOUBLENANBYTES } }; +# else +# if NVSIZE == LONG_DOUBLESIZE && defined(USE_LONG_DOUBLE) +# if defined(LDBL_NAN) +INFNAN_NV_U8_DECL PL_nan = { LDBL_NAN }; +# elif defined(LDBL_QNAN) +INFNAN_NV_U8_DECL PL_nan = { LDBL_QNAN }; +# elif defined(NAN) +INFNAN_NV_U8_DECL PL_nan = { (NV)NAN }; +# else +INFNAN_NV_U8_DECL PL_nan = { 0.0L/0.0L }; /* keep last */ +# endif +# else +# if defined(DBL_NAN) +INFNAN_NV_U8_DECL PL_nan = { DBL_NAN }; +# elif defined(DBL_QNAN) +INFNAN_NV_U8_DECL PL_nan = { DBL_QNAN }; +# elif defined(NAN) /* C99 */ +INFNAN_NV_U8_DECL PL_nan = { (NV)NAN }; +# else +INFNAN_NV_U8_DECL PL_nan = { 0.0/0.0 }; /* keep last */ +# endif +# endif +# endif + +GCC_DIAG_RESTORE + +#else + +INFNAN_NV_U8_DECL PL_inf; +INFNAN_NV_U8_DECL PL_nan; + +#endif + +/* If you have not defined NV_INF/NV_NAN (like for example win32/win32.h), + * we will define NV_INF/NV_NAN as the nv part of the global const + * PL_inf/PL_nan. Note, however, that the preexisting NV_INF/NV_NAN + * might not be a compile-time constant, in which case it cannot be + * used to initialize PL_inf/PL_nan above. */ +#ifndef NV_INF +# define NV_INF PL_inf.nv +#endif +#ifndef NV_NAN +# define NV_NAN PL_nan.nv +#endif /* if these never got defined, they need defaults */ #ifndef PERL_SET_CONTEXT @@ -6602,7 +6602,15 @@ extern void moncontrol(int); #endif /* LONG_DOUBLEKIND */ -#if NVSIZE == DOUBLESIZE +#ifdef USE_QUADMATH /* assume quadmath endianness == native double endianness */ +# if defined(DOUBLE_LITTLE_ENDIAN) +# define NV_LITTLE_ENDIAN +# elif defined(DOUBLE_BIG_ENDIAN) +# define NV_BIG_ENDIAN +# elif defined(DOUBLE_MIX_ENDIAN) /* stretch */ +# define NV_MIX_ENDIAN +# endif +#elif NVSIZE == DOUBLESIZE # ifdef DOUBLE_LITTLE_ENDIAN # define NV_LITTLE_ENDIAN # endif @@ -6621,6 +6629,333 @@ extern void moncontrol(int); # endif #endif +/* NaNs (not-a-numbers) can carry payload bits, in addition to + * "nan-ness". Part of the payload is the quiet/signaling bit. + * To back up a bit (harhar): + * + * For IEEE 754 64-bit formats [1]: + * + * s 000 (mantissa all-zero) zero + * s 000 (mantissa non-zero) subnormals (denormals) + * s 001 ... 7fe normals + * s 7ff q nan + * + * For IEEE 754 128-bit formats: + * + * s 0000 (mantissa all-zero) zero + * s 0000 (mantissa non-zero) subnormals (denormals) + * s 0001 ... 7ffe normals + * s 7fff q nan + * + * [1] this looks like big-endian, but applies equally to little-endian. + * + * s = Sign bit. Yes, zeros and nans can have negative sign, + * the interpretation is application-specific. + * + * q = Quietness bit, the interpretation is platform-specific. + * Most platforms have the most significant bit being one + * meaning quiet, but some (older mips, hppa) have the msb + * being one meaning signaling. Note that the above means + * that on most platforms there cannot be signaling nan with + * zero payload because that is identical with infinity; + * while conversely on older mips/hppa there cannot be a quiet nan + * because that is identical with infinity. + * + * Moreover, whether there is any behavioral difference + * between quiet and signaling NaNs, depends on the platform. + * + * x86 80-bit extended precision is different, the mantissa bits: + * + * 63 62 61 30387+ pre-387 visual c + * -------- ---- -------- -------- + * 0 0 0 invalid infinity + * 0 0 1 invalid snan + * 0 1 0 invalid snan + * 0 1 1 invalid snan + * 1 0 0 infinity snan 1.#INF + * 1 0 1 snan 1.#SNAN + * 1 1 0 qnan -1.#IND (x86 chooses this to negative) + * 1 1 1 qnan 1.#QNAN + * + * This means that in this format there are 61 bits available + * for the nan payload. + * + * In all platforms, the payload bytes (and bits, some of them are + * often in a partial byte) themselves can be either all zero (x86), + * all one (sparc or mips), or a mixture: in IEEE 754 128-bit double + * or in a double-double, the first half of the payload can follow the + * native double, while in the second half the payload can be all + * zeros. (Therefore the mask for payload bits is not necessarily + * identical to bit complement of the NaN.) Another way of putting + * this: the payload for the default NaN might not be zero. + * + * For the x86 80-bit long doubles, the trailing bytes (the 80 bits + * being 'packaged' in either 12 or 16 bytes) can be whatever random + * garbage. + * + * Furthermore, the semantics of the sign bit on NaNs are platform-specific. + * On normal floats, the sign bit being on means negative. But this may, + * or may not, be reverted on NaNs: in other words, the default NaN might + * have the sign bit on, and therefore look like negative if you look + * at it at the bit level. + * + * NaN payloads are not propagated even on copies, or in arithmetics. + * They *might* be, according to some rules, on your particular + * cpu/os/compiler/libraries, but no guarantees. + * + * To summarize, on most platforms, and for 64-bit doubles + * (using big-endian ordering here): + * + * [7FF8000000000000..7FFFFFFFFFFFFFFF] quiet + * [FFF8000000000000..FFFFFFFFFFFFFFFF] quiet + * [7FF0000000000001..7FF7FFFFFFFFFFFF] signaling + * [FFF0000000000001..FFF7FFFFFFFFFFFF] signaling + * + * The C99 nan() is supposed to generate *quiet* NaNs. + * + * Note the asymmetry: + * The 7FF0000000000000 is positive infinity, + * the FFF0000000000000 is negative infinity. + */ + +/* NVMANTBITS is the number of _real_ mantissa bits in an NV. + * For the standard IEEE 754 fp this number is usually one less that + * *DBL_MANT_DIG because of the implicit (aka hidden) bit, which isn't + * real. For the 80-bit extended precision formats (x86*), the number + * of mantissa bits... depends. For normal floats, it's 64. But for + * the inf/nan, it's different (zero for inf, 61 for nan). + * NVMANTBITS works for normal floats. */ + +/* We do not want to include the quiet/signaling bit. */ +#define NV_NAN_BITS (NVMANTBITS - 1) + +#if defined(USE_LONG_DOUBLE) && NVSIZE > DOUBLESIZE +# if LONG_DOUBLEKIND == LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN +# define NV_NAN_QS_BYTE_OFFSET 13 +# elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN +# define NV_NAN_QS_BYTE_OFFSET 2 +# elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN +# define NV_NAN_QS_BYTE_OFFSET 7 +# elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN +# define NV_NAN_QS_BYTE_OFFSET 2 +# elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN +# define NV_NAN_QS_BYTE_OFFSET 13 +# elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN +# define NV_NAN_QS_BYTE_OFFSET 1 +# else +# error "Unexpected long double format" +# endif +#else +# ifdef USE_QUADMATH +# ifdef NV_LITTLE_ENDIAN +# define NV_NAN_QS_BYTE_OFFSET 13 +# elif defined(NV_BIG_ENDIAN) +# define NV_NAN_QS_BYTE_OFFSET 2 +# else +# error "Unexpected quadmath format" +# endif +# elif DOUBLEKIND == DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN +# define NV_NAN_QS_BYTE_OFFSET 2 +# elif DOUBLEKIND == DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN +# define NV_NAN_QS_BYTE_OFFSET 1 +# elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN +# define NV_NAN_QS_BYTE_OFFSET 6 +# elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN +# define NV_NAN_QS_BYTE_OFFSET 1 +# elif DOUBLEKIND == DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN +# define NV_NAN_QS_BYTE_OFFSET 13 +# elif DOUBLEKIND == DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN +# define NV_NAN_QS_BYTE_OFFSET 2 +# elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE +# define NV_NAN_QS_BYTE_OFFSET 2 /* bytes 4 5 6 7 0 1 2 3 (MSB 7) */ +# elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE +# define NV_NAN_QS_BYTE_OFFSET 5 /* bytes 3 2 1 0 7 6 5 4 (MSB 7) */ +# else +# error "Unexpected double format" +# endif +#endif +/* NV_NAN_QS_BYTE is the byte to test for the quiet/signaling */ +#define NV_NAN_QS_BYTE(nvp) (((U8*)(nvp))[NV_NAN_QS_BYTE_OFFSET]) +/* NV_NAN_QS_BIT is the bit to test in the NV_NAN_QS_BYTE_OFFSET + * for the quiet/signaling */ +#if defined(USE_LONG_DOUBLE) && \ + (LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN || \ + LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN) +# define NV_NAN_QS_BIT_SHIFT 6 /* 0x40 */ +#elif defined(USE_LONG_DOUBLE) && \ + (LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN || \ + LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN) +# define NV_NAN_QS_BIT_SHIFT 3 /* 0x08, but not via NV_NAN_BITS */ +#else +# define NV_NAN_QS_BIT_SHIFT ((NV_NAN_BITS) % 8) /* usually 3, or 0x08 */ +#endif +#define NV_NAN_QS_BIT (1 << (NV_NAN_QS_BIT_SHIFT)) +/* NV_NAN_QS_BIT_OFFSET is the bit offset from the beginning of a NV + * (bytes ordered big-endianly) for the quiet/signaling bit + * for the quiet/signaling */ +#define NV_NAN_QS_BIT_OFFSET \ + (8 * (NV_NAN_QS_BYTE_OFFSET) + (NV_NAN_QS_BIT_SHIFT)) +/* NV_NAN_QS_QUIET (always defined) is one if the NV_NAN_QS_QS_BIT being + * on/one indicates quiet NaN. NV_NAN_QS_SIGNALING (also always defined) + * is on/one if the NV_NAN_QS_BIT being one indicates signaling NaN. */ +#define NV_NAN_QS_QUIET \ + ((NV_NAN_QS_BYTE(PL_nan.u8) & NV_NAN_QS_BIT) == NV_NAN_QS_BIT) +#define NV_NAN_QS_SIGNALING (!(NV_NAN_QS_QUIET)) +#define NV_NAN_QS_TEST(nvp) (NV_NAN_QS_BYTE(nvp) & NV_NAN_QS_BIT) +/* NV_NAN_IS_QUIET() returns true if the NV behind nvp is a NaN, + * whether it is a quiet NaN, NV_NAN_IS_SIGNALING() if a signaling NaN. + * Note however that these do not check whether the nvp is a NaN. */ +#define NV_NAN_IS_QUIET(nvp) \ + (NV_NAN_QS_TEST(nvp) == (NV_NAN_QS_QUIET ? NV_NAN_QS_BIT : 0)) +#define NV_NAN_IS_SIGNALING(nvp) \ + (NV_NAN_QS_TEST(nvp) == (NV_NAN_QS_QUIET ? 0 : NV_NAN_QS_BIT)) +#define NV_NAN_SET_QUIET(nvp) \ + (NV_NAN_QS_QUIET ? \ + (NV_NAN_QS_BYTE(nvp) |= NV_NAN_QS_BIT) : \ + (NV_NAN_QS_BYTE(nvp) &= ~NV_NAN_QS_BIT)) +#define NV_NAN_SET_SIGNALING(nvp) \ + (NV_NAN_QS_QUIET ? \ + (NV_NAN_QS_BYTE(nvp) &= ~NV_NAN_QS_BIT) : \ + (NV_NAN_QS_BYTE(nvp) |= NV_NAN_QS_BIT)) +#define NV_NAN_QS_XOR(nvp) (NV_NAN_QS_BYTE(nvp) ^= NV_NAN_QS_BIT) + +/* NV_NAN_PAYLOAD_MASK: masking the nan payload bits. + * + * NV_NAN_PAYLOAD_PERM: permuting the nan payload bytes. + * 0xFF means "don't go here".*/ + +/* Shorthands to avoid typoses. */ +#define NV_NAN_PAYLOAD_PERM_0_TO_7 \ + 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 +#define NV_NAN_PAYLOAD_PERM_7_TO_0 \ + 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0 +#define NV_NAN_PAYLOAD_MASK_IEEE_754_128_LE \ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \ + 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00 +#define NV_NAN_PAYLOAD_PERM_IEEE_754_128_LE \ + NV_NAN_PAYLOAD_PERM_0_TO_7, \ + 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xFF, 0xFF +#define NV_NAN_PAYLOAD_MASK_IEEE_754_128_BE \ + 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, \ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +#define NV_NAN_PAYLOAD_PERM_IEEE_754_128_BE \ + 0xFF, 0xFF, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, \ + NV_NAN_PAYLOAD_PERM_7_TO_0 +#define NV_NAN_PAYLOAD_MASK_IEEE_754_64_LE \ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00 +#define NV_NAN_PAYLOAD_PERM_IEEE_754_64_LE \ + 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0xFF +#define NV_NAN_PAYLOAD_MASK_IEEE_754_64_BE \ + 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +#define NV_NAN_PAYLOAD_PERM_IEEE_754_64_BE \ + 0xFF, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0 + +#if defined(USE_LONG_DOUBLE) && NVSIZE > DOUBLESIZE +# if LONG_DOUBLEKIND == LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN +# define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_LE +# define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_LE +# elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN +# define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_BE +# define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_BE +# elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN +# if LONG_DOUBLESIZE == 10 +# define NV_NAN_PAYLOAD_MASK \ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, \ + 0x00, 0x00 +# define NV_NAN_PAYLOAD_PERM \ + NV_NAN_PAYLOAD_PERM_0_TO_7, 0xFF, 0xFF +# elif LONG_DOUBLESIZE == 12 +# define NV_NAN_PAYLOAD_MASK \ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, \ + 0x00, 0x00, 0x00, 0x00 +# define NV_NAN_PAYLOAD_PERM \ + NV_NAN_PAYLOAD_PERM_0_TO_7, 0xFF, 0xFF, 0xFF, 0xFF +# elif LONG_DOUBLESIZE == 16 +# define NV_NAN_PAYLOAD_MASK \ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +# define NV_NAN_PAYLOAD_PERM \ + NV_NAN_PAYLOAD_PERM_0_TO_7, \ + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF +# else +# error "Unexpected x86 80-bit little-endian long double format" +# endif +# elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN +# if LONG_DOUBLESIZE == 10 +# define NV_NAN_PAYLOAD_MASK \ + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, \ + 0xff, 0xff +# define NV_NAN_PAYLOAD_PERM \ + NV_NAN_PAYLOAD_PERM_7_TO_0, 0xFF, 0xFF +# elif LONG_DOUBLESIZE == 12 +# define NV_NAN_PAYLOAD_MASK \ + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, \ + 0xff, 0xff, 0x00, 0x00 +# define NV_NAN_PAYLOAD_PERM \ + NV_NAN_PAYLOAD_PERM_7_TO_0, 0xFF, 0xFF, 0xFF, 0xFF +# elif LONG_DOUBLESIZE == 16 +# define NV_NAN_PAYLOAD_MASK \ + 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, \ + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +# define NV_NAN_PAYLOAD_PERM \ + NV_NAN_PAYLOAD_PERM_7_TO_0, \ + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF +# else +# error "Unexpected x86 80-bit big-endian long double format" +# endif +# elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN +/* For double-double we assume only the first double is used for NaN. */ +# define NV_NAN_PAYLOAD_MASK \ + NV_NAN_PAYLOAD_MASK_IEEE_754_64_LE +# define NV_NAN_PAYLOAD_PERM \ + NV_NAN_PAYLOAD_PERM_IEEE_754_64_LE +# elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN +# define NV_NAN_PAYLOAD_MASK \ + NV_NAN_PAYLOAD_MASK_IEEE_754_64_BE +# define NV_NAN_PAYLOAD_PERM \ + NV_NAN_PAYLOAD_PERM_IEEE_754_64_BE +# else +# error "Unexpected long double format" +# endif +#else +# ifdef USE_QUADMATH /* quadmath is not long double */ +# ifdef NV_LITTLE_ENDIAN +# define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_LE +# define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_LE +# elif defined(NV_BIG_ENDIAN) +# define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_BE +# define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_BE +# else +# error "Unexpected quadmath format" +# endif +# elif DOUBLEKIND == DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN +# define NV_NAN_PAYLOAD_MASK 0xff, 0xff, 0x07, 0x00 +# define NV_NAN_PAYLOAD_PERM 0x0, 0x1, 0x2, 0xFF +# elif DOUBLEKIND == DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN +# define NV_NAN_PAYLOAD_MASK 0x00, 0x07, 0xff, 0xff +# define NV_NAN_PAYLOAD_PERM 0xFF, 0x2, 0x1, 0x0 +# elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN +# define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_64_LE +# define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_64_LE +# elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN +# define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_64_BE +# define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_64_BE +# elif DOUBLEKIND == DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN +# define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_LE +# define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_LE +# elif DOUBLEKIND == DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN +# define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_BE +# define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_BE +# elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE +# define NV_NAN_PAYLOAD_MASK 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0xff, 0xff +# define NV_NAN_PAYLOAD_PERM 0x4, 0x5, 0x6, 0xFF, 0x0, 0x1, 0x2, 0x3 +# elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE +# define NV_NAN_PAYLOAD_MASK 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xff, 0xff +# define NV_NAN_PAYLOAD_PERM 0x3, 0x2, 0x1, 0x0, 0xFF, 0x6, 0x5, 0x4 +# else +# error "Unexpected double format" +# endif +#endif /* (KEEP THIS LAST IN perl.h!) diff --git a/perlio.c b/perlio.c index b8ebc89..92fa2be 100644 --- a/perlio.c +++ b/perlio.c @@ -374,10 +374,6 @@ PerlIO_debug(const char *fmt, ...) va_list ap; dSYS; va_start(ap, fmt); - - if (!DEBUG_i_TEST) - return; - if (!PL_perlio_debug_fd) { if (!TAINTING_get && PerlProc_getuid() == PerlProc_geteuid() && @@ -387,11 +383,11 @@ PerlIO_debug(const char *fmt, ...) PL_perlio_debug_fd = PerlLIO_open3(s, O_WRONLY | O_CREAT | O_APPEND, 0666); else - PL_perlio_debug_fd = PerlLIO_dup(2); /* stderr */ + PL_perlio_debug_fd = -1; } else { - /* tainting or set*id, so ignore the environment and send the - debug output to stderr, like other -D switches. */ - PL_perlio_debug_fd = PerlLIO_dup(2); /* stderr */ + /* tainting or set*id, so ignore the environment, and ensure we + skip these tests next time through. */ + PL_perlio_debug_fd = -1; } } if (PL_perlio_debug_fd > 0) { @@ -504,7 +500,7 @@ PerlIO_fdupopen(pTHX_ PerlIO *f, CLONE_PARAMS *param, int flags) { if (PerlIOValid(f)) { const PerlIO_funcs * const tab = PerlIOBase(f)->tab; - DEBUG_i( PerlIO_debug("fdupopen f=%p param=%p\n",(void*)f,(void*)param) ); + PerlIO_debug("fdupopen f=%p param=%p\n",(void*)f,(void*)param); if (tab && tab->Dup) return (*tab->Dup)(aTHX_ PerlIO_allocate(aTHX), f, param, flags); else { @@ -613,7 +609,7 @@ PerlIO_clone(pTHX_ PerlInterpreter *proto, CLONE_PARAMS *param) PL_known_layers = PerlIO_clone_list(aTHX_ proto->Iknown_layers, param); PL_def_layerlist = PerlIO_clone_list(aTHX_ proto->Idef_layerlist, param); PerlIO_init_table(aTHX); - DEBUG_i( PerlIO_debug("Clone %p from %p\n",(void*)aTHX,(void*)proto) ); + PerlIO_debug("Clone %p from %p\n",(void*)aTHX,(void*)proto); while ((f = *table)) { int i; table = (PerlIOl **) (f++); @@ -637,7 +633,7 @@ PerlIO_destruct(pTHX) PerlIOl **table = &PL_perlio; PerlIOl *f; #ifdef USE_ITHREADS - DEBUG_i( PerlIO_debug("Destruct %p\n",(void*)aTHX) ); + PerlIO_debug("Destruct %p\n",(void*)aTHX); #endif while ((f = *table)) { int i; @@ -647,7 +643,7 @@ PerlIO_destruct(pTHX) const PerlIOl *l; while ((l = *x)) { if (l->tab && l->tab->kind & PERLIO_K_DESTRUCT) { - DEBUG_i( PerlIO_debug("Destruct popping %s\n", l->tab->name) ); + PerlIO_debug("Destruct popping %s\n", l->tab->name); PerlIO_flush(x); PerlIO_pop(aTHX_ x); } @@ -666,8 +662,8 @@ PerlIO_pop(pTHX_ PerlIO *f) const PerlIOl *l = *f; VERIFY_HEAD(f); if (l) { - DEBUG_i( PerlIO_debug("PerlIO_pop f=%p %s\n", (void*)f, - l->tab ? l->tab->name : "(Null)") ); + PerlIO_debug("PerlIO_pop f=%p %s\n", (void*)f, + l->tab ? l->tab->name : "(Null)"); if (l->tab && l->tab->Popped) { /* * If popped returns non-zero do not free its layer structure @@ -740,7 +736,7 @@ PerlIO_find_layer(pTHX_ const char *name, STRLEN len, int load) PerlIO_funcs * const f = PL_known_layers->array[i].funcs; const STRLEN this_len = strlen(f->name); if (this_len == len && memEQ(f->name, name, len)) { - DEBUG_i( PerlIO_debug("%.*s => %p\n", (int) len, name, (void*)f) ); + PerlIO_debug("%.*s => %p\n", (int) len, name, (void*)f); return f; } } @@ -768,7 +764,7 @@ PerlIO_find_layer(pTHX_ const char *name, STRLEN len, int load) return PerlIO_find_layer(aTHX_ name, len, 0); } } - DEBUG_i( PerlIO_debug("Cannot find %.*s\n", (int) len, name) ); + PerlIO_debug("Cannot find %.*s\n", (int) len, name); return NULL; } @@ -871,9 +867,8 @@ XS(XS_PerlIO__Layer__NoWarnings) */ dXSARGS; PERL_UNUSED_ARG(cv); - DEBUG_i( - if (items) - PerlIO_debug("warning:%s\n",SvPV_nolen_const(ST(0))) ); + if (items) + PerlIO_debug("warning:%s\n",SvPV_nolen_const(ST(0))); XSRETURN(0); } @@ -902,7 +897,7 @@ PerlIO_define_layer(pTHX_ PerlIO_funcs *tab) if (!PL_known_layers) PL_known_layers = PerlIO_list_alloc(aTHX); PerlIO_list_push(aTHX_ PL_known_layers, tab, NULL); - DEBUG_i( PerlIO_debug("define %s %p\n", tab->name, (void*)tab) ); + PerlIO_debug("define %s %p\n", tab->name, (void*)tab); } int @@ -1007,7 +1002,7 @@ PerlIO_default_buffer(pTHX_ PerlIO_list_t *av) if (PerlIO_stdio.Set_ptrcnt) tab = &PerlIO_stdio; #endif - DEBUG_i( PerlIO_debug("Pushing %s\n", tab->name) ); + PerlIO_debug("Pushing %s\n", tab->name); PerlIO_list_push(aTHX_ av, (PerlIO_funcs *)tab, &PL_sv_undef); } @@ -1021,8 +1016,8 @@ PerlIO_funcs * PerlIO_layer_fetch(pTHX_ PerlIO_list_t *av, IV n, PerlIO_funcs *def) { if (n >= 0 && n < av->cur) { - DEBUG_i( PerlIO_debug("Layer %" IVdf " is %s\n", n, - av->array[n].funcs->name) ); + PerlIO_debug("Layer %" IVdf " is %s\n", n, + av->array[n].funcs->name); return av->array[n].funcs; } if (!def) @@ -1173,9 +1168,9 @@ PerlIO_push(pTHX_ PerlIO *f, PERLIO_FUNCS_DECL(*tab), const char *mode, SV *arg) l->tab = (PerlIO_funcs*) tab; l->head = ((PerlIOl*)f)->head; *f = l; - DEBUG_i( PerlIO_debug("PerlIO_push f=%p %s %s %p\n", - (void*)f, tab->name, - (mode) ? mode : "(Null)", (void*)arg) ); + PerlIO_debug("PerlIO_push f=%p %s %s %p\n", + (void*)f, tab->name, + (mode) ? mode : "(Null)", (void*)arg); if (*l->tab->Pushed && (*l->tab->Pushed) (aTHX_ f, mode, arg, (PerlIO_funcs*) tab) != 0) { @@ -1189,8 +1184,8 @@ PerlIO_push(pTHX_ PerlIO *f, PERLIO_FUNCS_DECL(*tab), const char *mode, SV *arg) } else if (f) { /* Pseudo-layer where push does its own stack adjust */ - DEBUG_i( PerlIO_debug("PerlIO_push f=%p %s %s %p\n", (void*)f, tab->name, - (mode) ? mode : "(Null)", (void*)arg) ); + PerlIO_debug("PerlIO_push f=%p %s %s %p\n", (void*)f, tab->name, + (mode) ? mode : "(Null)", (void*)arg); if (tab->Pushed && (*tab->Pushed) (aTHX_ f, mode, arg, (PerlIO_funcs*) tab) != 0) { return NULL; @@ -1269,8 +1264,8 @@ PerlIORaw_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab) } } if (PerlIOValid(f)) { - DEBUG_i( PerlIO_debug(":raw f=%p :%s\n", (void*)f, - PerlIOBase(f)->tab ? PerlIOBase(f)->tab->name : "(Null)") ); + PerlIO_debug(":raw f=%p :%s\n", (void*)f, + PerlIOBase(f)->tab ? PerlIOBase(f)->tab->name : "(Null)"); return 0; } } @@ -1322,11 +1317,10 @@ PerlIO_apply_layers(pTHX_ PerlIO *f, const char *mode, const char *names) int PerlIO_binmode(pTHX_ PerlIO *f, int iotype, int mode, const char *names) { - DEBUG_i( - PerlIO_debug("PerlIO_binmode f=%p %s %c %x %s\n", (void*)f, - (PerlIOBase(f) && PerlIOBase(f)->tab) ? - PerlIOBase(f)->tab->name : "(Null)", - iotype, mode, (names) ? names : "(Null)") ); + PerlIO_debug("PerlIO_binmode f=%p %s %c %x %s\n", (void*)f, + (PerlIOBase(f) && PerlIOBase(f)->tab) ? + PerlIOBase(f)->tab->name : "(Null)", + iotype, mode, (names) ? names : "(Null)"); if (names) { /* Do not flush etc. if (e.g.) switching encodings. @@ -1559,9 +1553,9 @@ PerlIO_openn(pTHX_ const char *layers, const char *mode, int fd, if (narg > 1 && !(tab->kind & PERLIO_K_MULTIARG)) { Perl_croak(aTHX_ "More than one argument to open(,':%s')",tab->name); } - DEBUG_i( PerlIO_debug("openn(%s,'%s','%s',%d,%x,%o,%p,%d,%p)\n", - tab->name, layers ? layers : "(Null)", mode, fd, - imode, perm, (void*)f, narg, (void*)args) ); + PerlIO_debug("openn(%s,'%s','%s',%d,%x,%o,%p,%d,%p)\n", + tab->name, layers ? layers : "(Null)", mode, fd, + imode, perm, (void*)f, narg, (void*)args); if (tab->Open) f = (*tab->Open) (aTHX_ tab, layera, n, mode, fd, imode, perm, f, narg, args); @@ -1638,7 +1632,7 @@ Perl_PerlIO_flush(pTHX_ PerlIO *f) return 0; /* If no Flush defined, silently succeed. */ } else { - DEBUG_i( PerlIO_debug("Cannot flush f=%p\n", (void*)f) ); + PerlIO_debug("Cannot flush f=%p\n", (void*)f); SETERRNO(EBADF, SS_IVCHAN); return -1; } @@ -2030,11 +2024,9 @@ PerlIOBase_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab) } } #if 0 - DEBUG_i( PerlIO_debug("PerlIOBase_pushed f=%p %s %s fl=%08" UVxf " (%s)\n", (void*)f, PerlIOBase(f)->tab->name, (omode) ? omode : "(Null)", l->flags, PerlIO_modestr(f, temp)); - ); #endif return 0; } @@ -2245,8 +2237,8 @@ S_more_refcounted_fds(pTHX_ const int new_fd) { PERL_UNUSED_CONTEXT; #endif - DEBUG_i( PerlIO_debug("More fds - old=%d, need %d, new=%d\n", - old_max, new_fd, new_max) ); + PerlIO_debug("More fds - old=%d, need %d, new=%d\n", + old_max, new_fd, new_max); if (new_fd < old_max) { return; @@ -2268,9 +2260,9 @@ S_more_refcounted_fds(pTHX_ const int new_fd) { PL_perlio_fd_refcnt_size = new_max; PL_perlio_fd_refcnt = new_array; - DEBUG_i( PerlIO_debug("Zeroing %p, %d\n", - (void*)(new_array + old_max), - new_max - old_max) ); + PerlIO_debug("Zeroing %p, %d\n", + (void*)(new_array + old_max), + new_max - old_max); Zero(new_array + old_max, new_max - old_max, int); } @@ -2302,8 +2294,8 @@ PerlIOUnix_refcnt_inc(int fd) Perl_croak(aTHX_ "refcnt_inc: fd %d: %d <= 0\n", fd, PL_perlio_fd_refcnt[fd]); } - DEBUG_i( PerlIO_debug("refcnt_inc: fd %d refcnt=%d\n", - fd, PL_perlio_fd_refcnt[fd]) ); + PerlIO_debug("refcnt_inc: fd %d refcnt=%d\n", + fd, PL_perlio_fd_refcnt[fd]); #ifdef USE_ITHREADS MUTEX_UNLOCK(&PL_perlio_mutex); @@ -2319,11 +2311,7 @@ PerlIOUnix_refcnt_dec(int fd) { int cnt = 0; if (fd >= 0) { -#ifdef DEBUGGING - dTHX; -#else dVAR; -#endif #ifdef USE_ITHREADS MUTEX_LOCK(&PL_perlio_mutex); #endif @@ -2338,7 +2326,7 @@ PerlIOUnix_refcnt_dec(int fd) fd, PL_perlio_fd_refcnt[fd]); } cnt = --PL_perlio_fd_refcnt[fd]; - DEBUG_i( PerlIO_debug("refcnt_dec: fd %d refcnt=%d\n", fd, cnt) ); + PerlIO_debug("refcnt_dec: fd %d refcnt=%d\n", fd, cnt); #ifdef USE_ITHREADS MUTEX_UNLOCK(&PL_perlio_mutex); #endif @@ -2385,9 +2373,9 @@ PerlIO_cleanup(pTHX) { int i; #ifdef USE_ITHREADS - DEBUG_i( PerlIO_debug("Cleanup layers for %p\n",(void*)aTHX) ); + PerlIO_debug("Cleanup layers for %p\n",(void*)aTHX); #else - DEBUG_i( PerlIO_debug("Cleanup layers\n") ); + PerlIO_debug("Cleanup layers\n"); #endif /* Raise STDIN..STDERR refcount so we don't close them */ @@ -2590,11 +2578,11 @@ PerlIOUnix_setfd(pTHX_ PerlIO *f, int fd, int imode) Stat_t st; if (PerlLIO_fstat(fd, &st) == 0) { if (!S_ISREG(st.st_mode)) { - DEBUG_i( PerlIO_debug("%d is not regular file\n",fd) ); + PerlIO_debug("%d is not regular file\n",fd); PerlIOBase(f)->flags |= PERLIO_F_NOTREG; } else { - DEBUG_i( PerlIO_debug("%d _is_ a regular file\n",fd) ); + PerlIO_debug("%d _is_ a regular file\n",fd); } } #endif @@ -3367,12 +3355,6 @@ PerlIOStdio_read(pTHX_ PerlIO *f, void *vbuf, Size_t count) return -1; SETERRNO(0,0); /* just in case */ } -#ifdef __sgi - /* Under some circumstances IRIX stdio fgetc() and fread() - * set the errno to ENOENT, which makes no sense according - * to either IRIX or POSIX. [rt.perl.org #123977] */ - if (errno == ENOENT) SETERRNO(0,0); -#endif return got; } @@ -4523,11 +4505,9 @@ PerlIOCrlf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab) PerlIOBase(f)->flags |= PERLIO_F_CRLF; code = PerlIOBuf_pushed(aTHX_ f, mode, arg, tab); #if 0 - DEBUG_i( PerlIO_debug("PerlIOCrlf_pushed f=%p %s %s fl=%08" UVxf "\n", (void*)f, PerlIOBase(f)->tab->name, (mode) ? mode : "(Null)", PerlIOBase(f)->flags); - ); #endif { /* If the old top layer is a CRLF layer, reactivate it (if @@ -5041,7 +5021,7 @@ PerlIO_tmpfile(void) char tempname[] = "/tmp/PerlIO_XXXXXX"; const char * const tmpdir = TAINTING_get ? NULL : PerlEnv_getenv("TMPDIR"); SV * sv = NULL; - int old_umask = umask(0177); + int old_umask = umask(0600); /* * I have no idea how portable mkstemp() is ... NI-S */ diff --git a/perlio.h b/perlio.h index 55e0ce3..8e700fe 100644 --- a/perlio.h +++ b/perlio.h @@ -96,15 +96,15 @@ typedef PerlIOl *PerlIO; #define PERLIO_FUNCS_CAST(funcs) (funcs) #endif -PERL_EXPORT_C void PerlIO_define_layer(pTHX_ PerlIO_funcs *tab); -PERL_EXPORT_C PerlIO_funcs *PerlIO_find_layer(pTHX_ const char *name, +PERL_CALLCONV void PerlIO_define_layer(pTHX_ PerlIO_funcs *tab); +PERL_CALLCONV PerlIO_funcs *PerlIO_find_layer(pTHX_ const char *name, STRLEN len, int load); -PERL_EXPORT_C PerlIO *PerlIO_push(pTHX_ PerlIO *f, PERLIO_FUNCS_DECL(*tab), +PERL_CALLCONV PerlIO *PerlIO_push(pTHX_ PerlIO *f, PERLIO_FUNCS_DECL(*tab), const char *mode, SV *arg); -PERL_EXPORT_C void PerlIO_pop(pTHX_ PerlIO *f); -PERL_EXPORT_C AV* PerlIO_get_layers(pTHX_ PerlIO *f); -PERL_EXPORT_C void PerlIO_clone(pTHX_ PerlInterpreter *proto, +PERL_CALLCONV void PerlIO_pop(pTHX_ PerlIO *f); +PERL_CALLCONV AV* PerlIO_get_layers(pTHX_ PerlIO *f); +PERL_CALLCONV void PerlIO_clone(pTHX_ PerlInterpreter *proto, CLONE_PARAMS *param); #endif /* PerlIO */ @@ -202,161 +202,161 @@ START_EXTERN_C # endif #endif #ifndef PerlIO_init -PERL_EXPORT_C void PerlIO_init(pTHX); +PERL_CALLCONV void PerlIO_init(pTHX); #endif #ifndef PerlIO_stdoutf -PERL_EXPORT_C int PerlIO_stdoutf(const char *, ...) +PERL_CALLCONV int PerlIO_stdoutf(const char *, ...) __attribute__format__(__printf__, 1, 2); #endif #ifndef PerlIO_puts -PERL_EXPORT_C int PerlIO_puts(PerlIO *, const char *); +PERL_CALLCONV int PerlIO_puts(PerlIO *, const char *); #endif #ifndef PerlIO_open -PERL_EXPORT_C PerlIO *PerlIO_open(const char *, const char *); +PERL_CALLCONV PerlIO *PerlIO_open(const char *, const char *); #endif #ifndef PerlIO_openn -PERL_EXPORT_C PerlIO *PerlIO_openn(pTHX_ const char *layers, const char *mode, +PERL_CALLCONV PerlIO *PerlIO_openn(pTHX_ const char *layers, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **arg); #endif #ifndef PerlIO_eof -PERL_EXPORT_C int PerlIO_eof(PerlIO *); +PERL_CALLCONV int PerlIO_eof(PerlIO *); #endif #ifndef PerlIO_error -PERL_EXPORT_C int PerlIO_error(PerlIO *); +PERL_CALLCONV int PerlIO_error(PerlIO *); #endif #ifndef PerlIO_clearerr -PERL_EXPORT_C void PerlIO_clearerr(PerlIO *); +PERL_CALLCONV void PerlIO_clearerr(PerlIO *); #endif #ifndef PerlIO_getc -PERL_EXPORT_C int PerlIO_getc(PerlIO *); +PERL_CALLCONV int PerlIO_getc(PerlIO *); #endif #ifndef PerlIO_putc -PERL_EXPORT_C int PerlIO_putc(PerlIO *, int); +PERL_CALLCONV int PerlIO_putc(PerlIO *, int); #endif #ifndef PerlIO_ungetc -PERL_EXPORT_C int PerlIO_ungetc(PerlIO *, int); +PERL_CALLCONV int PerlIO_ungetc(PerlIO *, int); #endif #ifndef PerlIO_fdopen -PERL_EXPORT_C PerlIO *PerlIO_fdopen(int, const char *); +PERL_CALLCONV PerlIO *PerlIO_fdopen(int, const char *); #endif #ifndef PerlIO_importFILE -PERL_EXPORT_C PerlIO *PerlIO_importFILE(FILE *, const char *); +PERL_CALLCONV PerlIO *PerlIO_importFILE(FILE *, const char *); #endif #ifndef PerlIO_exportFILE -PERL_EXPORT_C FILE *PerlIO_exportFILE(PerlIO *, const char *); +PERL_CALLCONV FILE *PerlIO_exportFILE(PerlIO *, const char *); #endif #ifndef PerlIO_findFILE -PERL_EXPORT_C FILE *PerlIO_findFILE(PerlIO *); +PERL_CALLCONV FILE *PerlIO_findFILE(PerlIO *); #endif #ifndef PerlIO_releaseFILE -PERL_EXPORT_C void PerlIO_releaseFILE(PerlIO *, FILE *); +PERL_CALLCONV void PerlIO_releaseFILE(PerlIO *, FILE *); #endif #ifndef PerlIO_read -PERL_EXPORT_C SSize_t PerlIO_read(PerlIO *, void *, Size_t); +PERL_CALLCONV SSize_t PerlIO_read(PerlIO *, void *, Size_t); #endif #ifndef PerlIO_unread -PERL_EXPORT_C SSize_t PerlIO_unread(PerlIO *, const void *, Size_t); +PERL_CALLCONV SSize_t PerlIO_unread(PerlIO *, const void *, Size_t); #endif #ifndef PerlIO_write -PERL_EXPORT_C SSize_t PerlIO_write(PerlIO *, const void *, Size_t); +PERL_CALLCONV SSize_t PerlIO_write(PerlIO *, const void *, Size_t); #endif #ifndef PerlIO_setlinebuf -PERL_EXPORT_C void PerlIO_setlinebuf(PerlIO *); +PERL_CALLCONV void PerlIO_setlinebuf(PerlIO *); #endif #ifndef PerlIO_printf -PERL_EXPORT_C int PerlIO_printf(PerlIO *, const char *, ...) +PERL_CALLCONV int PerlIO_printf(PerlIO *, const char *, ...) __attribute__format__(__printf__, 2, 3); #endif #ifndef PerlIO_vprintf -PERL_EXPORT_C int PerlIO_vprintf(PerlIO *, const char *, va_list); +PERL_CALLCONV int PerlIO_vprintf(PerlIO *, const char *, va_list); #endif #ifndef PerlIO_tell -PERL_EXPORT_C Off_t PerlIO_tell(PerlIO *); +PERL_CALLCONV Off_t PerlIO_tell(PerlIO *); #endif #ifndef PerlIO_seek -PERL_EXPORT_C int PerlIO_seek(PerlIO *, Off_t, int); +PERL_CALLCONV int PerlIO_seek(PerlIO *, Off_t, int); #endif #ifndef PerlIO_rewind -PERL_EXPORT_C void PerlIO_rewind(PerlIO *); +PERL_CALLCONV void PerlIO_rewind(PerlIO *); #endif #ifndef PerlIO_has_base -PERL_EXPORT_C int PerlIO_has_base(PerlIO *); +PERL_CALLCONV int PerlIO_has_base(PerlIO *); #endif #ifndef PerlIO_has_cntptr -PERL_EXPORT_C int PerlIO_has_cntptr(PerlIO *); +PERL_CALLCONV int PerlIO_has_cntptr(PerlIO *); #endif #ifndef PerlIO_fast_gets -PERL_EXPORT_C int PerlIO_fast_gets(PerlIO *); +PERL_CALLCONV int PerlIO_fast_gets(PerlIO *); #endif #ifndef PerlIO_canset_cnt -PERL_EXPORT_C int PerlIO_canset_cnt(PerlIO *); +PERL_CALLCONV int PerlIO_canset_cnt(PerlIO *); #endif #ifndef PerlIO_get_ptr -PERL_EXPORT_C STDCHAR *PerlIO_get_ptr(PerlIO *); +PERL_CALLCONV STDCHAR *PerlIO_get_ptr(PerlIO *); #endif #ifndef PerlIO_get_cnt -PERL_EXPORT_C SSize_t PerlIO_get_cnt(PerlIO *); +PERL_CALLCONV SSize_t PerlIO_get_cnt(PerlIO *); #endif #ifndef PerlIO_set_cnt -PERL_EXPORT_C void PerlIO_set_cnt(PerlIO *, SSize_t); +PERL_CALLCONV void PerlIO_set_cnt(PerlIO *, SSize_t); #endif #ifndef PerlIO_set_ptrcnt -PERL_EXPORT_C void PerlIO_set_ptrcnt(PerlIO *, STDCHAR *, SSize_t); +PERL_CALLCONV void PerlIO_set_ptrcnt(PerlIO *, STDCHAR *, SSize_t); #endif #ifndef PerlIO_get_base -PERL_EXPORT_C STDCHAR *PerlIO_get_base(PerlIO *); +PERL_CALLCONV STDCHAR *PerlIO_get_base(PerlIO *); #endif #ifndef PerlIO_get_bufsiz -PERL_EXPORT_C SSize_t PerlIO_get_bufsiz(PerlIO *); +PERL_CALLCONV SSize_t PerlIO_get_bufsiz(PerlIO *); #endif #ifndef PerlIO_tmpfile -PERL_EXPORT_C PerlIO *PerlIO_tmpfile(void); +PERL_CALLCONV PerlIO *PerlIO_tmpfile(void); #endif #ifndef PerlIO_stdin -PERL_EXPORT_C PerlIO *PerlIO_stdin(void); +PERL_CALLCONV PerlIO *PerlIO_stdin(void); #endif #ifndef PerlIO_stdout -PERL_EXPORT_C PerlIO *PerlIO_stdout(void); +PERL_CALLCONV PerlIO *PerlIO_stdout(void); #endif #ifndef PerlIO_stderr -PERL_EXPORT_C PerlIO *PerlIO_stderr(void); +PERL_CALLCONV PerlIO *PerlIO_stderr(void); #endif #ifndef PerlIO_getpos -PERL_EXPORT_C int PerlIO_getpos(PerlIO *, SV *); +PERL_CALLCONV int PerlIO_getpos(PerlIO *, SV *); #endif #ifndef PerlIO_setpos -PERL_EXPORT_C int PerlIO_setpos(PerlIO *, SV *); +PERL_CALLCONV int PerlIO_setpos(PerlIO *, SV *); #endif #ifndef PerlIO_fdupopen -PERL_EXPORT_C PerlIO *PerlIO_fdupopen(pTHX_ PerlIO *, CLONE_PARAMS *, int); +PERL_CALLCONV PerlIO *PerlIO_fdupopen(pTHX_ PerlIO *, CLONE_PARAMS *, int); #endif #if !defined(PerlIO_modestr) && !defined(PERLIO_IS_STDIO) -PERL_EXPORT_C char *PerlIO_modestr(PerlIO *, char *buf); +PERL_CALLCONV char *PerlIO_modestr(PerlIO *, char *buf); #endif #ifndef PerlIO_isutf8 -PERL_EXPORT_C int PerlIO_isutf8(PerlIO *); +PERL_CALLCONV int PerlIO_isutf8(PerlIO *); #endif #ifndef PerlIO_apply_layers -PERL_EXPORT_C int PerlIO_apply_layers(pTHX_ PerlIO *f, const char *mode, +PERL_CALLCONV int PerlIO_apply_layers(pTHX_ PerlIO *f, const char *mode, const char *names); #endif #ifndef PerlIO_binmode -PERL_EXPORT_C int PerlIO_binmode(pTHX_ PerlIO *f, int iotype, int omode, +PERL_CALLCONV int PerlIO_binmode(pTHX_ PerlIO *f, int iotype, int omode, const char *names); #endif #ifndef PerlIO_getname -PERL_EXPORT_C char *PerlIO_getname(PerlIO *, char *); +PERL_CALLCONV char *PerlIO_getname(PerlIO *, char *); #endif -PERL_EXPORT_C void PerlIO_destruct(pTHX); +PERL_CALLCONV void PerlIO_destruct(pTHX); -PERL_EXPORT_C int PerlIO_intmode2str(int rawmode, char *mode, int *writing); +PERL_CALLCONV int PerlIO_intmode2str(int rawmode, char *mode, int *writing); #ifdef PERLIO_LAYERS -PERL_EXPORT_C void PerlIO_cleanup(pTHX); +PERL_CALLCONV void PerlIO_cleanup(pTHX); -PERL_EXPORT_C void PerlIO_debug(const char *fmt, ...) +PERL_CALLCONV void PerlIO_debug(const char *fmt, ...) __attribute__format__(__printf__, 1, 2); typedef struct PerlIO_list_s PerlIO_list_t; diff --git a/perliol.h b/perliol.h index b8c0eae..d15c937 100644 --- a/perliol.h +++ b/perliol.h @@ -124,8 +124,8 @@ EXTPERLIO PerlIO_funcs PerlIO_pending; #ifdef WIN32 EXTPERLIO PerlIO_funcs PerlIO_win32; #endif -PERL_EXPORT_C PerlIO *PerlIO_allocate(pTHX); -PERL_EXPORT_C SV *PerlIO_arg_fetch(PerlIO_list_t *av, IV n); +PERL_CALLCONV PerlIO *PerlIO_allocate(pTHX); +PERL_CALLCONV SV *PerlIO_arg_fetch(PerlIO_list_t *av, IV n); #define PerlIOArg PerlIO_arg_fetch(layers,n) #ifdef PERLIO_USING_CRLF @@ -150,28 +150,28 @@ typedef struct { IV oneword; /* Emergency buffer */ } PerlIOBuf; -PERL_EXPORT_C int PerlIO_apply_layera(pTHX_ PerlIO *f, const char *mode, +PERL_CALLCONV int PerlIO_apply_layera(pTHX_ PerlIO *f, const char *mode, PerlIO_list_t *layers, IV n, IV max); -PERL_EXPORT_C int PerlIO_parse_layers(pTHX_ PerlIO_list_t *av, const char *names); -PERL_EXPORT_C PerlIO_funcs *PerlIO_layer_fetch(pTHX_ PerlIO_list_t *av, IV n, PerlIO_funcs *def); +PERL_CALLCONV int PerlIO_parse_layers(pTHX_ PerlIO_list_t *av, const char *names); +PERL_CALLCONV PerlIO_funcs *PerlIO_layer_fetch(pTHX_ PerlIO_list_t *av, IV n, PerlIO_funcs *def); -PERL_EXPORT_C SV *PerlIO_sv_dup(pTHX_ SV *arg, CLONE_PARAMS *param); -PERL_EXPORT_C void PerlIO_cleantable(pTHX_ PerlIOl **tablep); -PERL_EXPORT_C SV * PerlIO_tab_sv(pTHX_ PerlIO_funcs *tab); -PERL_EXPORT_C void PerlIO_default_buffer(pTHX_ PerlIO_list_t *av); -PERL_EXPORT_C void PerlIO_stdstreams(pTHX); -PERL_EXPORT_C int PerlIO__close(pTHX_ PerlIO *f); -PERL_EXPORT_C PerlIO_list_t * PerlIO_resolve_layers(pTHX_ const char *layers, const char *mode, int narg, SV **args); -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_CALLCONV SV *PerlIO_sv_dup(pTHX_ SV *arg, CLONE_PARAMS *param); +PERL_CALLCONV void PerlIO_cleantable(pTHX_ PerlIOl **tablep); +PERL_CALLCONV SV * PerlIO_tab_sv(pTHX_ PerlIO_funcs *tab); +PERL_CALLCONV void PerlIO_default_buffer(pTHX_ PerlIO_list_t *av); +PERL_CALLCONV void PerlIO_stdstreams(pTHX); +PERL_CALLCONV int PerlIO__close(pTHX_ PerlIO *f); +PERL_CALLCONV PerlIO_list_t * PerlIO_resolve_layers(pTHX_ const char *layers, const char *mode, int narg, SV **args); +PERL_CALLCONV PerlIO_funcs * PerlIO_default_layer(pTHX_ I32 n); +PERL_CALLCONV PerlIO_list_t * PerlIO_default_layers(pTHX); +PERL_CALLCONV PerlIO * PerlIO_reopen(const char *path, const char *mode, PerlIO *f); -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); -PERL_EXPORT_C void PerlIO_list_free(pTHX_ PerlIO_list_t *list); -PERL_EXPORT_C void PerlIO_list_push(pTHX_ PerlIO_list_t *list, PerlIO_funcs *funcs, SV *arg); -PERL_EXPORT_C void PerlIO_list_free(pTHX_ PerlIO_list_t *list); +PERL_CALLCONV PerlIO_list_t *PerlIO_list_alloc(pTHX); +PERL_CALLCONV PerlIO_list_t *PerlIO_clone_list(pTHX_ PerlIO_list_t *proto, CLONE_PARAMS *param); +PERL_CALLCONV void PerlIO_list_free(pTHX_ PerlIO_list_t *list); +PERL_CALLCONV void PerlIO_list_push(pTHX_ PerlIO_list_t *list, PerlIO_funcs *funcs, SV *arg); +PERL_CALLCONV void PerlIO_list_free(pTHX_ PerlIO_list_t *list); /* PerlIO_teardown doesn't need exporting, but the EXTERN_C is needed * for compiling as C++. Must also match with what perl.h says. */ @@ -180,111 +180,111 @@ EXTERN_C void PerlIO_teardown(void); /*--------------------------------------------------------------------------------------*/ /* Generic, or stub layer functions */ -PERL_EXPORT_C IV PerlIOBase_binmode(pTHX_ PerlIO *f); -PERL_EXPORT_C void PerlIOBase_clearerr(pTHX_ PerlIO *f); -PERL_EXPORT_C IV PerlIOBase_close(pTHX_ PerlIO *f); -PERL_EXPORT_C PerlIO * PerlIOBase_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags); -PERL_EXPORT_C IV PerlIOBase_eof(pTHX_ PerlIO *f); -PERL_EXPORT_C IV PerlIOBase_error(pTHX_ PerlIO *f); -PERL_EXPORT_C IV PerlIOBase_fileno(pTHX_ PerlIO *f); -PERL_EXPORT_C void PerlIOBase_flush_linebuf(pTHX); -PERL_EXPORT_C IV PerlIOBase_noop_fail(pTHX_ PerlIO *f); -PERL_EXPORT_C IV PerlIOBase_noop_ok(pTHX_ PerlIO *f); -PERL_EXPORT_C IV PerlIOBase_popped(pTHX_ PerlIO *f); -PERL_EXPORT_C IV PerlIOBase_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); -PERL_EXPORT_C PerlIO * PerlIOBase_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args); -PERL_EXPORT_C SSize_t PerlIOBase_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); -PERL_EXPORT_C void PerlIOBase_setlinebuf(pTHX_ PerlIO *f); -PERL_EXPORT_C SSize_t PerlIOBase_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count); +PERL_CALLCONV IV PerlIOBase_binmode(pTHX_ PerlIO *f); +PERL_CALLCONV void PerlIOBase_clearerr(pTHX_ PerlIO *f); +PERL_CALLCONV IV PerlIOBase_close(pTHX_ PerlIO *f); +PERL_CALLCONV PerlIO * PerlIOBase_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags); +PERL_CALLCONV IV PerlIOBase_eof(pTHX_ PerlIO *f); +PERL_CALLCONV IV PerlIOBase_error(pTHX_ PerlIO *f); +PERL_CALLCONV IV PerlIOBase_fileno(pTHX_ PerlIO *f); +PERL_CALLCONV void PerlIOBase_flush_linebuf(pTHX); +PERL_CALLCONV IV PerlIOBase_noop_fail(pTHX_ PerlIO *f); +PERL_CALLCONV IV PerlIOBase_noop_ok(pTHX_ PerlIO *f); +PERL_CALLCONV IV PerlIOBase_popped(pTHX_ PerlIO *f); +PERL_CALLCONV IV PerlIOBase_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); +PERL_CALLCONV PerlIO * PerlIOBase_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args); +PERL_CALLCONV SSize_t PerlIOBase_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); +PERL_CALLCONV void PerlIOBase_setlinebuf(pTHX_ PerlIO *f); +PERL_CALLCONV SSize_t PerlIOBase_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count); /* Buf */ -PERL_EXPORT_C Size_t PerlIOBuf_bufsiz(pTHX_ PerlIO *f); -PERL_EXPORT_C IV PerlIOBuf_close(pTHX_ PerlIO *f); -PERL_EXPORT_C PerlIO * PerlIOBuf_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags); -PERL_EXPORT_C IV PerlIOBuf_fill(pTHX_ PerlIO *f); -PERL_EXPORT_C IV PerlIOBuf_flush(pTHX_ PerlIO *f); -PERL_EXPORT_C STDCHAR * PerlIOBuf_get_base(pTHX_ PerlIO *f); -PERL_EXPORT_C SSize_t PerlIOBuf_get_cnt(pTHX_ PerlIO *f); -PERL_EXPORT_C STDCHAR * PerlIOBuf_get_ptr(pTHX_ PerlIO *f); -PERL_EXPORT_C PerlIO * PerlIOBuf_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args); -PERL_EXPORT_C IV PerlIOBuf_popped(pTHX_ PerlIO *f); -PERL_EXPORT_C IV PerlIOBuf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); -PERL_EXPORT_C SSize_t PerlIOBuf_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); -PERL_EXPORT_C IV PerlIOBuf_seek(pTHX_ PerlIO *f, Off_t offset, int whence); -PERL_EXPORT_C void PerlIOBuf_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt); -PERL_EXPORT_C Off_t PerlIOBuf_tell(pTHX_ PerlIO *f); -PERL_EXPORT_C SSize_t PerlIOBuf_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count); -PERL_EXPORT_C SSize_t PerlIOBuf_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count); +PERL_CALLCONV Size_t PerlIOBuf_bufsiz(pTHX_ PerlIO *f); +PERL_CALLCONV IV PerlIOBuf_close(pTHX_ PerlIO *f); +PERL_CALLCONV PerlIO * PerlIOBuf_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags); +PERL_CALLCONV IV PerlIOBuf_fill(pTHX_ PerlIO *f); +PERL_CALLCONV IV PerlIOBuf_flush(pTHX_ PerlIO *f); +PERL_CALLCONV STDCHAR * PerlIOBuf_get_base(pTHX_ PerlIO *f); +PERL_CALLCONV SSize_t PerlIOBuf_get_cnt(pTHX_ PerlIO *f); +PERL_CALLCONV STDCHAR * PerlIOBuf_get_ptr(pTHX_ PerlIO *f); +PERL_CALLCONV PerlIO * PerlIOBuf_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args); +PERL_CALLCONV IV PerlIOBuf_popped(pTHX_ PerlIO *f); +PERL_CALLCONV IV PerlIOBuf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); +PERL_CALLCONV SSize_t PerlIOBuf_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); +PERL_CALLCONV IV PerlIOBuf_seek(pTHX_ PerlIO *f, Off_t offset, int whence); +PERL_CALLCONV void PerlIOBuf_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt); +PERL_CALLCONV Off_t PerlIOBuf_tell(pTHX_ PerlIO *f); +PERL_CALLCONV SSize_t PerlIOBuf_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count); +PERL_CALLCONV SSize_t PerlIOBuf_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count); /* Crlf */ -PERL_EXPORT_C IV PerlIOCrlf_binmode(pTHX_ PerlIO *f); -PERL_EXPORT_C IV PerlIOCrlf_flush(pTHX_ PerlIO *f); -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_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count); +PERL_CALLCONV IV PerlIOCrlf_binmode(pTHX_ PerlIO *f); +PERL_CALLCONV IV PerlIOCrlf_flush(pTHX_ PerlIO *f); +PERL_CALLCONV SSize_t PerlIOCrlf_get_cnt(pTHX_ PerlIO *f); +PERL_CALLCONV IV PerlIOCrlf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); +PERL_CALLCONV void PerlIOCrlf_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt); +PERL_CALLCONV SSize_t PerlIOCrlf_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count); +PERL_CALLCONV SSize_t PerlIOCrlf_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count); /* Pending */ -PERL_EXPORT_C IV PerlIOPending_close(pTHX_ PerlIO *f); -PERL_EXPORT_C IV PerlIOPending_fill(pTHX_ PerlIO *f); -PERL_EXPORT_C IV PerlIOPending_flush(pTHX_ PerlIO *f); -PERL_EXPORT_C IV PerlIOPending_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); -PERL_EXPORT_C SSize_t PerlIOPending_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); -PERL_EXPORT_C IV PerlIOPending_seek(pTHX_ PerlIO *f, Off_t offset, int whence); -PERL_EXPORT_C void PerlIOPending_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt); +PERL_CALLCONV IV PerlIOPending_close(pTHX_ PerlIO *f); +PERL_CALLCONV IV PerlIOPending_fill(pTHX_ PerlIO *f); +PERL_CALLCONV IV PerlIOPending_flush(pTHX_ PerlIO *f); +PERL_CALLCONV IV PerlIOPending_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); +PERL_CALLCONV SSize_t PerlIOPending_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); +PERL_CALLCONV IV PerlIOPending_seek(pTHX_ PerlIO *f, Off_t offset, int whence); +PERL_CALLCONV void PerlIOPending_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt); /* Pop */ -PERL_EXPORT_C IV PerlIOPop_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); +PERL_CALLCONV IV PerlIOPop_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); /* Raw */ -PERL_EXPORT_C IV PerlIORaw_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); +PERL_CALLCONV IV PerlIORaw_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); /* Stdio */ -PERL_EXPORT_C void PerlIOStdio_clearerr(pTHX_ PerlIO *f); -PERL_EXPORT_C IV PerlIOStdio_close(pTHX_ PerlIO *f); -PERL_EXPORT_C PerlIO * PerlIOStdio_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags); -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); +PERL_CALLCONV void PerlIOStdio_clearerr(pTHX_ PerlIO *f); +PERL_CALLCONV IV PerlIOStdio_close(pTHX_ PerlIO *f); +PERL_CALLCONV PerlIO * PerlIOStdio_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags); +PERL_CALLCONV IV PerlIOStdio_eof(pTHX_ PerlIO *f); +PERL_CALLCONV IV PerlIOStdio_error(pTHX_ PerlIO *f); +PERL_CALLCONV 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); +PERL_CALLCONV STDCHAR * PerlIOStdio_get_ptr(pTHX_ PerlIO *f); +PERL_CALLCONV SSize_t PerlIOStdio_get_cnt(pTHX_ PerlIO *f); +PERL_CALLCONV 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); +PERL_CALLCONV IV PerlIOStdio_fill(pTHX_ PerlIO *f); +PERL_CALLCONV 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); +PERL_CALLCONV STDCHAR * PerlIOStdio_get_base(pTHX_ PerlIO *f); +PERL_CALLCONV 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); -PERL_EXPORT_C SSize_t PerlIOStdio_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); -PERL_EXPORT_C IV PerlIOStdio_seek(pTHX_ PerlIO *f, Off_t offset, int whence); -PERL_EXPORT_C void PerlIOStdio_setlinebuf(pTHX_ PerlIO *f); -PERL_EXPORT_C Off_t PerlIOStdio_tell(pTHX_ PerlIO *f); -PERL_EXPORT_C SSize_t PerlIOStdio_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count); -PERL_EXPORT_C SSize_t PerlIOStdio_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count); +PERL_CALLCONV char * PerlIOStdio_mode(const char *mode, char *tmode); +PERL_CALLCONV 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_CALLCONV IV PerlIOStdio_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); +PERL_CALLCONV SSize_t PerlIOStdio_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); +PERL_CALLCONV IV PerlIOStdio_seek(pTHX_ PerlIO *f, Off_t offset, int whence); +PERL_CALLCONV void PerlIOStdio_setlinebuf(pTHX_ PerlIO *f); +PERL_CALLCONV Off_t PerlIOStdio_tell(pTHX_ PerlIO *f); +PERL_CALLCONV SSize_t PerlIOStdio_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count); +PERL_CALLCONV SSize_t PerlIOStdio_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count); /* Unix */ -PERL_EXPORT_C IV PerlIOUnix_close(pTHX_ PerlIO *f); -PERL_EXPORT_C PerlIO * PerlIOUnix_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags); -PERL_EXPORT_C IV PerlIOUnix_fileno(pTHX_ PerlIO *f); -PERL_EXPORT_C int PerlIOUnix_oflags(const char *mode); -PERL_EXPORT_C PerlIO * PerlIOUnix_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 PerlIOUnix_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); -PERL_EXPORT_C SSize_t PerlIOUnix_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); -PERL_EXPORT_C int PerlIOUnix_refcnt_dec(int fd); -PERL_EXPORT_C void PerlIOUnix_refcnt_inc(int fd); -PERL_EXPORT_C int PerlIOUnix_refcnt(int fd); -PERL_EXPORT_C IV PerlIOUnix_seek(pTHX_ PerlIO *f, Off_t offset, int whence); -PERL_EXPORT_C Off_t PerlIOUnix_tell(pTHX_ PerlIO *f); -PERL_EXPORT_C SSize_t PerlIOUnix_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count); +PERL_CALLCONV IV PerlIOUnix_close(pTHX_ PerlIO *f); +PERL_CALLCONV PerlIO * PerlIOUnix_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags); +PERL_CALLCONV IV PerlIOUnix_fileno(pTHX_ PerlIO *f); +PERL_CALLCONV int PerlIOUnix_oflags(const char *mode); +PERL_CALLCONV PerlIO * PerlIOUnix_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_CALLCONV IV PerlIOUnix_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); +PERL_CALLCONV SSize_t PerlIOUnix_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); +PERL_CALLCONV int PerlIOUnix_refcnt_dec(int fd); +PERL_CALLCONV void PerlIOUnix_refcnt_inc(int fd); +PERL_CALLCONV int PerlIOUnix_refcnt(int fd); +PERL_CALLCONV IV PerlIOUnix_seek(pTHX_ PerlIO *f, Off_t offset, int whence); +PERL_CALLCONV Off_t PerlIOUnix_tell(pTHX_ PerlIO *f); +PERL_CALLCONV SSize_t PerlIOUnix_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count); /* Utf8 */ -PERL_EXPORT_C IV PerlIOUtf8_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); +PERL_CALLCONV IV PerlIOUtf8_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); #endif /* _PERLIOL_H */ diff --git a/perly.c b/perly.c index 91b4c79..abb4d4e 100644 --- a/perly.c +++ b/perly.c @@ -213,7 +213,7 @@ S_clear_yystack(pTHX_ const yy_parser *parser) if (yy_type_tab[yystos[ps->state]] == toketype_opval && ps->val.opval) { - if (ps->compcv && (ps->compcv != PL_compcv)) { + if (ps->compcv != PL_compcv) { PL_compcv = ps->compcv; PAD_SET_CUR_NOSAVE(CvPADLIST(PL_compcv), 1); PL_comppad_name = PadlistNAMES(CvPADLIST(PL_compcv)); diff --git a/plan9/config.plan9 b/plan9/config.plan9 index 8404420..40d65a2 100644 --- a/plan9/config.plan9 +++ b/plan9/config.plan9 @@ -3373,8 +3373,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 "/sys/lib/perl/5.22.3" /**/ -#define PRIVLIB_EXP "/sys/lib/perl/5.22.3" /**/ +#define PRIVLIB "/sys/lib/perl/5.23.0" /**/ +#define PRIVLIB_EXP "/sys/lib/perl/5.23.0" /**/ /* PTRSIZE: * This symbol contains the size of a pointer, so that the C preprocessor @@ -3501,9 +3501,9 @@ * 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 "/sys/lib/perl/5.22.3/site_perl" /**/ -#define SITELIB_EXP "/sys/lib/perl/5.22.3/site_perl" /**/ -#define SITELIB_STEM "/sys/lib/perl/5.22.3/site_perl" /**/ +#define SITELIB "/sys/lib/perl/5.23.0/site_perl" /**/ +#define SITELIB_EXP "/sys/lib/perl/5.23.0/site_perl" /**/ +#define SITELIB_STEM "/sys/lib/perl/5.23.0/site_perl" /**/ /* Size_t_size: * This symbol holds the size of a Size_t in bytes. diff --git a/plan9/config_sh.sample b/plan9/config_sh.sample index 5c1fc87..7fd970d 100644 --- a/plan9/config_sh.sample +++ b/plan9/config_sh.sample @@ -33,11 +33,11 @@ ansi2knr='' aphostname='/bin/uname -n' api_revision='5' api_subversion='0' -api_version='22' -api_versionstring='5.22.0' +api_version='23' +api_versionstring='5.23.0' ar='ar' -archlib='/sys/lib/perl5/5.22.3/386' -archlibexp='/sys/lib/perl5/5.22.3/386' +archlib='/sys/lib/perl5/5.23.0/386' +archlibexp='/sys/lib/perl5/5.23.0/386' archname64='' archname='386' archobjs='' @@ -611,7 +611,10 @@ db_version_patch='' direntrytype='struct dirent' dlext='none' dlsrc='dl_none.xs' +doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f' doublekind='3' +doublemantbits='52' +doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f' doublesize='8' drand01='(rand() / (double) ((unsigned long)1 << 15))' drand48_r_proto='0' @@ -787,17 +790,17 @@ inc_version_list=' ' inc_version_list_init='0' incpath='' inews='' -installarchlib='/sys/lib/perl/5.22.3/386' +installarchlib='/sys/lib/perl/5.23.0/386' installbin='/usr/bin' installman1dir='/sys/man/1pub' installman3dir='/sys/man/2pub' installprefix='/usr' installprefixexp='/usr' -installprivlib='/sys/lib/perl/5.22.3' +installprivlib='/sys/lib/perl/5.23.0' installscript='/usr/bin' -installsitearch='/sys/lib/perl/5.22.3/site_perl/386' +installsitearch='/sys/lib/perl/5.23.0/site_perl/386' installsitebin='/usr/bin' -installsitelib='/sys/lib/perl/5.22.3/site_perl' +installsitelib='/sys/lib/perl/5.23.0/site_perl' installstyle='lib/perl5' installusrbinperl='undef' installvendorarch='' @@ -835,7 +838,10 @@ lns='/bin/ln -s' localtime_r_proto='0' locincpth='' loclibpth='' +longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' longdblkind='0' +longdblmantbits='64' +longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' longdblsize='8' longlongsize='8' longsize='4' @@ -888,6 +894,7 @@ nv_preserves_uv_bits='31' nveformat='"e"' nvfformat='"f"' nvgformat='"g"' +nvmantbits='52' nvsize='8' nvtype='double' o_nonblock='O_NONBLOCK' @@ -918,8 +925,8 @@ pmake='' pr='' prefix='/usr' prefixexp='/usr' -privlib='/sys/lib/perl/5.22.3' -privlibexp='/sys/lib/perl/5.22.3' +privlib='/sys/lib/perl/5.23.0' +privlibexp='/sys/lib/perl/5.23.0' procselfexe='' prototype='define' ptrsize='4' @@ -984,13 +991,13 @@ sig_num='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 sig_num_init='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, 0' sig_size='50' signal_t='void' -sitearch='/sys/lib/perl/5.22.3/site_perl/386' +sitearch='/sys/lib/perl/5.23.0/site_perl/386' sitearchexp='/sys/lib/perl/site_perl/386' sitebin='/usr/bin' sitebinexp='/usr/bin' -sitelib='/sys/lib/perl/5.22.3/site_perl' -sitelib_stem='/sys/lib/perl/5.22.3/site_perl' -sitelibexp='/sys/lib/perl/5.22.3/site_perl' +sitelib='/sys/lib/perl/5.23.0/site_perl' +sitelib_stem='/sys/lib/perl/5.23.0/site_perl' +sitelibexp='/sys/lib/perl/5.23.0/site_perl' siteprefix='/usr' siteprefixexp='/usr' sizesize='4' @@ -1023,7 +1030,7 @@ stdio_stream_array='' strerror_r_proto='0' strings='/sys/include/ape/string.h' submit='' -subversion='3' +subversion='0' sysman='/sys/man/1pub' tail='' tar='' @@ -1105,8 +1112,8 @@ vendorlib_stem='' vendorlibexp='' vendorprefix='' vendorprefixexp='' -version='5.22.3' -version_patchlevel_string='version 22 subversion 3' +version='5.23.0' +version_patchlevel_string='version 23 subversion 0' versiononly='undef' vi='' xlibpth='' @@ -1119,10 +1126,10 @@ config_arg0='./Configure' config_args='' config_argc=0 PERL_REVISION=5 -PERL_VERSION=22 -PERL_SUBVERSION=3 +PERL_VERSION=23 +PERL_SUBVERSION=0 PERL_API_REVISION=5 -PERL_API_VERSION=22 +PERL_API_VERSION=23 PERL_API_SUBVERSION=0 PERL_PATCHLEVEL= PERL_CONFIG_SH=true diff --git a/pod/.gitignore b/pod/.gitignore index 2ec5558..d5b4017 100644 --- a/pod/.gitignore +++ b/pod/.gitignore @@ -53,7 +53,7 @@ /roffitall # generated -/perl5223delta.pod +/perl5230delta.pod /perlapi.pod /perlintern.pod *.html diff --git a/pod/perl.pod b/pod/perl.pod index f6b7d79..e90925a 100644 --- a/pod/perl.pod +++ b/pod/perl.pod @@ -180,10 +180,7 @@ aux c2ph h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp perlhist Perl history records perldelta Perl changes since previous version - perl5222delta Perl changes in version 5.22.2 - perl5221delta Perl changes in version 5.22.1 perl5220delta Perl changes in version 5.22.0 - perl5203delta Perl changes in version 5.20.3 perl5202delta Perl changes in version 5.20.2 perl5201delta Perl changes in version 5.20.1 perl5200delta Perl changes in version 5.20.0 diff --git a/pod/perl5200delta.pod b/pod/perl5200delta.pod index 874d8d1..56b2be5 100644 --- a/pod/perl5200delta.pod +++ b/pod/perl5200delta.pod @@ -740,8 +740,6 @@ L has been upgraded from version 2.6_01 to 2.12. L has been upgraded from version 1.06 to 1.09. -C<$OLD_PERL_VERSION> was added as an alias of C<$]>. - =item * L has been upgraded from version 1.18 to 1.20_03. @@ -1458,9 +1456,6 @@ Three L variable names which have long been documented but do not actually exist have been removed from the documentation. These were C<$OLD_PERL_VERSION>, C<$OFMT>, and C<$ARRAY_BASE>. -(Actually, C I exist, starting with this revision, but -remained undocumented until perl 5.22.0.) - =back =head3 L diff --git a/pod/perl5203delta.pod b/pod/perl5203delta.pod deleted file mode 100644 index 7c22b7b..0000000 --- a/pod/perl5203delta.pod +++ /dev/null @@ -1,312 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5203delta - what is new for perl v5.20.3 - -=head1 DESCRIPTION - -This document describes differences between the 5.20.2 release and the 5.20.3 -release. - -If you are upgrading from an earlier release such as 5.20.1, first read -L, which describes differences between 5.20.1 and 5.20.2. - -=head1 Incompatible Changes - -There are no changes intentionally incompatible with 5.20.2. If any exist, -they are bugs, and we request that you submit a report. See L -below. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L has been upgraded from version 1.20_05 to 1.20_06. - -Add B<-P> to the pre-processor command-line on GCC 5. GCC added extra line -directives, breaking parsing of error code definitions. -L<[perl #123784]|https://rt.perl.org/Ticket/Display.html?id=123784> - -=item * - -L has been upgraded from version 5.20150214 to 5.20150822. - -Updated to cover the latest releases of Perl. - -=item * - -L has been upgraded from 1.44 to 1.44_01. - -The debugger would cause an assertion failure. -L<[perl #124127]|https://rt.perl.org/Ticket/Display.html?id=124127> - -=back - -=head1 Documentation - -=head2 Changes to Existing Documentation - -=head3 L - -=over 4 - -=item * - -Mention that L|perlfunc/study> is currently a no-op. - -=back - -=head3 L - -=over 4 - -=item * - -The OOK example has been updated to account for COW changes and a change in the -storage of the offset. - -=back - -=head3 L - -=over 4 - -=item * - -Documentation has been added illustrating the perils of assuming the contents -of static memory pointed to by the return values of Perl wrappers for C library -functions doesn't change. - -=back - -=head3 L - -=over 4 - -=item * - -The specification of the POD language is changing so that the default encoding -of PODs that aren't in UTF-8 (unless otherwise indicated) is CP1252 instead of -ISO-8859-1 (Latin1). - -=back - -=head1 Utility Changes - -=head2 L - -=over 4 - -=item * - -B now handles hexadecimal constants in the compiler's predefined macro -definitions, as visible in C<$Config{cppsymbols}>. -L<[perl #123784]|https://rt.perl.org/Ticket/Display.html?id=123784> - -=back - -=head1 Testing - -=over 4 - -=item * - -F has been added to see if optimisations with taint issues are -keeping things fast. - -=item * - -F has been added to test that L and its -dependencies only use the subset of the C<$1..$n> capture vars that -Perl_save_re_context() is hard-coded to localize, because that function has no -efficient way of determining at runtime what vars to localize. - -=back - -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item Win32 - -=over 4 - -=item * - -Previously, when compiling with a 64-bit Visual C++, every Perl XS module -(including CPAN ones) and Perl aware C file would unconditionally have around a -dozen warnings from F. These warnings have been silenced. GCC (all -bitness) and 32-bit Visual C++ were not affected. - -=item * - -B is now built with B<-fno-strict-aliasing>, allowing 64-bit -builds to complete with GCC 4.8. -L<[perl #123976]|https://rt.perl.org/Ticket/Display.html?id=123976> - -=back - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Repeated global pattern matches in scalar context on large tainted strings were -exponentially slow depending on the current match position in the string. -L<[perl #123202]|https://rt.perl.org/Ticket/Display.html?id=123202> - -=item * - -The original visible value of L>|perlvar/$E> is now preserved -when it is set to an invalid value. Previously if you set C<$/> to a reference -to an array, for example, perl would produce a runtime error and not set PL_rs, -but Perl code that checked C<$/> would see the array reference. -L<[perl #123218]|https://rt.perl.org/Ticket/Display.html?id=123218> - -=item * - -Perl 5.14.0 introduced a bug whereby C would crash. This has -been fixed. -L<[perl #123652]|https://rt.perl.org/Ticket/Display.html?id=123652> - -=item * - -Extending an array cloned from a parent thread could result in "Modification of -a read-only value attempted" errors when attempting to modify the new elements. -L<[perl #124127]|https://rt.perl.org/Ticket/Display.html?id=124127> - -=item * - -Several cases of data used to store environment variable contents in core C -code being potentially overwritten before being used have been fixed. -L<[perl #123748]|https://rt.perl.org/Ticket/Display.html?id=123748> - -=item * - -UTF-8 variable names used in array indexes, unquoted UTF-8 HERE-document -terminators and UTF-8 function names all now work correctly. -L<[perl #124113]|https://rt.perl.org/Ticket/Display.html?id=124113> - -=item * - -A subtle bug introduced in Perl 5.20.2 involving UTF-8 in regular expressions -and sometimes causing a crash has been fixed. A new test script has been added -to test this fix; see under L. -L<[perl #124109]|https://rt.perl.org/Ticket/Display.html?id=124109> - -=item * - -Some patterns starting with C matched against long strings have been -slow since Perl 5.8, and some of the form C have been slow since -Perl 5.18. They are now all fast again. -L<[perl #123743]|https://rt.perl.org/Ticket/Display.html?id=123743> - -=item * - -Warning fatality is now ignored when rewinding the stack. This prevents -infinite recursion when the now fatal error also causes rewinding of the stack. -L<[perl #123398]|https://rt.perl.org/Ticket/Display.html?id=123398> - -=item * - -C (with one argument) was accidentally changed in Perl 5.16 -to mean C. This has been fixed. - -=item * - -A crash with C<< %::=(); J->${\"::"} >> has been fixed. -L<[perl #125541]|https://rt.perl.org/Ticket/Display.html?id=125541> - -=item * - -Regular expression possessive quantifier Perl 5.20 regression now fixed. -CIC<{>I,IC<}+>C is supposed to behave identically to -C>IC<{>I,IC<})/>. Since Perl 5.20, this didn't work -if I and I were equal. -L<[perl #125825]|https://rt.perl.org/Ticket/Display.html?id=125825> - -=item * - -Code like C used to read the next line of input and treat it as though -it came immediately after the opening bracket. Some invalid code consequently -would parse and run, but some code caused crashes, so this is now disallowed. -L<[perl #123712]|https://rt.perl.org/Ticket/Display.html?id=123712> - -=back - -=head1 Acknowledgements - -Perl 5.20.3 represents approximately 7 months of development since Perl 5.20.2 -and contains approximately 3,200 lines of changes across 99 files from 26 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 1,500 lines of changes to 43 .pm, .t, .c and .h files. - -Perl continues to flourish into its third decade thanks to a vibrant community -of users and developers. The following people are known to have contributed -the improvements that became Perl 5.20.3: - -Alex Vandiver, Andy Dougherty, Aristotle Pagaltzis, Chris 'BinGOs' Williams, -Craig A. Berry, Dagfinn Ilmari Mannsåker, Daniel Dragan, David Mitchell, -Father Chrysostomos, H.Merijn Brand, James E Keenan, James McCoy, Jarkko -Hietaniemi, Karen Etheridge, Karl Williamson, kmx, Lajos Veres, Lukas Mai, -Matthew Horsfall, Petr Písař, Randy Stauner, Ricardo Signes, Sawyer X, Steve -Hay, Tony Cook, Yves Orton. - -The list above is almost certainly incomplete as it is automatically generated -from version control history. In particular, it does not include the names of -the (very much appreciated) contributors who reported issues to the Perl bug -tracker. - -Many of the changes included in this version originated in the CPAN modules -included in Perl's core. We're grateful to the entire CPAN community for -helping Perl to flourish. - -For a more complete list of all of Perl's historical contributors, please see -the F file in the Perl source distribution. - -=head1 Reporting Bugs - -If you find what you think is a bug, you might check the articles recently -posted to the comp.lang.perl.misc newsgroup and the perl bug database at -https://rt.perl.org/ . There may also be information at -http://www.perl.org/ , the Perl Home Page. - -If you believe you have an unreported bug, please run the L program -included with your release. Be sure to trim your bug down to a tiny but -sufficient test case. Your bug report, along with the output of C, -will be sent off to perlbug@perl.org to be analysed by the Perl porting team. - -If the bug you are reporting has security implications, which make it -inappropriate to send to a publicly archived mailing list, then please send it -to perl5-security-report@perl.org. This points to a closed subscription -unarchived mailing list, which includes all the core committers, who will be -able to help assess the impact of issues, figure out a resolution, and help -co-ordinate the release of patches to mitigate or fix the problem across all -platforms on which Perl is supported. Please only use this address for -security issues in the Perl core, not for modules independently distributed on -CPAN. - -=head1 SEE ALSO - -The F file for an explanation of how to view exhaustive details on -what changed. - -The F file for how to build Perl. - -The F file for general stuff. - -The F and F files for copyright information. - -=cut diff --git a/pod/perl5220delta.pod b/pod/perl5220delta.pod index 52df04b..1ac00f3 100644 --- a/pod/perl5220delta.pod +++ b/pod/perl5220delta.pod @@ -1614,8 +1614,7 @@ interpreted as Unicode has been updated. C<$]> is no longer listed as being deprecated. Instead, discussion has been added on the advantages and disadvantages of using it versus -C<$^V>. C<$OLD_PERL_VERSION> was re-added to the documentation as the long -form of C<$]>. +C<$^V>. =item * diff --git a/pod/perl5221delta.pod b/pod/perl5221delta.pod deleted file mode 100644 index 5d01a4b..0000000 --- a/pod/perl5221delta.pod +++ /dev/null @@ -1,338 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5221delta - what is new for perl v5.22.1 - -=head1 DESCRIPTION - -This document describes differences between the 5.22.0 release and the 5.22.1 -release. - -If you are upgrading from an earlier release such as 5.20.0, first read -L, which describes differences between 5.20.0 and 5.22.0. - -=head1 Incompatible Changes - -There are no changes intentionally incompatible with 5.20.0 other than the -following single exception, which we deemed to be a sensible change to make in -order to get the new C<\b{wb}> and (in particular) C<\b{sb}> features sane -before people decided they're worthless because of bugs in their Perl 5.22.0 -implementation and avoided them in the future. -If any others exist, they are bugs, and we request that you submit a report. -See L below. - -=head2 Bounds Checking Constructs - -Several bugs, including a segmentation fault, have been fixed with the bounds -checking constructs (introduced in Perl 5.22) C<\b{gcb}>, C<\b{sb}>, C<\b{wb}>, -C<\B{gcb}>, C<\B{sb}>, and C<\B{wb}>. All the C<\B{}> ones now match an empty -string; none of the C<\b{}> ones do. -L<[perl #126319]|https://rt.perl.org/Ticket/Display.html?id=126319> - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L has been upgraded from version 5.20150520 to 5.20151213. - -=item * - -L has been upgraded from version 0.22 to 0.23. - -=item * - -L has been upgraded from version 1.53 to 1.53_01. - -If C was passed C<$!> as its argument then it accidentally -cleared C<$!>. This has been fixed. -L<[perl #126229]|https://rt.perl.org/Ticket/Display.html?id=126229> - -=item * - -L has been upgraded from version 2.53 to 2.53_01. - -=item * - -L has been upgraded from version 1.32 to 1.34. - -The C example now actually uses C. -L<[perl #126051]|https://rt.perl.org/Ticket/Display.html?id=126051> - -=item * - -L has been upgraded from version 0.51 to 0.52. - -This has been updated for Windows 8.1, 10 and 2012 R2 Server. - -=back - -=head1 Documentation - -=head2 Changes to Existing Documentation - -=head3 L - -=over 4 - -=item * - -The usage of C and C has been clarified. - -=back - -=head3 L - -=over 4 - -=item * - -The specific true value of C<$!{E...}> is now documented, noting that it is -subject to change and not guaranteed. - -=back - -=head1 Diagnostics - -The following additions or changes have been made to diagnostic output, -including warnings and fatal error messages. For the complete list of -diagnostic messages, see L. - -=head2 Changes to Existing Diagnostics - -=over 4 - -=item * - -The C and C builtins are now more careful about the warnings -they emit: argument reordering now disables the "redundant argument" warning in -all cases. -L<[perl #125469]|https://rt.perl.org/Ticket/Display.html?id=125469> - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -Using the C define in combination with the default hash algorithm -C resulted in a fatal error while compiling -the interpreter, since Perl 5.17.10. This has been fixed. - -=item * - -Configuring with ccflags containing quotes (e.g. -C<< -Accflags='-DAPPLLIB_EXP=\"/usr/libperl\"' >>) was broken in Perl 5.22.0 -but has now been fixed again. -L<[perl #125314]|https://rt.perl.org/Ticket/Display.html?id=125314> - -=back - -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item IRIX - -=over - -=item * - -Under some circumstances IRIX stdio fgetc() and fread() set the errno to -C, which made no sense according to either IRIX or POSIX docs. Errno -is now cleared in such cases. -L<[perl #123977]|https://rt.perl.org/Ticket/Display.html?id=123977> - -=item * - -Problems when multiplying long doubles by infinity have been fixed. -L<[perl #126396]|https://rt.perl.org/Ticket/Display.html?id=126396> - -=item * - -All tests pass now on IRIX with the default build configuration. - -=back - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -C no longer segfaults, giving a syntax error message instead. -L<[perl #125805]|https://rt.perl.org/Ticket/Display.html?id=125805> - -=item * - -Regular expression possessive quantifier Perl 5.20 regression now fixed. -CIC<{>I,IC<}+>C is supposed to behave identically to -C>IC<{>I,IC<})/>. Since Perl 5.20, this didn't work -if I and I were equal. -L<[perl #125825]|https://rt.perl.org/Ticket/Display.html?id=125825> - -=item * - -Certain syntax errors in -L caused panics instead -of the proper error message. This has now been fixed. -L<[perl #126481]|https://rt.perl.org/Ticket/Display.html?id=126481> - -=item * - -C<< BEGIN <> >> no longer segfaults and properly produces an error message. -L<[perl #125341]|https://rt.perl.org/Ticket/Display.html?id=125341> - -=item * - -A regression from Perl 5.20 has been fixed, in which some syntax errors in -L|perlrecharclass/Extended Bracketed Character Classes> constructs -within regular expression patterns could cause a segfault instead of a proper -error message. -L<[perl #126180]|https://rt.perl.org/Ticket/Display.html?id=126180> - -=item * - -Another problem with -L|perlrecharclass/Extended Bracketed Character Classes> -constructs has been fixed wherein things like C<\c]> could cause panics. -L<[perl #126181]|https://rt.perl.org/Ticket/Display.html?id=126181> - -=item * - -In Perl 5.22.0, the logic changed when parsing a numeric parameter to the -C -option, such that the successfully parsed number was not saved as the option -value if it parsed to the end of the argument. -L<[perl #125381]|https://rt.perl.org/Ticket/Display.html?id=125381> - -=item * - -Warning fatality is now ignored when rewinding the stack. This prevents -infinite recursion when the now fatal error also causes rewinding of the stack. -L<[perl #123398]|https://rt.perl.org/Ticket/Display.html?id=123398> - -=item * - -A crash with C<< %::=(); J->${\"::"} >> has been fixed. -L<[perl #125541]|https://rt.perl.org/Ticket/Display.html?id=125541> - -=item * - -Nested quantifiers such as C should cause perl to throw a fatal -error, but were being silently accepted since Perl 5.20.0. This has been -fixed. -L<[perl #126253]|https://rt.perl.org/Ticket/Display.html?id=126253> - -=item * - -Regular expression sequences such as C (and similarly with other -recognized flags or combination of flags) should cause perl to throw a fatal -error, but were being silently accepted since Perl 5.18.0. This has been -fixed. -L<[perl #126178]|https://rt.perl.org/Ticket/Display.html?id=126178> - -=item * - -A bug in hexadecimal floating point literal support meant that high-order bits -could be lost in cases where mantissa overflow was caused by too many trailing -zeros in the fractional part. This has been fixed. -L<[perl #126582]|https://rt.perl.org/Ticket/Display.html?id=126582> - -=item * - -Another hexadecimal floating point bug, causing low-order bits to be lost in -cases where the last hexadecimal digit of the mantissa has bits straddling the -limit of the number of bits allowed for the mantissa, has also been fixed. -L<[perl #126586]|https://rt.perl.org/Ticket/Display.html?id=126586> - -=item * - -Further hexadecimal floating point bugs have been fixed: In some circumstances, -the C<%a> format specifier could variously lose the sign of the negative zero, -fail to display zeros after the radix point with the requested precision, or -even lose the radix point after the leftmost hexadecimal digit completely. - -=item * - -A crash caused by incomplete expressions within C<< /(?[ ])/ >> (e.g. -C<< /(?[[0]+()+])/ >>) has been fixed. -L<[perl #126615]|https://rt.perl.org/Ticket/Display.html?id=126615> - -=back - -=head1 Acknowledgements - -Perl 5.22.1 represents approximately 6 months of development since Perl 5.22.0 -and contains approximately 19,000 lines of changes across 130 files from 27 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 1,700 lines of changes to 44 .pm, .t, .c and .h files. - -Perl continues to flourish into its third decade thanks to a vibrant community -of users and developers. The following people are known to have contributed -the improvements that became Perl 5.22.1: - -Aaron Crane, Abigail, Andy Broad, Aristotle Pagaltzis, Chase Whitener, Chris -'BinGOs' Williams, Craig A. Berry, Daniel Dragan, David Mitchell, Father -Chrysostomos, Herbert Breunung, Hugo van der Sanden, James E Keenan, Jan -Dubois, Jarkko Hietaniemi, Karen Etheridge, Karl Williamson, Lukas Mai, Matthew -Horsfall, Peter Martini, Rafael Garcia-Suarez, Ricardo Signes, Shlomi Fish, -Sisyphus, Steve Hay, Tony Cook, Victor Adam. - -The list above is almost certainly incomplete as it is automatically generated -from version control history. In particular, it does not include the names of -the (very much appreciated) contributors who reported issues to the Perl bug -tracker. - -Many of the changes included in this version originated in the CPAN modules -included in Perl's core. We're grateful to the entire CPAN community for -helping Perl to flourish. - -For a more complete list of all of Perl's historical contributors, please see -the F file in the Perl source distribution. - -=head1 Reporting Bugs - -If you find what you think is a bug, you might check the articles recently -posted to the comp.lang.perl.misc newsgroup and the perl bug database at -https://rt.perl.org/ . There may also be information at -http://www.perl.org/ , the Perl Home Page. - -If you believe you have an unreported bug, please run the L program -included with your release. Be sure to trim your bug down to a tiny but -sufficient test case. Your bug report, along with the output of C, -will be sent off to perlbug@perl.org to be analysed by the Perl porting team. - -If the bug you are reporting has security implications, which make it -inappropriate to send to a publicly archived mailing list, then please send it -to perl5-security-report@perl.org. This points to a closed subscription -unarchived mailing list, which includes all the core committers, who will be -able to help assess the impact of issues, figure out a resolution, and help -co-ordinate the release of patches to mitigate or fix the problem across all -platforms on which Perl is supported. Please only use this address for -security issues in the Perl core, not for modules independently distributed on -CPAN. - -=head1 SEE ALSO - -The F file for an explanation of how to view exhaustive details on -what changed. - -The F file for how to build Perl. - -The F file for general stuff. - -The F and F files for copyright information. - -=cut diff --git a/pod/perl5222delta.pod b/pod/perl5222delta.pod deleted file mode 100644 index 034d5bc..0000000 --- a/pod/perl5222delta.pod +++ /dev/null @@ -1,386 +0,0 @@ -=encoding utf8 - -=head1 NAME - -perl5222delta - what is new for perl v5.22.2 - -=head1 DESCRIPTION - -This document describes differences between the 5.22.1 release and the 5.22.2 -release. - -If you are upgrading from an earlier release such as 5.22.0, first read -L, which describes differences between 5.22.0 and 5.22.1. - -=head1 Security - -=head2 Fix out of boundary access in Win32 path handling - -This is CVE-2015-8608. For more information see -L<[perl #126755]|https://rt.perl.org/Ticket/Display.html?id=126755>. - -=head2 Fix loss of taint in C - -This is CVE-2015-8607. For more information see -L<[perl #126862]|https://rt.perl.org/Ticket/Display.html?id=126862>. - -=head2 Set proper umask before calling C - -In 5.22.0 perl started setting umask to C<0600> before calling C -and restoring it afterwards. This wrongfully tells C to strip the -owner read and write bits from the given mode before applying it, rather than -the intended negation of leaving only those bits in place. - -Systems that use mode C<0666> in C (like old versions of glibc) -create a file with permissions C<0066>, leaving world read and write permissions -regardless of current umask. - -This has been fixed by using umask C<0177> instead. - -L<[perl #127322]|https://rt.perl.org/Ticket/Display.html?id=127322> - -=head2 Avoid accessing uninitialized memory in Win32 C - -Validation that will detect both a short salt and invalid characters in the -salt has been added. - -L<[perl #126922]|https://rt.perl.org/Ticket/Display.html?id=126922> - -=head2 Remove duplicate environment variables from C - -Previously, if an environment variable appeared more than once in C, -L|perlvar/%ENV> would contain the last entry for that name, while a -typical C would return the first entry. We now make sure C<%ENV> -contains the same as what C returns. - -Secondly, we now remove duplicates from C, so if a setting with that -name is set in C<%ENV> we won't pass an unsafe value to a child process. - -This is CVE-2016-2381. - -=head1 Incompatible Changes - -There are no changes intentionally incompatible with Perl 5.22.1. If any -exist, they are bugs, and we request that you submit a report. See -L below. - -=head1 Modules and Pragmata - -=head2 Updated Modules and Pragmata - -=over 4 - -=item * - -L has been upgraded from version 3.56 to 3.56_01. - -C now preserves taint. See L">. - -=item * - -L has been upgraded from version 5.20151213 to 5.20160429. - -The version number of L listed for Perl 5.18.4 was wrong and has -been corrected. Likewise for the version number of L in 5.18.3 and -5.18.4. -L<[perl #127624]|https://rt.perl.org/Ticket/Display.html?id=127624> - -=back - -=head1 Documentation - -=head2 Changes to Existing Documentation - -=head3 L - -=over 4 - -=item * - -The explanation of the warning "unable to close filehandle %s properly: %s" -which can occur when doing an implicit close of a filehandle has been expanded -and improved. - -=back - -=head3 L - -=over 4 - -=item * - -The documentation of L|perlfunc/hex> has been revised to clarify valid -inputs. - -=back - -=head1 Configuration and Compilation - -=over 4 - -=item * - -Dtrace builds now build successfully on systems with a newer dtrace that -require an input object file that uses the probes in the F<.d> file. - -Previously the probe would fail and cause a build failure. - -L<[perl #122287]|https://rt.perl.org/Ticket/Display.html?id=122287> - -=item * - -F no longer probes for F by default. Originally this was the -"New Math" library, but the name has been re-used by the GNOME NetworkManager. - -L<[perl #127131]|https://rt.perl.org/Ticket/Display.html?id=127131> - -=item * - -F now knows about gcc 5. - -=item * - -Compiling perl with B<-DPERL_MEM_LOG> now works again. - -=back - -=head1 Platform Support - -=head2 Platform-Specific Notes - -=over 4 - -=item Darwin - -Compiling perl with B<-Dusecbacktrace> on Darwin now works again. - -L<[perl #127764]|https://rt.perl.org/Ticket/Display.html?id=127764> - -=item OS X/Darwin - -Builds with both B<-DDEBUGGING> and threading enabled would fail with a "panic: -free from wrong pool" error when built or tested from Terminal on OS X. This -was caused by perl's internal management of the environment conflicting with an -atfork handler using the libc C function to update the environment. - -Perl now uses C/C to update the environment on OS X. - -L<[perl #126240]|https://rt.perl.org/Ticket/Display.html?id=126240> - -=item ppc64el - -The floating point format of ppc64el (Debian naming for little-endian PowerPC) -is now detected correctly. - -=item Tru64 - -A test failure in F has been fixed. - -=back - -=head1 Internal Changes - -=over 4 - -=item * - -An unwarranted assertion in C has been removed. If a stub -subroutine definition with a prototype has been seen, then any subsequent stub -(or definition) of the same subroutine with an attribute was causing an -assertion failure because of a null pointer. - -L<[perl #126845]|https://rt.perl.org/Ticket/Display.html?id=126845> - -=back - -=head1 Selected Bug Fixes - -=over 4 - -=item * - -Calls to the placeholder C<&PL_sv_yes> used internally when an C or -C method isn't found now correctly handle scalar context. -L<[perl #126042]|https://rt.perl.org/Ticket/Display.html?id=126042> - -=item * - -The L|perlfunc/pipe> operator would assert for C builds -instead of producing the correct error message. The condition asserted on is -detected and reported on correctly without the assertions, so the assertions -were removed. -L<[perl #126480]|https://rt.perl.org/Ticket/Display.html?id=126480> - -=item * - -In some cases, failing to parse a here-doc would attempt to use freed memory. -This was caused by a pointer not being restored correctly. -L<[perl #126443]|https://rt.perl.org/Ticket/Display.html?id=126443> - -=item * - -Perl now reports more context when it sees an array where it expects to see an -operator, and avoids an assertion failure. -L<[perl #123737]|https://rt.perl.org/Ticket/Display.html?id=123737> - -=item * - -If a here-doc was found while parsing another operator, the parser had already -read end of file, and the here-doc was not terminated, perl could produce an -assertion or a segmentation fault. This now reliably complains about the -unterminated here-doc. -L<[perl #125540]|https://rt.perl.org/Ticket/Display.html?id=125540> - -=item * - -Parsing beyond the end of the buffer when processing a C<#line> directive with -no filename is now avoided. -L<[perl #127334]|https://rt.perl.org/Ticket/Display.html?id=127334> - -=item * - -Perl 5.22.0 added support for the C99 hexadecimal floating point notation, but -sometimes misparsed hex floats. This has been fixed. -L<[perl #127183]|https://rt.perl.org/Ticket/Display.html?id=127183> - -=item * - -Certain regex patterns involving a complemented posix class in an inverted -bracketed character class, and matching something else optionally would -improperly fail to match. An example of one that could fail is -C. This has been fixed. -L<[perl #127537]|https://rt.perl.org/Ticket/Display.html?id=127537> - -=item * - -Fixed an issue with L|perlfunc/pack> where C<< pack "H" >> (and -C<< pack "h" >>) could read past the source when given a non-utf8 source and a -utf8 target. -L<[perl #126325]|https://rt.perl.org/Ticket/Display.html?id=126325> - -=item * - -Fixed some cases where perl would abort due to a segmentation fault, or a -C-level assert. -L<[perl #126193]|https://rt.perl.org/Ticket/Display.html?id=126193> -L<[perl #126257]|https://rt.perl.org/Ticket/Display.html?id=126257> -L<[perl #126258]|https://rt.perl.org/Ticket/Display.html?id=126258> -L<[perl #126405]|https://rt.perl.org/Ticket/Display.html?id=126405> -L<[perl #126602]|https://rt.perl.org/Ticket/Display.html?id=126602> -L<[perl #127773]|https://rt.perl.org/Ticket/Display.html?id=127773> -L<[perl #127786]|https://rt.perl.org/Ticket/Display.html?id=127786> - -=item * - -A memory leak when setting C<$ENV{foo}> on Darwin has been fixed. -L<[perl #126240]|https://rt.perl.org/Ticket/Display.html?id=126240> - -=item * - -Perl now correctly raises an error when trying to compile patterns with -unterminated character classes while there are trailing backslashes. -L<[perl #126141]|https://rt.perl.org/Ticket/Display.html?id=126141> - -=item * - -C regops and C regops in C are now handled -properly. -L<[perl #126206]|https://rt.perl.org/Ticket/Display.html?id=126206> - -=item * - -Perl now only tests C if we have everything needed to use it. In -FreeBSD the C entry point may exist, but it can be disabled by -policy. -L<[perl #127533]|https://rt.perl.org/Ticket/Display.html?id=127533> - -=item * - -A regression that allowed undeclared barewords as hash keys to work despite -strictures has been fixed. -L<[perl #126981]|https://rt.perl.org/Ticket/Display.html?id=126981> - -=item * - -As an optimization (introduced in Perl 5.20.0), L|perlfunc/uc>, -L|perlfunc/lc>, L|perlfunc/ucfirst> and -L|perlfunc/lcfirst> sometimes modify their argument in-place -rather than returning a modified copy. The criteria for this optimization has -been made stricter to avoid these functions accidentally modifying in-place -when they should not, which has been happening in some cases, e.g. in -L. - -=item * - -Excessive memory usage in the compilation of some regular expressions involving -non-ASCII characters has been reduced. A more complete fix is forthcoming in -Perl 5.24.0. - -=back - -=head1 Acknowledgements - -Perl 5.22.2 represents approximately 5 months of development since Perl 5.22.1 -and contains approximately 3,000 lines of changes across 110 files from 24 -authors. - -Excluding auto-generated files, documentation and release tools, there were -approximately 1,500 lines of changes to 52 .pm, .t, .c and .h files. - -Perl continues to flourish into its third decade thanks to a vibrant community -of users and developers. The following people are known to have contributed -the improvements that became Perl 5.22.2: - -Aaron Crane, Abigail, Andreas König, Aristotle Pagaltzis, Chris 'BinGOs' -Williams, Craig A. Berry, Dagfinn Ilmari Mannsåker, David Golden, David -Mitchell, H.Merijn Brand, James E Keenan, Jarkko Hietaniemi, Karen Etheridge, -Karl Williamson, Matthew Horsfall, Niko Tyni, Ricardo Signes, Sawyer X, Stevan -Little, Steve Hay, Todd Rinaldo, Tony Cook, Vladimir Timofeev, Yves Orton. - -The list above is almost certainly incomplete as it is automatically generated -from version control history. In particular, it does not include the names of -the (very much appreciated) contributors who reported issues to the Perl bug -tracker. - -Many of the changes included in this version originated in the CPAN modules -included in Perl's core. We're grateful to the entire CPAN community for -helping Perl to flourish. - -For a more complete list of all of Perl's historical contributors, please see -the F file in the Perl source distribution. - -=head1 Reporting Bugs - -If you find what you think is a bug, you might check the articles recently -posted to the comp.lang.perl.misc newsgroup and the perl bug database at -https://rt.perl.org/ . There may also be information at http://www.perl.org/ , -the Perl Home Page. - -If you believe you have an unreported bug, please run the L program -included with your release. Be sure to trim your bug down to a tiny but -sufficient test case. Your bug report, along with the output of C, -will be sent off to perlbug@perl.org to be analysed by the Perl porting team. - -If the bug you are reporting has security implications, which make it -inappropriate to send to a publicly archived mailing list, then please send it -to perl5-security-report@perl.org. This points to a closed subscription -unarchived mailing list, which includes all the core committers, who will be -able to help assess the impact of issues, figure out a resolution, and help -co-ordinate the release of patches to mitigate or fix the problem across all -platforms on which Perl is supported. Please only use this address for -security issues in the Perl core, not for modules independently distributed on -CPAN. - -=head1 SEE ALSO - -The F file for an explanation of how to view exhaustive details on -what changed. - -The F file for how to build Perl. - -The F file for general stuff. - -The F and F files for copyright information. - -=cut diff --git a/pod/perlapio.pod b/pod/perlapio.pod index dcb4d55..a7f3cc8 100644 --- a/pod/perlapio.pod +++ b/pod/perlapio.pod @@ -496,25 +496,23 @@ debugging. No return value. Its main use is inside PerlIO where using real printf, warn() etc. would recursively call PerlIO and be a problem. -PerlIO_debug writes to the file named by $ENV{'PERLIO_DEBUG'} or defaults -to stderr if the environment variable is not defined. Typical +PerlIO_debug writes to the file named by $ENV{'PERLIO_DEBUG'} typical use might be Bourne shells (sh, ksh, bash, zsh, ash, ...): - PERLIO_DEBUG=/tmp/perliodebug.log ./perl -Di somescript some args + PERLIO_DEBUG=/dev/tty ./perl somescript some args Csh/Tcsh: - setenv PERLIO_DEBUG /tmp/perliodebug.log - ./perl -Di somescript some args + setenv PERLIO_DEBUG /dev/tty + ./perl somescript some args If you have the "env" utility: - env PERLIO_DEBUG=/tmp/perliodebug.log ./perl -Di somescript args + env PERLIO_DEBUG=/dev/tty ./perl somescript some args Win32: - set PERLIO_DEBUG=perliodebug.log - perl -Di somescript some args + set PERLIO_DEBUG=CON + perl somescript some args -On a Perl built without C<-DDEBUGGING>, or when the C<-Di> command-line switch -is not specified, or under taint, PerlIO_debug() is a no-op. +If $ENV{'PERLIO_DEBUG'} is not set PerlIO_debug() is a no-op. =back diff --git a/pod/perlcommunity.pod b/pod/perlcommunity.pod index 4b86740..2acb0e2 100644 --- a/pod/perlcommunity.pod +++ b/pod/perlcommunity.pod @@ -61,23 +61,15 @@ websites, so only a few of the community's largest are mentioned here. =item L -Originally run by O'Reilly Media (the publisher of L, -this site provides quality articles mostly about technical details of Perl. +Run by O'Reilly Media (the publisher of L, among other +Perl-related literature), perl.com provides current Perl news, articles, and +resources for Perl developers as well as a directory of other useful websites. =item L Many members of the community have a Perl-related blog on this site. If you'd like to join them, you can sign up for free. -=item L - -Perlsphere is one of several aggregators of Perl-related blog feeds. - -=item L - -Perl Weekly is a weekly mailing list that keeps you up to date on conferences, -releases and notable blog posts. - =item L use Perl; used to provide a slashdot-style news/blog website covering all @@ -103,11 +95,6 @@ Stack Overflow is a free question-and-answer site for programmers. It's not focussed solely on Perl, but it does have an active group of users who do their best to help people with their Perl programming questions. -=item L - -PrePAN is used as a place to discuss modules that you're considering uploading -to the CPAN. You can get feedback on their design before you upload. - =back =head2 User Groups diff --git a/pod/perldata.pod b/pod/perldata.pod index b695598..3af3f0b 100644 --- a/pod/perldata.pod +++ b/pod/perldata.pod @@ -195,8 +195,8 @@ C<$0>, C<$1>, or C<$10000>. =item * -A sigil, followed by a caret and any one of the characters -C<[][A-Z^_?\]>, like C<$^V> or C<$^]>, or a sigil followed by a literal non-space, +A sigil, followed by either a caret and a single POSIX uppercase letter, +like C<$^V> or C<$^W>, or a sigil followed by a literal non-space, non-C control character matching the C<\p{POSIX_Cntrl}> property. Due to a historical oddity, if not running under C, the 128 characters in the C<[0x80-0xff]> range are considered to be controls, @@ -212,10 +212,9 @@ SOFT HYPHEN (C)) generate a deprecated warning. =item * -Similar to the above, a sigil, followed by bareword text in braces, -where the first character is either a caret followed by any one of -the characters C<[][A-Z^_?\]>, like C<${^GLOBAL_PHASE}>, or a non-C, -non-space literal +Similar to the above, a sigil, followed by bareword text in brackets, +where the first character is either a caret followed by an uppercase +letter, like C<${^GLOBAL_PHASE}> or a non-C, non-space literal control like C<${\7LOBAL_PHASE}>. Like the above, when not under C<"use utf8">, the characters in C<[0x80-0xFF]> are considered controls, but as of v5.22, the use of any that are non-graphical are deprecated, and as diff --git a/pod/perldebguts.pod b/pod/perldebguts.pod index 2b5561d..064af64 100644 --- a/pod/perldebguts.pod +++ b/pod/perldebguts.pod @@ -592,7 +592,6 @@ will be lost. # [Special] alternatives: REG_ANY no Match any one character (except newline). SANY no Match any one character. - CANY no Match any one byte. ANYOF sv 1 Match character in (or not in) this class, single char match only ANYOFL sv 1 Like ANYOF, but /l is in effect diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 6923777..58ece4a 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -2,277 +2,269 @@ =head1 NAME -perldelta - what is new for perl v5.22.3 +perldelta - what is new for perl v5.23.0 =head1 DESCRIPTION -This document describes differences between the 5.22.2 release and the 5.22.3 +This document describes differences between the 5.22.0 release and the 5.23.0 release. -If you are upgrading from an earlier release such as 5.22.1, first read -L, which describes differences between 5.22.1 and 5.22.2. +=head1 Core Enhancements -=head1 Security +=head2 Unicode 8.0 is now supported -=head2 B<-Di> switch is now required for PerlIO debugging output +For details on what is in this release, see +L. -Previously PerlIO debugging output would be sent to the file specified by the -C environment variable if perl wasn't running setuid and the -B<-T> or B<-t> switches hadn't been parsed yet. - -If perl performed output at a point where it hadn't yet parsed its switches -this could result in perl creating or overwriting the file named by -C even when the B<-T> switch had been supplied. - -Perl now requires the B<-Di> switch to produce PerlIO debugging output. By -default this is written to C, but can optionally be redirected to a -file by setting the C environment variable. - -If perl is running setuid or the B<-T> switch was supplied C is -ignored and the debugging output is sent to C as for any other B<-D> -switch. - -=head2 Core modules and tools no longer search F<"."> for optional modules - -The tools and many modules supplied in core no longer search the default -current directory entry in L|perlvar/@INC> for optional modules. For -example, L will remove the final F<"."> from C<@INC> before trying to -load L. - -This prevents an attacker injecting an optional module into a process run by -another user where the current directory is writable by the attacker, e.g. the -F directory. - -In most cases this removal should not cause problems, but difficulties were -encountered with L, which treats every module name supplied as optional. -These difficulties have not yet been resolved, so for this release there are no -changes to L. We hope to have a fix for L in Perl 5.22.4. +=head1 Incompatible Changes -To protect your own code from this attack, either remove the default F<"."> -entry from C<@INC> at the start of your script, so: +=head2 The C character class has been removed. - #!/usr/bin/perl - use strict; - ... +This regular expression character class was deprecated in v5.20.0 and has +produced a deprecation warning since v5.22.0. It is now a compile-time +error. If you need to examine the individual bytes that make up a +UTF8-encoded character, then use C on the string (or a +copy) first. -becomes: +=head2 C no longer chdirs home - #!/usr/bin/perl - BEGIN { pop @INC if $INC[-1] eq '.' } - use strict; - ... +Using C or C to chdir home has been deprecated since +perl v5.8, and will now fail. Use C instead. -or for modules, remove F<"."> from a localized C<@INC>, so: +=head1 Modules and Pragmata - my $can_foo = eval { require Foo; } +=head2 Updated Modules and Pragmata -becomes: +=over 4 - my $can_foo = eval { - local @INC = @INC; - pop @INC if $INC[-1] eq '.'; - require Foo; - }; +=item * -=head1 Incompatible Changes +The libnet distribution has been upgraded from version 3.05 to 3.06. -Other than the security changes above there are no changes intentionally -incompatible with Perl 5.22.2. If any exist, they are bugs, and we request -that you submit a report. See L below. +=item * -=head1 Modules and Pragmata +The Scalar-List-Utils distribution has been upgraded from version 1.41 to 1.42. -=head2 Updated Modules and Pragmata +=item * -=over 4 +L has been upgraded from version 2.26 to 2.27. =item * -L has been upgraded from version 2.04 to 2.04_01. +L has been upgraded from version 2.150001 to 2.150005. =item * -L has been upgraded from version 0.39 to 0.39_01. +L has been upgraded from version 2.132 to 2.133. =item * -L has been upgraded from version 2.11 to 2.11_01. +L has been upgraded from version 0.012 to 0.016. =item * -L has been upgraded from version 1.17 to 1.17_01. +L has been upgraded from version 2.72 to 2.73. =item * -L has been upgraded from version 5.95 to 5.95_01. +L has been upgraded from version 2.14 to 2.15. =item * -L has been upgraded from version 2.72 to 2.72_01. +L has been upgraded from version 0.280221 to 0.280223. =item * -L has been upgraded from version 1.20 to 1.20_01. +L has been upgraded from version 1.40 to 1.41. =item * -L has been upgraded from version 7.04_01 to 7.04_02. +L has been upgraded from version 2.45 to 2.46. =item * -L has been upgraded from version 0.48 to 0.48_01. +L has been upgraded from version 0.054 to 0.056. =item * -L has been upgraded from version 3.56_01 to 3.56_02. +L has been upgraded from version 1.41 to 1.42_01. =item * -L has been upgraded from version 0.054 to 0.054_01. +L has been upgraded from version 3.34 to 3.35. =item * -L has been upgraded from version 1.35 to 1.35_01. +L has been upgraded from version 1.9997 to 1.999701. -=item * +Correct the behaviour of bdiv() and bmod() in list context. [perl #124300] -The IO-Compress modules have been upgraded from version 2.068 to 2.068_001. +Correct C<< Math::BigInt->new() >> for non-integer input. [perl #124325] -=item * +Speed up Math::BigFloat -> blog(). [perl #124382] -L has been upgraded from version 0.92 to 0.92_01. +Fix bug in Math::BigFloat's bceil() and bint() methods. [perl #124412] =item * -L has been upgraded from version 2.27300 to 2.27300_01. +L has been upgraded from version 0.2608 to 0.260801. + +Correct the behaviour of bdiv() and bmod() in list context. [perl #124303] =item * -L has been upgraded from version 1.26 to 1.26_01. +L has been upgraded from version 5.20150520 to 5.20150620. =item * -L has been upgraded from version 0.21 to 0.21_01. +L has been upgraded from version 1.000026 to 1.000027. =item * -L has been upgraded from version 1.03 to 1.03_01. +L has been upgraded from version 0.232 to 0.234. =item * -L has been upgraded from version 5.20160429 to 5.20170114_22. +L has been upgraded from version 1.4414 to 1.4417. =item * -L has been upgraded from version 2.43 to 2.43_01. +L has been upgraded from version 1.49 to 1.49_01. + +User actions are no longer evaluated after the script under the +debugger finishes. [perl #71678] =item * -L has been upgraded from version 1.4414 to 1.4414_001. +L has been upgraded from version 3.29 to 3.30. =item * -L has been upgraded from version 1.22 to 1.2201. +L has been upgraded from version 1.64 to 1.67. =item * -L has been upgraded from version 3.25 to 3.25_01. +L has been upgraded from version 1.53 to 1.54. + +The NaN payload API has been implemented (getpayload, setpayload, +setpayloadsig, issignaling). =item * -L has been upgraded from version 2.53_01 to 2.53_02. +L has been upgraded from version 1.41 to 1.42_01. =item * -L has been upgraded from version 0.33 to 0.33_01. +L has been upgraded from version 2.018 to 2.019. =item * -L has been upgraded from version 1.26 to 1.26_01. +L has been upgraded from version 2.01 to 2.02. =item * -L has been upgraded from version 3.35 to 3.35_01. +L has been upgraded from version 1.29 to 1.30. =item * -L has been upgraded from version 0.20 to 0.20_01, fixing a security -hole in which binary files could be loaded from a path outside of C<@INC>. -L<[perl #128528]|https://rt.perl.org/Public/Bug/Display.html?id=128528> +L has been upgraded from version 1.12 to 1.13. -=back +Don't import from L in its documentation, it no longer +exports anything. [perl #125410] -=head1 Documentation +=back -=head2 Changes to Existing Documentation +=head1 Platform Support -=head3 L +=head2 Platform-Specific Notes =over 4 -=item * +=item Win32 -The documentation of C has been updated. +=over -=back +=item * -=head3 L +Visual C++ 2013 builds will now execute on XP and higher. Previously they would +only execute on Vista and higher. -=over 4 +=item * + +You can now build perl with GNU Make and GCC. [perl #123440] =item * -The new B<-Di> switch has been documented, and the documentation of -C has been updated. +C now works for files over 4GB in size. +[perl #125347] =back -=head1 Testing +=back + +=head1 Selected Bug Fixes =over 4 =item * -A new test script, F, has been added to test that the new -B<-Di> switch is working correctly. +Duplicating a closed file handle for write no longer creates a +filename of the form F. [perl #125115] -=back +=item * -=head1 Selected Bug Fixes +Warning fatality is now ignored when rewinding the stack. This +prevents infinite recursion when the now fatal error also causes +rewinding of the stack. [perl #123398] -=over 4 +=item * + +In perl v5.22.0, the logic changed when parsing a numeric parameter to the -C +option, such that the successfully parsed number was not saved as the option +value if it parsed to the end of the argument. [perl #125381] =item * -The C macro is an lvalue again. +The PadlistNAMES macro is an lvalue again. + +=item * + +Zero -DPERL_TRACE_OPS memory for sub-threads. + +perl_clone_using() was missing Zero init of PL_op_exec_cnt[]. This +caused sub-threads in threaded -DPERL_TRACE_OPS builds to spew exceedingly +large op-counts at destruct. These counts would print %x as "ABABABAB", +clearly a mem-poison value. =back =head1 Acknowledgements -Perl 5.22.3 represents approximately 9 months of development since Perl 5.22.2 -and contains approximately 4,400 lines of changes across 240 files from 20 +Perl 5.23.0 represents approximately 3 weeks of development since Perl 5.22.0 +and contains approximately 86,000 lines of changes across 480 files from 29 authors. Excluding auto-generated files, documentation and release tools, there were -approximately 2,200 lines of changes to 170 .pm, .t, .c and .h files. +approximately 55,000 lines of changes to 270 .pm, .t, .c and .h files. Perl continues to flourish into its third decade thanks to a vibrant community -of users and developers. The following people are known to have contributed -the improvements that became Perl 5.22.3: +of users and developers. The following people are known to have contributed the +improvements that became Perl 5.23.0: -Aaron Crane, Abigail, Alex Vandiver, Aristotle Pagaltzis, Chad Granum, Chris -'BinGOs' Williams, Craig A. Berry, David Mitchell, Father Chrysostomos, James E -Keenan, Jarkko Hietaniemi, Karen Etheridge, Karl Williamson, Matthew Horsfall, -Niko Tyni, Ricardo Signes, Sawyer X, Stevan Little, Steve Hay, Tony Cook. +Chase Whitener, Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari +Mannsåker, Daniel Dragan, David Golden, David Mitchell, Hugo van der Sanden, +Jan Dubois, Jarkko Hietaniemi, Jerry D. Hedden, Jim Cromie, Karen Etheridge, +Karl Williamson, kmx, Lukas Mai, Martijn Lievaart, Matthew Horsfall, Niko Tyni, +Peter John Acklam, Rafael Garcia-Suarez, Reini Urban, Ricardo Signes, Shlomi +Fish, Steve Hay, Thomas Sibley, Tony Cook, Unicode Consortium, Zefram. The list above is almost certainly incomplete as it is automatically generated -from version control history. In particular, it does not include the names of +from version control history. In particular, it does not include the names of the (very much appreciated) contributors who reported issues to the Perl bug tracker. Many of the changes included in this version originated in the CPAN modules -included in Perl's core. We're grateful to the entire CPAN community for +included in Perl's core. We're grateful to the entire CPAN community for helping Perl to flourish. For a more complete list of all of Perl's historical contributors, please see @@ -281,9 +273,9 @@ the F file in the Perl source distribution. =head1 Reporting Bugs If you find what you think is a bug, you might check the articles recently -posted to the comp.lang.perl.misc newsgroup and the Perl bug database at -https://rt.perl.org/ . There may also be information at http://www.perl.org/ , -the Perl Home Page. +posted to the comp.lang.perl.misc newsgroup and the perl bug database at +https://rt.perl.org/ . There may also be information at +http://www.perl.org/ , the Perl Home Page. If you believe you have an unreported bug, please run the L program included with your release. Be sure to trim your bug down to a tiny but diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 1421928..1d53e5d 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -1559,15 +1559,14 @@ defined in the C<:alias> import argument to C, but they could be defined by a translator installed into C<$^H{charnames}>. See L. -=item \C is deprecated in regex; marked by S<<-- HERE> in m/%s/ +=item \C no longer supported in regex; marked by S<<-- HERE> in m/%s/ -(D deprecated, regexp) The \C character class is deprecated, and will -become a compile-time error in a future release of perl (tentatively -v5.24). This construct allows you to match a single byte of what makes -up a multi-byte single UTF8 character, and breaks encapsulation. It is -currently also very buggy. If you really need to process the individual -bytes, you probably want to convert your string to one where each -underlying byte is stored as a character, with utf8::encode(). +(F) The \C character class used to allow a match of single byte within a +multi-byte utf-8 character, but was removed in v5.24 as it broke +encapsulation and its implementation was extremely buggy. If you really +need to process the individual bytes, you probably want to convert your +string to one where each underlying byte is stored as a character, with +utf8::encode(). =item "\c%c" is more clearly written simply as "%s" @@ -2392,7 +2391,7 @@ than the floating point supports. (W overflow) The hexadecimal floating point has a smaller exponent than the floating point supports. -=item Hexadecimal float: internal error (%s) +=item Hexadecimal float: internal error (F) Something went horribly bad in hexadecimal float handling. @@ -5253,13 +5252,6 @@ missing the final closing quote or angle bracket after the name. The S<<-- HERE> shows whereabouts in the regular expression the problem was discovered. -=item Sequence (?... not terminated in regex; marked by S<<-- HERE> in -m/%s/ - -(F) There was no matching closing parenthesis for the '('. The -S<<-- HERE> shows whereabouts in the regular expression the problem was -discovered. - =item Sequence \%s... not terminated in regex; marked by S<<-- HERE> in m/%s/ @@ -5445,11 +5437,6 @@ overhauled. (F) An ancient error message that almost nobody ever runs into anymore. But before sort was a keyword, people sometimes used it as a filehandle. -=item Sort subroutine didn't return single value - -(F) A sort comparison subroutine written in XS must return exactly one -item. See L. - =item Source filters apply only to byte streams (F) You tried to activate a source filter (usually by loading a @@ -6665,16 +6652,6 @@ one. This doesn't make sense. Perl will continue, assuming a Unicode happens to be ISO-8859-1 (Latin1) where this message is spurious and can be ignored. -=item Use of chdir('') or chdir(undef) as chdir() deprecated - -(D deprecated) chdir() with no arguments is documented to change to -$ENV{HOME} or $ENV{LOGDIR}. chdir(undef) and chdir('') share this -behavior, but that has been deprecated. In future versions they -will simply fail. - -Be careful to check that what you pass to chdir() is defined and not -blank, else you might find yourself in your home directory. - =item Use of /c modifier is meaningless in s/// (W regexp) You used the /c modifier in a substitution. The /c @@ -7068,21 +7045,8 @@ space. =item Warning: unable to close filehandle %s properly: %s -(S io) There were errors during the implicit close() done on a filehandle -when its reference count reached zero while it was still open, e.g.: - - { - open my $fh, '>', $file or die "open: '$file': $!\n"; - print $fh $data or die "print: $!"; - } # implicit close here - -Because various errors may only be detected by close() (e.g. buffering could -allow the C in this example to return true even when the disk is full), -it is dangerous to ignore its result. So when it happens implicitly, perl will -signal errors by warning. - -B, so the common idiom shown -above was liable to cause B. +(S io) An error occurred when Perl implicitly closed a filehandle. This +usually indicates your file system ran out of disk space. =item Warning: Use of "%s" without parentheses is ambiguous diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod index 4a18793..650ad0e 100644 --- a/pod/perlfunc.pod +++ b/pod/perlfunc.pod @@ -2235,7 +2235,7 @@ value returned work just like C below. For example: use Fcntl; - my $flags = fcntl($filehandle, F_GETFL, 0) + fcntl($filehandle, F_GETFL, $packed_return_buffer) or die "can't fcntl F_GETFL: $!"; You don't have to check for C on the return from C. @@ -3040,23 +3040,18 @@ X X =item hex -=for Pod::Functions convert a hexadecimal string to a number +=for Pod::Functions convert a string to a hexadecimal number -Interprets EXPR as a hex string and returns the corresponding numeric value. -If EXPR is omitted, uses C<$_>. +Interprets EXPR as a hex string and returns the corresponding value. +(To convert strings that might start with either C<0>, C<0x>, or C<0b>, see +L.) If EXPR is omitted, uses C<$_>. print hex '0xAf'; # prints '175' print hex 'aF'; # same - $valid_input =~ /\A(?:0?[xX])?(?:_?[0-9a-fA-F])*\z/ - -A hex string consists of hex digits and an optional C<0x> or C prefix. -Each hex digit may be preceded by a single underscore, which will be ignored. -Any other character triggers a warning and causes the rest of the string -to be ignored (even leading whitespace, unlike L). -Only integers can be represented, and integer overflow triggers a warning. -To convert strings that might start with any of C<0>, C<0x>, or C<0b>, see L. -To present something as hex, look into L, +Hex strings may only represent integers. Strings that would cause +integer overflow trigger a warning. Leading whitespace is not stripped, +unlike oct(). To present something as hex, look into L, L, and L. =item import LIST @@ -6647,7 +6642,7 @@ argument is given. Returns the integer number of seconds actually slept. May be interrupted if the process receives a signal such as C. eval { - local $SIG{ALRM} = sub { die "Alarm!\n" }; + local $SIG{ALARM} = sub { die "Alarm!\n" }; sleep; }; die $@ unless $@ eq "Alarm!\n"; diff --git a/pod/perlhacktips.pod b/pod/perlhacktips.pod index 29cb79e..498a58d 100644 --- a/pod/perlhacktips.pod +++ b/pod/perlhacktips.pod @@ -79,7 +79,7 @@ If you want to have arrays of constant strings, note carefully the right combination of Cs: static const char * const yippee[] = - {"hi", "ho", "silver"}; + {"hi", "ho", "silver"}; There is a way to completely hide any modifiable globals (they are all moved to heap), the compilation setting @@ -969,11 +969,11 @@ similar output to L. =head2 Using gdb to look at specific parts of a program -With the example above, you knew to look for C, but what if -there were multiple calls to it all over the place, or you didn't know what +With the example above, you knew to look for C, but what if +there were multiple calls to it all over the place, or you didn't know what the op was you were looking for? -One way to do this is to inject a rare call somewhere near what you're looking +One way to do this is to inject a rare call somewhere near what you're looking for. For example, you could add C before your method: study; @@ -983,7 +983,7 @@ And in gdb do: (gdb) break Perl_pp_study And then step until you hit what you're -looking for. This works well in a loop +looking for. This works well in a loop if you want to only break at certain iterations: for my $c (1..100) { @@ -992,7 +992,7 @@ if you want to only break at certain iterations: =head2 Using gdb to look at what the parser/lexer are doing -If you want to see what perl is doing when parsing/lexing your code, you can +If you want to see what perl is doing when parsing/lexing your code, you can use C: print "Before\n"; @@ -1006,7 +1006,7 @@ And in gdb: If you want to see what the parser/lexer is doing inside of C blocks and the like you need to be a little trickier: - if ($a && $b && do { BEGIN { study } 1 } && $c) { ... } + if ($a && $b && do { BEGIN { study } 1 } && $c) { ... } =head1 SOURCE CODE STATIC ANALYSIS @@ -1167,7 +1167,7 @@ C<-Accflags=-DDL_UNLOAD_ALL_AT_EXIT>. The valgrind tool can be used to find out both memory leaks and illegal heap memory accesses. As of version 3.3.0, Valgrind only supports Linux -on x86, x86-64 and PowerPC and Darwin (OS X) on x86 and x86-64). The +on x86, x86-64 and PowerPC and Darwin (OS X) on x86 and x86-64. The special "test.valgrind" target can be used to run the tests under valgrind. Found errors and memory leaks are logged in files named F and by default output is displayed inline. @@ -1184,7 +1184,7 @@ run. The valgrind tests support being run in parallel to help with this: Note that the above two invocations will be very verbose as reachable memory and leak-checking is enabled by default. If you want to just see pure errors, try: - + VG_OPTS='-q --leak-check=no --show-reachable=no' TEST_JOBS=9 \ make test.valgrind @@ -1396,7 +1396,7 @@ variable PERL_DESTRUCT_LEVEL to a non-zero value. The t/TEST wrapper does set this to 2, and this is what you need to do too, if you don't want to see the "global leaks": For example, for running under valgrind - env PERL_DESTRUCT_LEVEL=2 valgrind ./perl -Ilib t/foo/bar.t + env PERL_DESTRUCT_LEVEL=2 valgrind ./perl -Ilib t/foo/bar.t (Note: the mod_perl apache module uses also this environment variable for its own purposes and extended its semantics. Refer to the mod_perl @@ -1436,18 +1436,17 @@ C<-DPERL_MEM_LOG> instead. =head2 PERL_MEM_LOG -If compiled with C<-DPERL_MEM_LOG> (C<-Accflags=-DPERL_MEM_LOG>), both -memory and SV allocations go through logging functions, which is -handy for breakpoint setting. +If compiled with C<-DPERL_MEM_LOG>, both memory and SV allocations go +through logging functions, which is handy for breakpoint setting. -Unless C<-DPERL_MEM_LOG_NOIMPL> (C<-Accflags=-DPERL_MEM_LOG_NOIMPL>) is -also compiled, the logging functions read $ENV{PERL_MEM_LOG} to -determine whether to log the event, and if so how: +Unless C<-DPERL_MEM_LOG_NOIMPL> is also compiled, the logging functions +read $ENV{PERL_MEM_LOG} to determine whether to log the event, and if +so how: - $ENV{PERL_MEM_LOG} =~ /m/ Log all memory ops - $ENV{PERL_MEM_LOG} =~ /s/ Log all SV ops - $ENV{PERL_MEM_LOG} =~ /t/ include timestamp in Log - $ENV{PERL_MEM_LOG} =~ /^(\d+)/ write to FD given (default is 2) + $ENV{PERL_MEM_LOG} =~ /m/ Log all memory ops + $ENV{PERL_MEM_LOG} =~ /s/ Log all SV ops + $ENV{PERL_MEM_LOG} =~ /t/ include timestamp in Log + $ENV{PERL_MEM_LOG} =~ /^(\d+)/ write to FD given (default is 2) Memory logging is somewhat similar to C<-Dm> but is independent of C<-DDEBUGGING>, and at a higher level; all uses of Newx(), Renew(), and diff --git a/pod/perlhist.pod b/pod/perlhist.pod index 1b2e626..5a3a3f8 100644 --- a/pod/perlhist.pod +++ b/pod/perlhist.pod @@ -33,7 +33,7 @@ Matt S Trout, David Golden, Florian Ragwitz, Tatsuhiko Miyagawa, Chris C Williams, Zefram, Ævar Arnfjörð Bjarmason, Stevan Little, Dave Rolsky, Max Maischein, Abigail, Jesse Luehrs, Tony Cook, Dominic Hargreaves, Aaron Crane, Aristotle Pagaltzis, Matthew Horsfall, -Peter Martini, Sawyer X, and Chad 'Exodist' Granum. +Peter Martini, and Sawyer X. =head2 PUMPKIN? @@ -540,9 +540,6 @@ the strings?). Steve 5.20.1 2014-Sep-14 Steve 5.20.2-RC1 2015-Jan-31 Steve 5.20.2 2015-Feb-14 - Steve 5.20.3-RC1 2015-Aug-22 - Steve 5.20.3-RC2 2015-Aug-29 - Steve 5.20.3 2015-Sep-12 Ricardo 5.21.0 2014-May-27 The 5.21 development track Matthew H 5.21.1 2014-Jun-20 @@ -560,53 +557,8 @@ the strings?). Ricardo 5.22.0-RC1 2015-May-19 The 5.22 maintenance track Ricardo 5.22.0-RC2 2015-May-21 Ricardo 5.22.0 2015-Jun-01 - Steve 5.22.1-RC1 2015-Oct-31 - Steve 5.22.1-RC2 2015-Nov-15 - Steve 5.22.1-RC3 2015-Dec-02 - Steve 5.22.1-RC4 2015-Dec-08 - Steve 5.22.1 2015-Dec-13 - Steve 5.22.2-RC1 2016-Apr-10 - Steve 5.22.2 2016-Apr-29 - Steve 5.22.3-RC1 2016-Jul-17 - Steve 5.22.3-RC2 2016-Jul-25 - Steve 5.22.3-RC3 2016-Aug-11 - Steve 5.22.3-RC4 2016-Oct-12 - Steve 5.22.3-RC5 2017-Jan-02 - Steve 5.22.3 2017-Jan-14 Ricardo 5.23.0 2015-Jun-20 The 5.23 development track - Matthew 5.23.1 2015-Jul-20 - Matthew 5.23.2 2015-Aug-20 - Peter 5.23.3 2015-Sep-20 - Steve 5.23.4 2015-Oct-20 - Abigail 5.23.5 2015-Nov-20 - David G 5.23.6 2015-Dec-21 - Stevan 5.23.7 2016-Jan-20 - Sawyer X 5.23.8 2016-Feb-20 - Abigail 5.23.9 2016-Mar-20 - - Ricardo 5.24.0-RC1 2016-Apr-13 The 5.24 maintenance track - Ricardo 5.24.0-RC2 2016-Apr-23 - Ricardo 5.24.0-RC3 2016-Apr-26 - Ricardo 5.24.0-RC4 2016-May-02 - Ricardo 5.24.0-RC5 2016-May-04 - Ricardo 5.24.0 2016-May-09 - Steve 5.24.1-RC1 2016-Jul-17 - Steve 5.24.1-RC2 2016-Jul-25 - Steve 5.24.1-RC3 2016-Aug-11 - Steve 5.24.1-RC4 2016-Oct-12 - Steve 5.24.1-RC5 2017-Jan-02 - Steve 5.24.1 2017-Jan-14 - - Ricardo 5.25.0 2016-May-09 The 5.25 development track - Sawyer X 5.25.1 2016-May-20 - Matthew 5.25.2 2016-Jun-20 - Steve 5.25.3 2016-Jul-20 - BinGOs 5.25.4 2016-Aug-20 - Stevan 5.25.5 2016-Sep-20 - Aaron 5.25.6 2016-Oct-20 - Chad 5.25.7 2016-Nov-20 - Sawyer 5.25.8 2016-Dec-20 =head2 SELECTED RELEASE SIZES @@ -689,7 +641,6 @@ explained below. 5.18.0 5892 113 1088 79 20077 2760 9365 2439 4943 154 5.20.0 6243 115 1187 75 19499 2701 9620 2457 5145 159 5.22.0 7819 115 1284 77 19121 2635 9772 2434 5615 176 - 5.24.0 7922 113 1287 77 19535 2677 9994 2465 5702 177 The "core"..."doc" mean the following files from the Perl source code distribution. The glob notation ** means recursively, (.) means @@ -994,25 +945,25 @@ the Perl source distribution for somewhat more selected releases. ====================================================================== - 5.20.0 5.22.0 5.24.0 - - Configure 552 1 570 1 586 1 - Cross 118 15 118 15 118 15 - djgpp 18 7 17 7 17 7 - h2pl 13 15 13 15 13 15 - hints 355 90 356 87 362 87 - mad 174 8 - - - - - NetWare 467 61 466 61 467 61 - os2 510 70 510 70 510 70 - plan9 316 17 317 17 314 17 - Porting 1204 68 1393 71 1321 71 - qnx 1 4 1 4 1 4 - symbian 290 54 291 54 292 54 - utils 241 27 242 27 679 53 - vms 538 12 532 12 524 12 - vos 8 7 8 7 8 7 - win32 1183 64 1201 64 1268 65 - x2p 341 19 - - - - + 5.20.0 5.22.0 + + Configure 552 1 570 1 + Cross 118 15 118 15 + djgpp 18 7 17 7 + h2pl 13 15 13 15 + hints 355 90 356 87 + mad 174 8 - - + NetWare 467 61 466 61 + os2 510 70 510 70 + plan9 316 17 317 17 + Porting 1204 68 1393 71 + qnx 1 4 1 4 + symbian 290 54 291 54 + utils 241 27 242 27 + vms 538 12 532 12 + vos 8 7 8 7 + win32 1183 64 1201 64 + x2p 341 19 - - =head2 SELECTED PATCH SIZES diff --git a/pod/perlobj.pod b/pod/perlobj.pod index 6513d8a..fc8770a 100644 --- a/pod/perlobj.pod +++ b/pod/perlobj.pod @@ -148,10 +148,10 @@ demonstrated with this code: my $bar = $foo; bless $foo, 'Class'; - print blessed( $bar ) // 'not blessed'; # prints "Class" + print blessed( $bar ); # prints "Class" $bar = "some other value"; - print blessed( $bar ) // 'not blessed'; # prints "not blessed" + print blessed( $bar ); # prints undef When we call C on a variable, we are actually blessing the underlying data structure that the variable refers to. We are not diff --git a/pod/perlop.pod b/pod/perlop.pod index fdd887f..018698e 100644 --- a/pod/perlop.pod +++ b/pod/perlop.pod @@ -379,7 +379,7 @@ be integers. (See also L.) Note that both C<<< << >>> and C<<< >> >>> in Perl are implemented directly using C<<< << >>> and C<<< >> >>> in C. If S> (see L) is in force then signed C integers are used, else unsigned C integers are -used, even for negative shiftees. Either way, the implementation isn't going to generate results +used. Either way, the implementation isn't going to generate results larger than the size of the integer type Perl was built with (32 bits or 64 bits). diff --git a/pod/perlpolicy.pod b/pod/perlpolicy.pod index 063dae5..0f05876 100644 --- a/pod/perlpolicy.pod +++ b/pod/perlpolicy.pod @@ -291,11 +291,6 @@ upgrade from very old versions of perl to the latest version. =item * -Patches that fix bugs in features that were new in the corresponding 5.x.0 -stable release. - -=item * - Patches that fix anything which prevents or seriously impacts the build or installation of perl. @@ -556,14 +551,10 @@ Civility is simple: stick to the facts while avoiding demeaning remarks and sarcasm. It is not enough to be factual. You must also be civil. Responding in kind to incivility is not acceptable. -While civility is required, kindness is encouraged; if you have any doubt about -whether you are being civil, simply ask yourself, "Am I being kind?" and aspire -to that. - If the list moderators tell you that you are not being civil, carefully -consider how your words have appeared before responding in any way. Were they -kind? You may protest, but repeated protest in the face of a repeatedly -reaffirmed decision is not acceptable. +consider how your words have appeared before responding in any way. You may +protest, but repeated protest in the face of a repeatedly reaffirmed decision +is not acceptable. Unacceptable behavior will result in a public and clearly identified warning. Repeated unacceptable behavior will result in removal from the mailing list and diff --git a/pod/perlport.pod b/pod/perlport.pod index 6542fb4..464d144 100644 --- a/pod/perlport.pod +++ b/pod/perlport.pod @@ -379,8 +379,8 @@ semantics for that. Let the operating system sort it out. The I as defined by ANSI C are - a b c d e f g h i j k l m n o p q r s t u v w x y z - A B C D E F G H I J K L M N O P Q R S T U V W X Y Z + a b c d e f g h i j k l m n o p q r t u v w x y z + A B C D E F G H I J K L M N O P Q R T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 . _ - diff --git a/pod/perlre.pod b/pod/perlre.pod index 867d23d..a262b4c 100644 --- a/pod/perlre.pod +++ b/pod/perlre.pod @@ -22,8 +22,6 @@ find things that, while legal, may not be what you intended. =head2 Modifiers -=head3 Overview - Matching operations can have various modifiers. Modifiers that relate to the interpretation of the regular expression inside are listed below. Modifiers that alter the way a regular expression @@ -154,16 +152,11 @@ L are: Regular expression modifiers are usually written in documentation as e.g., "the C modifier", even though the delimiter -in question might not really be a slash. The modifiers C +in question might not really be a slash. The modifiers C may also be embedded within the regular expression itself using the C<(?...)> construct, see L below. -=head3 Details on some modifiers - -Some of the modifiers require more explanation than given in the -L above. - -=head4 /x +=head3 /x C tells the regular expression parser to ignore most whitespace that is neither @@ -227,7 +220,7 @@ calls "Pattern White Space", namely: U+2028 LINE SEPARATOR U+2029 PARAGRAPH SEPARATOR -=head4 Character set modifiers +=head3 Character set modifiers C, C, C, and C, available starting in 5.14, are called the character set modifiers; they affect the character set rules @@ -713,11 +706,6 @@ X<\g> X<\k> X<\K> X \pP [3] Match P, named property. Use \p{Prop} for longer names \PP [3] Match non-P \X [4] Match Unicode "eXtended grapheme cluster" - \C Match a single C-language char (octet) even if that is - part of a larger UTF-8 character. Thus it breaks up - characters into their UTF-8 bytes, so you may end up - with malformed pieces of UTF-8. Unsupported in - lookbehind. (Deprecated.) \1 [5] Backreference to a specific capture group or buffer. '1' may actually be any positive integer. \g1 [5] Backreference to a specific or previous group, @@ -1079,9 +1067,9 @@ a backslash if it appears in the comment. See Lx> for another way to have comments in patterns. -=item C<(?adlupimnsx-imnsx)> +=item C<(?adlupimsx-imsx)> -=item C<(?^alupimnsx)> +=item C<(?^alupimsx)> X<(?)> X<(?^)> One or more embedded pattern-match modifiers, to be turned on (or @@ -1119,7 +1107,7 @@ expressions compiled within the scope of a C. See L. Starting in Perl 5.14, a C<"^"> (caret or circumflex accent) immediately -after the C<"?"> is a shorthand equivalent to C. Flags (except +after the C<"?"> is a shorthand equivalent to C. Flags (except C<"d">) may follow the caret to override it. But a minus sign is not legal with it. @@ -1137,9 +1125,9 @@ anywhere in a pattern has a global effect. =item C<(?:pattern)> X<(?:)> -=item C<(?adluimnsx-imnsx:pattern)> +=item C<(?adluimsx-imsx:pattern)> -=item C<(?^aluimnsx:pattern)> +=item C<(?^aluimsx:pattern)> X<(?^:)> This is for clustering, not capturing; it groups subexpressions like @@ -1155,7 +1143,7 @@ but doesn't spit out extra fields. It's also cheaper not to capture characters if you don't need to. Any letters between C and C<:> act as flags modifiers as with -C<(?adluimnsx-imnsx)>. For example, +C<(?adluimsx-imsx)>. For example, /(?s-i:more.*than).*million/i @@ -1163,21 +1151,18 @@ is equivalent to the more verbose /(?:(?s-i)more.*than).*million/i -Note that any C<(...)> constructs enclosed within this one will still -capture unless the C modifier is in effect. - Starting in Perl 5.14, a C<"^"> (caret or circumflex accent) immediately -after the C<"?"> is a shorthand equivalent to C. Any positive +after the C<"?"> is a shorthand equivalent to C. Any positive flags (except C<"d">) may follow the caret, so (?^x:foo) is equivalent to - (?x-imns:foo) + (?x-ims:foo) The caret tells Perl that this cluster doesn't inherit the flags of any -surrounding pattern, but uses the system defaults (C), +surrounding pattern, but uses the system defaults (C), modified by any flags specified. The caret allows for simpler stringification of compiled regular diff --git a/pod/perlrebackslash.pod b/pod/perlrebackslash.pod index c216f25..08b9abc 100644 --- a/pod/perlrebackslash.pod +++ b/pod/perlrebackslash.pod @@ -69,8 +69,6 @@ as C \b{}, \b Boundary. (\b is a backspace in []). \B{}, \B Not a boundary. Not in []. \cX Control-X. - \C Single octet, even under UTF-8. Not in []. - (Deprecated) \d Character class for digits. \D Character class for non-digits. \e Escape character. @@ -663,18 +661,6 @@ categories above. These are: =over 4 -=item \C - -(Deprecated.) C<\C> always matches a single octet, even if the source -string is encoded -in UTF-8 format, and the character to be matched is a multi-octet character. -This is very dangerous, because it violates -the logical character abstraction and can cause UTF-8 sequences to become malformed. - -Use C instead. - -Mnemonic: oItet. - =item \K This appeared in perl 5.10.0. Anything matched left of C<\K> is diff --git a/pod/perlref.pod b/pod/perlref.pod index b3a30c8..86ecfdd 100644 --- a/pod/perlref.pod +++ b/pod/perlref.pod @@ -887,7 +887,7 @@ for obfuscated code: # @harry is (1,2,3) my $type = ref $thingy; - ($type ? $type eq 'ARRAY' ? \@foo : \$bar : $baz) = $thingy; + ($type ? $type == 'ARRAY' ? \@foo : \$bar : $baz) = $thingy; The C loop can also take a reference constructor for its loop variable, though the syntax is limited to one of the following, with an @@ -906,7 +906,7 @@ arrays-of-arrays, or arrays-of-hashes: } foreach \my %h (@array_of_hashes) { - $h{gelastic}++ if $h{type} eq 'funny'; + $h{gelastic}++ if $h{type} == 'funny'; } B Aliasing does not work correctly with closures. If you try to diff --git a/pod/perlreref.pod b/pod/perlreref.pod index de1b0d6..e9b784e 100644 --- a/pod/perlreref.pod +++ b/pod/perlreref.pod @@ -144,8 +144,6 @@ and L for details. \V A non vertical whitespace \R A generic newline (?>\v|\x0D\x0A) - \C Match a byte (with Unicode, '.' matches a character) - (Deprecated.) \pP Match P-named (Unicode) property \p{...} Match Unicode property with name longer than 1 character \PP Match non-P @@ -159,7 +157,7 @@ POSIX character classes and their Unicode and Perl equivalents: [[:...:]] \p{...} \p{...} sequence Description ----------------------------------------------------------------------- - alnum PosixAlnum XPosixAlnum Alpha plus Digit + alnum PosixAlnum XPosixAlnum 'alpha' plus 'digit' alpha PosixAlpha XPosixAlpha Alphabetic characters ascii ASCII Any ASCII character blank PosixBlank XPosixBlank \h Horizontal whitespace; @@ -169,19 +167,18 @@ POSIX character classes and their Unicode and Perl equivalents: extension) cntrl PosixCntrl XPosixCntrl Control characters digit PosixDigit XPosixDigit \d Decimal digits - graph PosixGraph XPosixGraph Alnum plus Punct + graph PosixGraph XPosixGraph 'alnum' plus 'punct' lower PosixLower XPosixLower Lowercase characters - print PosixPrint XPosixPrint Graph plus Print, but - not any Cntrls + print PosixPrint XPosixPrint 'graph' plus 'space', + but not any Controls punct PosixPunct XPosixPunct Punctuation and Symbols in ASCII-range; just punct outside it - space PosixSpace XPosixSpace [\s\cK] - PerlSpace XPerlSpace \s Perl's whitespace def'n + space PosixSpace XPosixSpace \s Whitespace upper PosixUpper XPosixUpper Uppercase characters - word PosixWord XPosixWord \w Alnum + Unicode marks + - connectors, like '_' - (Perl extension) + word PosixWord XPosixWord \w 'alnum' + Unicode marks + + connectors, like + '_' (Perl extension) xdigit ASCII_Hex_Digit XPosixDigit Hexadecimal digit, ASCII-range is [0-9A-Fa-f] diff --git a/pod/perlretut.pod b/pod/perlretut.pod index cb399ab..9a3c696 100644 --- a/pod/perlretut.pod +++ b/pod/perlretut.pod @@ -2295,10 +2295,6 @@ They evaluate true if the regexps do I match: $x =~ /foo(?!baz)/; # matches, 'baz' doesn't follow 'foo' $x =~ /(? is unsupported in lookbehind, because the already -treacherous definition of C<\C> would become even more so -when going backwards. - Here is an example where a string containing blank-separated words, numbers and single dashes is to be split into its components. Using C alone won't work, because spaces are not required between diff --git a/pod/perlrun.pod b/pod/perlrun.pod index 6bcc572..1d5f8fc 100644 --- a/pod/perlrun.pod +++ b/pod/perlrun.pod @@ -388,42 +388,39 @@ the format of the output is explained in L. As an alternative, specify a number instead of list of letters (e.g., B<-D14> is equivalent to B<-Dtls>): - 1 p Tokenizing and parsing (with v, displays parse - stack) - 2 s Stack snapshots (with v, displays all stacks) - 4 l Context (loop) stack processing - 8 t Trace execution - 16 o Method and overloading resolution - 32 c String/numeric conversions - 64 P Print profiling info, source file input state - 128 m Memory and SV allocation - 256 f Format processing - 512 r Regular expression parsing and execution - 1024 x Syntax tree dump - 2048 u Tainting checks - 4096 U Unofficial, User hacking (reserved for private, - unreleased use) - 8192 H Hash dump -- usurps values() - 16384 X Scratchpad allocation - 32768 D Cleaning up - 65536 S Op slab allocation - 131072 T Tokenizing - 262144 R Include reference counts of dumped variables - (eg when using -Ds) - 524288 J show s,t,P-debug (don't Jump over) on opcodes within - package DB - 1048576 v Verbose: use in conjunction with other flags - 2097152 C Copy On Write - 4194304 A Consistency checks on internal structures - 8388608 q quiet - currently only suppresses the "EXECUTING" - message - 16777216 M trace smart match resolution - 33554432 B dump suBroutine definitions, including special - Blocks like BEGIN - 67108864 L trace Locale-related info; what gets output is very - subject to change - 134217728 i trace PerlIO layer processing. Set PERLIO_DEBUG to - the filename to trace to. + 1 p Tokenizing and parsing (with v, displays parse stack) + 2 s Stack snapshots (with v, displays all stacks) + 4 l Context (loop) stack processing + 8 t Trace execution + 16 o Method and overloading resolution + 32 c String/numeric conversions + 64 P Print profiling info, source file input state + 128 m Memory and SV allocation + 256 f Format processing + 512 r Regular expression parsing and execution + 1024 x Syntax tree dump + 2048 u Tainting checks + 4096 U Unofficial, User hacking (reserved for private, + unreleased use) + 8192 H Hash dump -- usurps values() + 16384 X Scratchpad allocation + 32768 D Cleaning up + 65536 S Op slab allocation + 131072 T Tokenizing + 262144 R Include reference counts of dumped variables (eg when + using -Ds) + 524288 J show s,t,P-debug (don't Jump over) on opcodes within + package DB + 1048576 v Verbose: use in conjunction with other flags + 2097152 C Copy On Write + 4194304 A Consistency checks on internal structures + 8388608 q quiet - currently only suppresses the "EXECUTING" + message + 16777216 M trace smart match resolution + 33554432 B dump suBroutine definitions, including special Blocks + like BEGIN + 67108864 L trace Locale-related info; what gets output is very + subject to change All these flags require B<-DDEBUGGING> when you compile the Perl executable (but see C<:opd> in L or L @@ -1154,22 +1151,19 @@ is run in taint mode. =item PERLIO_DEBUG X -If set to the name of a file or device when Perl is run with the -B<-Di> command-line switch, the logging of certain operations of -the PerlIO subsystem will be redirected to the specified file rather -than going to stderr, which is the default. The file is opened in append -mode. Typical uses are in Unix: +If set to the name of a file or device, certain operations of PerlIO +subsystem will be logged to that file, which is opened in append mode. +Typical uses are in Unix: - % env PERLIO_DEBUG=/tmp/perlio.log perl -Di script ... + % env PERLIO_DEBUG=/dev/tty perl script ... and under Win32, the approximately equivalent: > set PERLIO_DEBUG=CON - perl -Di script ... + perl script ... -This functionality is disabled for setuid scripts, for scripts run -with B<-T>, and for scripts run on a Perl built without C<-DDEBUGGING> -support. +This functionality is disabled for setuid scripts and for scripts run +with B<-T>. =item PERLLIB X diff --git a/pod/perlsub.pod b/pod/perlsub.pod index 3aaa8a9..f057b96 100644 --- a/pod/perlsub.pod +++ b/pod/perlsub.pod @@ -319,8 +319,7 @@ disabled. The signature is part of a subroutine's body. Normally the body of a subroutine is simply a braced block of code. When using a signature, the signature is a parenthesised list that goes immediately after -the subroutine name (or, for anonymous subroutines, immediately after -the C keyword). The signature declares lexical variables that are +the subroutine name. The signature declares lexical variables that are in scope for the block. When the subroutine is called, the signature takes control first. It populates the signature variables from the list of arguments that were passed. If the argument list doesn't meet diff --git a/pod/perltie.pod b/pod/perltie.pod index db01b44..a200acc 100644 --- a/pod/perltie.pod +++ b/pod/perltie.pod @@ -765,7 +765,8 @@ hash element for this: X This method will be triggered when the user is going -to iterate through the hash, such as via a keys(), values(), or each() call. +to iterate through the hash, such as via a keys() or each() +call. sub FIRSTKEY { carp &whowasi if $DEBUG; @@ -774,22 +775,14 @@ to iterate through the hash, such as via a keys(), values(), or each() call. each %{$self->{LIST}} } -FIRSTKEY is always called in scalar context and it should just -return the first key. values(), and each() in list context, -will call FETCH for the returned keys. - =item NEXTKEY this, lastkey X -This method gets triggered during a keys(), values(), or each() iteration. It has a +This method gets triggered during a keys() or each() iteration. It has a second argument which is the last key that had been accessed. This is -useful if you're caring about ordering or calling the iterator from more +useful if you're carrying about ordering or calling the iterator from more than one sequence, or not really storing things in a hash anywhere. -NEXTKEY is always called in scalar context and it should just -return the next key. values(), and each() in list context, -will call FETCH for the returned keys. - For our example, we're using a real hash so we'll do just the simple thing, but we'll have to go through the LIST field indirectly. diff --git a/pod/perlvar.pod b/pod/perlvar.pod index 1a403b3..285531e 100644 --- a/pod/perlvar.pod +++ b/pod/perlvar.pod @@ -167,7 +167,7 @@ X<@_> X<@ARG> Within a subroutine the array C<@_> contains the parameters passed to that subroutine. Inside a subroutine, C<@_> is the default array for -the array operators C and C. +the array operators C, C, C, and C. See L. @@ -466,11 +466,6 @@ version objects) and numeric comparisons can occasionally fail; it's good for string literal version checks and bad for comparing to a variable that hasn't been sanity-checked. -The C<$OLD_PERL_VERSION> form was added in Perl v5.20.0 for historical -reasons but its use is discouraged. (If your reason to use C<$]> is to -run code on old perls then referring to it as C<$OLD_PERL_VERSION> would -be self-defeating.) - Mnemonic: Is this version of perl in the right bracket? =item $SYSTEM_FD_MAX @@ -1824,12 +1819,10 @@ Each element of C<%!> has a true value only if C<$!> is set to that value. For example, C<$!{ENOENT}> is true if and only if the current value of C<$!> is C; that is, if the most recent error was "No such file or directory" (or its moral equivalent: not all operating -systems give that exact error, and certainly not all languages). The -specific true value is not guaranteed, but in the past has generally -been the numeric value of C<$!>. To check if a particular key is -meaningful on your system, use C; for a list of legal -keys, use C. See L for more information, and also see -L. +systems give that exact error, and certainly not all languages). To +check if a particular key is meaningful on your system, use C; for a list of legal keys, use C. See L +for more information, and also see L. This variable was added in Perl 5.005. diff --git a/pp.c b/pp.c index 3173c5a..42f156a 100644 --- a/pp.c +++ b/pp.c @@ -1392,17 +1392,7 @@ PP(pp_multiply) NV right = SvNV_nomg(svr); NV left = SvNV_nomg(svl); (void)POPs; -#if defined(__sgi) && defined(USE_LONG_DOUBLE) && LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN && NVSIZE == 16 - { - NV result = left * right; - if (Perl_isinf(result)) { - Zero((U8*)&result + 8, 8, U8); - } - SETn( result ); - } -#else SETn( left * right ); -#endif RETURN; } } @@ -3681,7 +3671,10 @@ PP(pp_ucfirst) /* We may be able to get away with changing only the first character, in * place, but not if read-only, etc. Later we may discover more reasons to * not convert in-place. */ - inplace = !SvREADONLY(source) && SvPADTMP(source); + inplace = !SvREADONLY(source) + && ( SvPADTMP(source) + || ( SvTEMP(source) && !SvSMAGICAL(source) + && SvREFCNT(source) == 1)); /* First calculate what the changed first character should be. This affects * whether we can just swap it out, leaving the rest of the string unchanged, @@ -3921,7 +3914,9 @@ PP(pp_uc) SvGETMAGIC(source); - if ( SvPADTMP(source) + if ((SvPADTMP(source) + || + (SvTEMP(source) && !SvSMAGICAL(source) && SvREFCNT(source) == 1)) && !SvREADONLY(source) && SvPOK(source) && !DO_UTF8(source) && ( @@ -4174,7 +4169,10 @@ PP(pp_lc) SvGETMAGIC(source); - if ( SvPADTMP(source) + if ( ( SvPADTMP(source) + || ( SvTEMP(source) && !SvSMAGICAL(source) + && SvREFCNT(source) == 1 ) + ) && !SvREADONLY(source) && SvPOK(source) && !DO_UTF8(source)) { @@ -5113,20 +5111,15 @@ PP(pp_lslice) SV **lelem; if (GIMME_V != G_ARRAY) { - if (lastlelem < firstlelem) { - *firstlelem = &PL_sv_undef; - } - else { - I32 ix = SvIV(*lastlelem); - if (ix < 0) - ix += max; - if (ix < 0 || ix >= max) - *firstlelem = &PL_sv_undef; - else - *firstlelem = firstrelem[ix]; - } - SP = firstlelem; - RETURN; + I32 ix = SvIV(*lastlelem); + if (ix < 0) + ix += max; + if (ix < 0 || ix >= max) + *firstlelem = &PL_sv_undef; + else + *firstlelem = firstrelem[ix]; + SP = firstlelem; + RETURN; } if (max == 0) { diff --git a/pp_ctl.c b/pp_ctl.c index 335fb21..7f485d3 100644 --- a/pp_ctl.c +++ b/pp_ctl.c @@ -1349,22 +1349,17 @@ I32 Perl_block_gimme(pTHX) { const I32 cxix = dopoptosub(cxstack_ix); + U8 gimme; if (cxix < 0) return G_VOID; - switch (cxstack[cxix].blk_gimme) { - case G_VOID: - return G_VOID; - case G_SCALAR: - return G_SCALAR; - case G_ARRAY: - return G_ARRAY; - default: - Perl_croak(aTHX_ "panic: bad gimme: %d\n", cxstack[cxix].blk_gimme); - } - NOT_REACHED; /* NOTREACHED */ + gimme = (cxstack[cxix].blk_gimme & G_WANT); + if (!gimme) + Perl_croak(aTHX_ "panic: bad gimme: %d\n", gimme); + return gimme; } + I32 Perl_is_lvalue_sub(pTHX) { @@ -2279,17 +2274,46 @@ PP(pp_leaveloop) return NORMAL; } -STATIC void -S_return_lvalues(pTHX_ SV **mark, SV **sp, SV **newsp, I32 gimme, - PERL_CONTEXT *cx, PMOP *newpm) + +/* This duplicates most of pp_leavesub, but with additional code to handle + * return args in lvalue context. It was forked from pp_leavesub to + * avoid slowing down that function any further. + * + * Any changes made to this function may need to be copied to pp_leavesub + * and vice-versa. + */ + +PP(pp_leavesublv) { - const bool ref = !!(CxLVAL(cx) & OPpENTERSUB_INARGS); + dSP; + SV **newsp; + SV **mark; + PMOP *newpm; + I32 gimme; + PERL_CONTEXT *cx; + SV *sv; + bool ref; + const char *what = NULL; + + if (CxMULTICALL(&cxstack[cxstack_ix])) { + /* entry zero of a stack is always PL_sv_undef, which + * simplifies converting a '()' return into undef in scalar context */ + assert(PL_stack_sp > PL_stack_base || *PL_stack_base == &PL_sv_undef); + return 0; + } + + POPBLOCK(cx,newpm); + cxstack_ix++; /* preserve cx entry on stack for use by POPSUB */ + TAINT_NOT; + + mark = newsp + 1; + + ref = !!(CxLVAL(cx) & OPpENTERSUB_INARGS); if (gimme == G_SCALAR) { if (CxLVAL(cx) && !ref) { /* Leave it as it is if we can. */ SV *sv; - const char *what = NULL; - if (MARK < SP) { - assert(MARK+1 == SP); + if (MARK <= SP) { + assert(MARK == SP); if ((SvPADTMP(TOPs) || SvREADONLY(TOPs)) && !SvSMAGICAL(TOPs)) { what = @@ -2302,33 +2326,34 @@ S_return_lvalues(pTHX_ SV **mark, SV **sp, SV **newsp, I32 gimme, /* sub:lvalue{} will take us here. */ what = "undef"; } + croak: LEAVE; - cxstack_ix--; POPSUB(cx,sv); + cxstack_ix--; PL_curpm = newpm; LEAVESUB(sv); Perl_croak(aTHX_ "Can't return %s from lvalue subroutine", what ); } - if (MARK < SP) { + if (MARK <= SP) { copy_sv: if (cx->blk_sub.cv && CvDEPTH(cx->blk_sub.cv) > 1) { if (!SvPADTMP(*SP)) { - *++newsp = SvREFCNT_inc(*SP); + *MARK = SvREFCNT_inc(*SP); FREETMPS; - sv_2mortal(*newsp); + sv_2mortal(*MARK); } else { /* FREETMPS could clobber it */ SV *sv = SvREFCNT_inc(*SP); FREETMPS; - *++newsp = sv_mortalcopy(sv); + *MARK = sv_mortalcopy(sv); SvREFCNT_dec(sv); } } else - *++newsp = + *MARK = SvPADTMP(*SP) ? sv_mortalcopy(*SP) : !SvTEMP(*SP) @@ -2336,9 +2361,11 @@ S_return_lvalues(pTHX_ SV **mark, SV **sp, SV **newsp, I32 gimme, : *SP; } else { - EXTEND(newsp,1); - *++newsp = &PL_sv_undef; + MEXTEND(MARK, 0); + *MARK = &PL_sv_undef; } + SP = MARK; + if (CxLVAL(cx) & OPpDEREF) { SvGETMAGIC(TOPs); if (!SvOK(TOPs)) { @@ -2349,209 +2376,110 @@ S_return_lvalues(pTHX_ SV **mark, SV **sp, SV **newsp, I32 gimme, else if (gimme == G_ARRAY) { assert (!(CxLVAL(cx) & OPpDEREF)); if (ref || !CxLVAL(cx)) - while (++MARK <= SP) - *++newsp = + for (; MARK <= SP; MARK++) + *MARK = SvFLAGS(*MARK) & SVs_PADTMP ? sv_mortalcopy(*MARK) : SvTEMP(*MARK) ? *MARK : sv_2mortal(SvREFCNT_inc_simple_NN(*MARK)); - else while (++MARK <= SP) { + else for (; MARK <= SP; MARK++) { if (*MARK != &PL_sv_undef && (SvPADTMP(*MARK) || SvREADONLY(*MARK)) ) { - const bool ro = cBOOL( SvREADONLY(*MARK) ); - SV *sv; /* Might be flattened array after $#array = */ - PUTBACK; - LEAVE; - cxstack_ix--; - POPSUB(cx,sv); - PL_curpm = newpm; - LEAVESUB(sv); - /* diag_listed_as: Can't return %s from lvalue subroutine */ - Perl_croak(aTHX_ - "Can't return a %s from lvalue subroutine", - ro ? "readonly value" : "temporary"); + what = SvREADONLY(*MARK) + ? "a readonly value" : "a temporary"; + goto croak; } - else - *++newsp = - SvTEMP(*MARK) - ? *MARK - : sv_2mortal(SvREFCNT_inc_simple_NN(*MARK)); + else if (!SvTEMP(*MARK)) + *MARK = sv_2mortal(SvREFCNT_inc_simple_NN(*MARK)); } } - PL_stack_sp = newsp; + PUTBACK; + + LEAVE; + POPSUB(cx,sv); /* Stack values are safe: release CV and @_ ... */ + cxstack_ix--; + PL_curpm = newpm; /* ... and pop $1 et al */ + LEAVESUB(sv); + + return cx->blk_sub.retop; } + PP(pp_return) { dSP; dMARK; PERL_CONTEXT *cx; - bool popsub2 = FALSE; - bool clear_errsv = FALSE; - bool lval = FALSE; - I32 gimme; - SV **newsp; - PMOP *newpm; - I32 optype = 0; - SV *namesv; - SV *sv; - OP *retop = NULL; - + SV **oldsp; const I32 cxix = dopoptosub(cxstack_ix); - if (cxix < 0) { - if (CxMULTICALL(cxstack)) { /* In this case we must be in a - * sort block, which is a CXt_NULL - * not a CXt_SUB */ - dounwind(0); - PL_stack_base[1] = *PL_stack_sp; - PL_stack_sp = PL_stack_base + 1; - return 0; - } - else - DIE(aTHX_ "Can't return outside a subroutine"); - } - if (cxix < cxstack_ix) + assert(cxstack_ix >= 0); + if (cxix < cxstack_ix) { + if (cxix < 0) { + if (CxMULTICALL(cxstack)) { /* In this case we must be in a + * sort block, which is a CXt_NULL + * not a CXt_SUB */ + dounwind(0); + /* if we were in list context, we would have to splice out + * any junk before the return args, like we do in the general + * pp_return case, e.g. + * sub f { for (junk1, junk2) { return arg1, arg2 }} + */ + assert(cxstack[0].blk_gimme == G_SCALAR); + return 0; + } + else + DIE(aTHX_ "Can't return outside a subroutine"); + } dounwind(cxix); + } - if (CxMULTICALL(&cxstack[cxix])) { - gimme = cxstack[cxix].blk_gimme; - if (gimme == G_VOID) - PL_stack_sp = PL_stack_base; - else if (gimme == G_SCALAR) { - PL_stack_base[1] = *PL_stack_sp; - PL_stack_sp = PL_stack_base + 1; - } - return 0; + cx = &cxstack[cxix]; + + oldsp = PL_stack_base + cx->blk_oldsp; + if (oldsp != MARK) { + /* Handle extra junk on the stack. For example, + * for (1,2) { return 3,4 } + * leaves 1,2,3,4 on the stack. In list context we + * have to splice out the 1,2; In scalar context for + * for (1,2) { return } + * we need to set sp = oldsp so that pp_leavesub knows + * to push &PL_sv_undef onto the stack. + * Note that in pp_return we only do the extra processing + * required to handle junk; everything else we leave to + * pp_leavesub. + */ + SSize_t nargs = SP - MARK; + if (nargs) { + if (cx->blk_gimme == G_ARRAY) { + /* shift return args to base of call stack frame */ + Move(MARK + 1, oldsp + 1, nargs, SV**); + PL_stack_sp = oldsp + nargs; + } + } + else + PL_stack_sp = oldsp; } - POPBLOCK(cx,newpm); + /* fall through to a normal exit */ switch (CxTYPE(cx)) { - case CXt_SUB: - popsub2 = TRUE; - lval = !!CvLVALUE(cx->blk_sub.cv); - retop = cx->blk_sub.retop; - cxstack_ix++; /* preserve cx entry on stack for use by POPSUB */ - break; case CXt_EVAL: - if (!(PL_in_eval & EVAL_KEEPERR)) - clear_errsv = TRUE; - POPEVAL(cx); - namesv = cx->blk_eval.old_namesv; - retop = cx->blk_eval.retop; - if (CxTRYBLOCK(cx)) - break; - if (optype == OP_REQUIRE && - (MARK == SP || (gimme == G_SCALAR && !SvTRUE(*SP))) ) - { - /* Unassume the success we assumed earlier. */ - (void)hv_delete(GvHVn(PL_incgv), - SvPVX_const(namesv), - SvUTF8(namesv) ? -(I32)SvCUR(namesv) : (I32)SvCUR(namesv), - G_DISCARD); - DIE(aTHX_ "%"SVf" did not return a true value", SVfARG(namesv)); - } - break; + return CxTRYBLOCK(cx) + ? Perl_pp_leavetry(aTHX) + : Perl_pp_leaveeval(aTHX); + case CXt_SUB: + return CvLVALUE(cx->blk_sub.cv) + ? Perl_pp_leavesublv(aTHX) + : Perl_pp_leavesub(aTHX); case CXt_FORMAT: - retop = cx->blk_sub.retop; - POPFORMAT(cx); - break; + return Perl_pp_leavewrite(aTHX); default: DIE(aTHX_ "panic: return, type=%u", (unsigned) CxTYPE(cx)); } - - TAINT_NOT; - if (lval) S_return_lvalues(aTHX_ MARK, SP, newsp, gimme, cx, newpm); - else { - if (gimme == G_SCALAR) { - if (MARK < SP) { - if (popsub2) { - if (cx->blk_sub.cv && CvDEPTH(cx->blk_sub.cv) > 1) { - if (SvTEMP(TOPs) && SvREFCNT(TOPs) == 1 - && !SvMAGICAL(TOPs)) { - *++newsp = SvREFCNT_inc(*SP); - FREETMPS; - sv_2mortal(*newsp); - } - else { - sv = SvREFCNT_inc(*SP); /* FREETMPS could clobber it */ - FREETMPS; - *++newsp = sv_mortalcopy(sv); - SvREFCNT_dec(sv); - } - } - else if (SvTEMP(*SP) && SvREFCNT(*SP) == 1 - && !SvMAGICAL(*SP)) { - *++newsp = *SP; - } - else - *++newsp = sv_mortalcopy(*SP); - } - else - *++newsp = sv_mortalcopy(*SP); - } - else - *++newsp = &PL_sv_undef; - } - else if (gimme == G_ARRAY) { - while (++MARK <= SP) { - *++newsp = popsub2 && SvTEMP(*MARK) && SvREFCNT(*MARK) == 1 - && !SvGMAGICAL(*MARK) - ? *MARK : sv_mortalcopy(*MARK); - TAINT_NOT; /* Each item is independent */ - } - } - PL_stack_sp = newsp; - } - - LEAVE; - /* Stack values are safe: */ - if (popsub2) { - cxstack_ix--; - POPSUB(cx,sv); /* release CV and @_ ... */ - } - else - sv = NULL; - PL_curpm = newpm; /* ... and pop $1 et al */ - - LEAVESUB(sv); - if (clear_errsv) { - CLEAR_ERRSV(); - } - return retop; } -/* This duplicates parts of pp_leavesub, so that it can share code with - * pp_return */ -PP(pp_leavesublv) -{ - dSP; - SV **newsp; - PMOP *newpm; - I32 gimme; - PERL_CONTEXT *cx; - SV *sv; - - if (CxMULTICALL(&cxstack[cxstack_ix])) - return 0; - - POPBLOCK(cx,newpm); - cxstack_ix++; /* temporarily protect top context */ - - TAINT_NOT; - - S_return_lvalues(aTHX_ newsp, SP, newsp, gimme, cx, newpm); - - LEAVE; - POPSUB(cx,sv); /* Stack values are safe: release CV and @_ ... */ - cxstack_ix--; - PL_curpm = newpm; /* ... and pop $1 et al */ - - LEAVESUB(sv); - return cx->blk_sub.retop; -} static I32 S_unwind_loop(pTHX_ const char * const opname) @@ -2595,42 +2523,23 @@ S_unwind_loop(pTHX_ const char * const opname) PP(pp_last) { PERL_CONTEXT *cx; - I32 pop2 = 0; I32 gimme; - I32 optype; OP *nextop = NULL; SV **newsp; PMOP *newpm; - SV *sv = NULL; S_unwind_loop(aTHX_ "last"); POPBLOCK(cx,newpm); cxstack_ix++; /* temporarily protect top context */ - switch (CxTYPE(cx)) { - case CXt_LOOP_LAZYIV: - case CXt_LOOP_LAZYSV: - case CXt_LOOP_FOR: - case CXt_LOOP_PLAIN: - pop2 = CxTYPE(cx); - newsp = PL_stack_base + cx->blk_loop.resetsp; - nextop = cx->blk_loop.my_op->op_lastop->op_next; - break; - case CXt_SUB: - pop2 = CXt_SUB; - nextop = cx->blk_sub.retop; - break; - case CXt_EVAL: - POPEVAL(cx); - nextop = cx->blk_eval.retop; - break; - case CXt_FORMAT: - POPFORMAT(cx); - nextop = cx->blk_sub.retop; - break; - default: - DIE(aTHX_ "panic: last, type=%u", (unsigned) CxTYPE(cx)); - } + assert( + CxTYPE(cx) == CXt_LOOP_LAZYIV + || CxTYPE(cx) == CXt_LOOP_LAZYSV + || CxTYPE(cx) == CXt_LOOP_FOR + || CxTYPE(cx) == CXt_LOOP_PLAIN + ); + newsp = PL_stack_base + cx->blk_loop.resetsp; + nextop = cx->blk_loop.my_op->op_lastop->op_next; TAINT_NOT; PL_stack_sp = newsp; @@ -2638,22 +2547,10 @@ PP(pp_last) LEAVE; cxstack_ix--; /* Stack values are safe: */ - switch (pop2) { - case CXt_LOOP_LAZYIV: - case CXt_LOOP_PLAIN: - case CXt_LOOP_LAZYSV: - case CXt_LOOP_FOR: - POPLOOP(cx); /* release loop vars ... */ - LEAVE; - break; - case CXt_SUB: - POPSUB(cx,sv); /* release CV and @_ ... */ - break; - } + POPLOOP(cx); /* release loop vars ... */ + LEAVE; PL_curpm = newpm; /* ... and pop $1 et al */ - LEAVESUB(sv); - PERL_UNUSED_VAR(optype); PERL_UNUSED_VAR(gimme); return nextop; } @@ -4331,10 +4228,11 @@ PP(pp_leaveeval) I32 gimme; PERL_CONTEXT *cx; OP *retop; - const U8 save_flags = PL_op -> op_flags; I32 optype; SV *namesv; CV *evalcv; + /* grab this value before POPEVAL restores old PL_in_eval */ + bool keep = cBOOL(PL_in_eval & EVAL_KEEPERR); PERL_ASYNC_CHECK(); POPBLOCK(cx,newpm); @@ -4366,9 +4264,8 @@ PP(pp_leaveeval) } else { LEAVE_with_name("eval"); - if (!(save_flags & OPf_SPECIAL)) { + if (!keep) CLEAR_ERRSV(); - } } RETURNOP(retop); @@ -4434,9 +4331,11 @@ PP(pp_leavetry) I32 gimme; PERL_CONTEXT *cx; I32 optype; + OP *retop; PERL_ASYNC_CHECK(); POPBLOCK(cx,newpm); + retop = cx->blk_eval.retop; POPEVAL(cx); PERL_UNUSED_VAR(optype); @@ -4446,7 +4345,7 @@ PP(pp_leavetry) LEAVE_with_name("eval_scope"); CLEAR_ERRSV(); - RETURN; + RETURNOP(retop); } PP(pp_entergiven) @@ -4599,11 +4498,11 @@ S_do_smartmatch(pTHX_ HV *seen_this, HV *seen_other, const bool copied) RETPUSHYES; } - if (sv_isobject(e) && (SvTYPE(SvRV(e)) != SVt_REGEXP)) { + if (SvROK(e) && SvOBJECT(SvRV(e)) && (SvTYPE(SvRV(e)) != SVt_REGEXP)) { DEBUG_M(Perl_deb(aTHX_ " applying rule Any-Object\n")); Perl_croak(aTHX_ "Smart matching a non-overloaded object breaks encapsulation"); } - if (sv_isobject(d) && (SvTYPE(SvRV(d)) != SVt_REGEXP)) + if (SvROK(d) && SvOBJECT(SvRV(d)) && (SvTYPE(SvRV(d)) != SVt_REGEXP)) object_on_left = TRUE; /* ~~ sub */ diff --git a/pp_hot.c b/pp_hot.c index d56936f..1094510 100644 --- a/pp_hot.c +++ b/pp_hot.c @@ -2947,8 +2947,12 @@ PP(pp_leavesub) PERL_CONTEXT *cx; SV *sv; - if (CxMULTICALL(&cxstack[cxstack_ix])) + if (CxMULTICALL(&cxstack[cxstack_ix])) { + /* entry zero of a stack is always PL_sv_undef, which + * simplifies converting a '()' return into undef in scalar context */ + assert(PL_stack_sp > PL_stack_base || *PL_stack_base == &PL_sv_undef); return 0; + } POPBLOCK(cx,newpm); cxstack_ix++; /* temporarily protect top context */ @@ -3039,8 +3043,6 @@ PP(pp_entersub) SP = PL_stack_base + POPMARK; else (void)POPMARK; - if (GIMME_V == G_SCALAR) - PUSHs(&PL_sv_undef); RETURN; } SvGETMAGIC(sv); diff --git a/pp_pack.c b/pp_pack.c index dd7bc8a..cf1074e 100644 --- a/pp_pack.c +++ b/pp_pack.c @@ -1766,18 +1766,7 @@ S_unpack_rec(pTHX_ tempsym_t* symptr, const char *s, const char *strbeg, const c } while (cdouble < 0.0) cdouble += anv; - cdouble = Perl_modf(cdouble / anv, &trouble); -#ifdef LONGDOUBLE_DOUBLEDOUBLE - /* Workaround for powerpc doubledouble modfl bug: - * close to 1.0L and -1.0L cdouble is 0, and trouble - * is cdouble / anv. */ - if (trouble != Perl_ceil(trouble)) { - cdouble = trouble; - if (cdouble > 1.0L) cdouble -= 1.0L; - if (cdouble < -1.0L) cdouble += 1.0L; - } -#endif - cdouble *= anv; + cdouble = Perl_modf(cdouble / anv, &trouble) * anv; sv = newSVnv(cdouble); } else { @@ -2487,7 +2476,7 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) if (howlen == e_star) len = fromlen; field_len = (len+1)/2; GROWING(utf8, cat, start, cur, field_len); - if (!utf8_source && len > (I32)fromlen) len = fromlen; + if (!utf8 && len > (I32)fromlen) len = fromlen; bits = 0; l = 0; if (datumtype == 'H') diff --git a/pp_sort.c b/pp_sort.c index d21a4ea..be7922f 100644 --- a/pp_sort.c +++ b/pp_sort.c @@ -1661,10 +1661,10 @@ PP(pp_sort) SAVESPTR(GvSV(PL_secondgv)); } + gimme = G_SCALAR; PUSHBLOCK(cx, CXt_NULL, PL_stack_base); if (!(flags & OPf_SPECIAL)) { cx->cx_type = CXt_SUB; - cx->blk_gimme = G_SCALAR; /* If our comparison routine is already active (CvDEPTH is * is not 0), then PUSHSUB does not increase the refcount, * so we have to do it ourselves, because the LEAVESUB fur- @@ -1771,9 +1771,7 @@ S_sortcv(pTHX_ SV *const a, SV *const b) const I32 oldsaveix = PL_savestack_ix; const I32 oldscopeix = PL_scopestack_ix; I32 result; - SV *resultsv; PMOP * const pm = PL_curpm; - OP * const sortop = PL_op; COP * const cop = PL_curcop; PERL_ARGS_ASSERT_SORTCV; @@ -1783,21 +1781,12 @@ S_sortcv(pTHX_ SV *const a, SV *const b) PL_stack_sp = PL_stack_base; PL_op = PL_sortcop; CALLRUNOPS(aTHX); - PL_op = sortop; PL_curcop = cop; - if (PL_stack_sp != PL_stack_base + 1) { - assert(PL_stack_sp == PL_stack_base); - resultsv = &PL_sv_undef; - } - else resultsv = *PL_stack_sp; - if (SvNIOK_nog(resultsv)) result = SvIV(resultsv); - else { - ENTER; - SAVEVPTR(PL_curpad); - PL_curpad = 0; - result = SvIV(resultsv); - LEAVE; - } + /* entry zero of a stack is always PL_sv_undef, which + * simplifies converting a '()' return into undef in scalar context */ + assert(PL_stack_sp > PL_stack_base || *PL_stack_base == &PL_sv_undef); + result = SvIV(*PL_stack_sp); + while (PL_scopestack_ix > oldscopeix) { LEAVE; } @@ -1814,9 +1803,7 @@ S_sortcv_stacked(pTHX_ SV *const a, SV *const b) I32 result; AV * const av = GvAV(PL_defgv); PMOP * const pm = PL_curpm; - OP * const sortop = PL_op; COP * const cop = PL_curcop; - SV **pad; PERL_ARGS_ASSERT_SORTCV_STACKED; @@ -1845,15 +1832,12 @@ S_sortcv_stacked(pTHX_ SV *const a, SV *const b) PL_stack_sp = PL_stack_base; PL_op = PL_sortcop; CALLRUNOPS(aTHX); - PL_op = sortop; PL_curcop = cop; - pad = PL_curpad; PL_curpad = 0; - if (PL_stack_sp != PL_stack_base + 1) { - assert(PL_stack_sp == PL_stack_base); - result = SvIV(&PL_sv_undef); - } - else result = SvIV(*PL_stack_sp); - PL_curpad = pad; + /* entry zero of a stack is always PL_sv_undef, which + * simplifies converting a '()' return into undef in scalar context */ + assert(PL_stack_sp > PL_stack_base || *PL_stack_base == &PL_sv_undef); + result = SvIV(*PL_stack_sp); + while (PL_scopestack_ix > oldscopeix) { LEAVE; } @@ -1881,9 +1865,11 @@ S_sortcv_xsub(pTHX_ SV *const a, SV *const b) *++SP = b; PUTBACK; (void)(*CvXSUB(cv))(aTHX_ cv); - if (PL_stack_sp != PL_stack_base + 1) - Perl_croak(aTHX_ "Sort subroutine didn't return single value"); + /* entry zero of a stack is always PL_sv_undef, which + * simplifies converting a '()' return into undef in scalar context */ + assert(PL_stack_sp > PL_stack_base || *PL_stack_base == &PL_sv_undef); result = SvIV(*PL_stack_sp); + while (PL_scopestack_ix > oldscopeix) { LEAVE; } diff --git a/pp_sys.c b/pp_sys.c index 570aaa2..6770063 100644 --- a/pp_sys.c +++ b/pp_sys.c @@ -678,6 +678,8 @@ PP(pp_pipe_op) GV * const wgv = MUTABLE_GV(POPs); GV * const rgv = MUTABLE_GV(POPs); + assert (isGV_with_GP(rgv)); + assert (isGV_with_GP(wgv)); rstio = GvIOn(rgv); if (IoIFP(rstio)) do_close(rgv, FALSE); @@ -1080,9 +1082,11 @@ PP(pp_dbmopen) PUTBACK; call_sv(MUTABLE_SV(GvCV(gv)), G_SCALAR); SPAGAIN; + if (sv_isobject(TOPs)) + goto retie; } - - if (sv_isobject(TOPs)) { + else { + retie: sv_unmagic(MUTABLE_SV(hv), PERL_MAGIC_tied); sv_magic(MUTABLE_SV(hv), TOPs, PERL_MAGIC_tied, NULL, 0); } @@ -1433,8 +1437,9 @@ PP(pp_leavewrite) I32 gimme; PERL_CONTEXT *cx; OP *retop; + bool is_return = cBOOL(PL_op->op_type == OP_RETURN); - if (!io || !(ofp = IoOFP(io))) + if (is_return || !io || !(ofp = IoOFP(io))) goto forget_top; DEBUG_f(PerlIO_printf(Perl_debug_log, "left=%ld, todo=%ld\n", @@ -1512,7 +1517,13 @@ PP(pp_leavewrite) SP = newsp; /* ignore retval of formline */ LEAVE; - if (!io || !(fp = IoOFP(io))) { + if (is_return) + /* XXX the semantics of doing 'return' in a format aren't documented. + * Currently we ignore any args to 'return' and just return + * a single undef in both scalar and list contexts + */ + PUSHs(&PL_sv_undef); + else if (!io || !(fp = IoOFP(io))) { if (io && IoIFP(io)) report_wrongway_fh(gv, '<'); else @@ -2302,10 +2313,22 @@ PP(pp_truncate) result = 0; #else { - const int tmpfd = PerlLIO_open(name, O_RDWR); + int mode = O_RDWR; + int tmpfd; + +#if defined(USE_64_BIT_RAWIO) && defined(O_LARGEFILE) + mode |= O_LARGEFILE; /* Transparently largefiley. */ +#endif +#ifdef O_BINARY + /* On open(), the Win32 CRT tries to seek around text + * files using 32-bit offsets, which causes the open() + * to fail on large files, so open in binary mode. + */ + mode |= O_BINARY; +#endif + tmpfd = PerlLIO_open(name, mode); if (tmpfd < 0) { - SETERRNO(EBADF,RMS_IFI); result = 0; } else { if (my_chsize(tmpfd, len) < 0) @@ -3575,8 +3598,7 @@ PP(pp_chdir) else if (!(gv = MAYBE_DEREF_GV(sv))) tmps = SvPV_nomg_const_nolen(sv); } - - if( !gv && (!tmps || !*tmps) ) { + else { HV * const table = GvHVn(PL_envgv); SV **svp; @@ -3587,8 +3609,6 @@ PP(pp_chdir) #endif ) { - if( MAXARG == 1 ) - deprecate("chdir('') or chdir(undef) as chdir()"); tmps = SvPV_nolen_const(*svp); } else { diff --git a/proto.h b/proto.h index ab78202..0a33758 100644 --- a/proto.h +++ b/proto.h @@ -61,6 +61,13 @@ PERL_CALLCONV bool Perl__is_utf8_FOO(pTHX_ const U8 classnum, const U8 *p) #define PERL_ARGS_ASSERT__IS_UTF8_FOO \ assert(p) +PERL_STATIC_INLINE STRLEN S__is_utf8_char_slow(const U8 *s, const U8 *e) + __attribute__warn_unused_result__ + __attribute__nonnull__(1) + __attribute__nonnull__(2); +#define PERL_ARGS_ASSERT__IS_UTF8_CHAR_SLOW \ + assert(s); assert(e) + PERL_CALLCONV bool Perl__is_utf8_idcont(pTHX_ const U8 *p) __attribute__warn_unused_result__ __attribute__nonnull__(pTHX_1); @@ -151,6 +158,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); @@ -270,6 +282,12 @@ PERL_CALLCONV SV** Perl_av_store(pTHX_ AV *av, SSize_t key, SV *val) __attribute__warn_unused_result__ __attribute__nonnull__(pTHX_1); */ +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 \ + assert(av) + PERL_CALLCONV void Perl_av_undef(pTHX_ AV *av) __attribute__nonnull__(pTHX_1); #define PERL_ARGS_ASSERT_AV_UNDEF \ @@ -1862,6 +1880,14 @@ PERL_CALLCONV bool Perl_is_invariant_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__ @@ -4431,6 +4457,11 @@ PERL_CALLCONV NV Perl_sv_nv(pTHX_ SV* sv) #define PERL_ARGS_ASSERT_SV_NV \ assert(sv) +PERL_STATIC_INLINE bool S_sv_only_taint_gmagic(SV *sv) + __attribute__nonnull__(1); +#define PERL_ARGS_ASSERT_SV_ONLY_TAINT_GMAGIC \ + assert(sv) + PERL_CALLCONV char* Perl_sv_peek(pTHX_ SV* sv); PERL_CALLCONV void Perl_sv_pos_b2u(pTHX_ SV *const sv, I32 *const offsetp) __attribute__nonnull__(pTHX_2); @@ -5415,39 +5446,6 @@ STATIC SV * S_incpush_if_exists(pTHX_ AV *const av, SV *dir, SV *const stem) # endif #endif -#if !defined(PERL_NO_INLINE_FUNCTIONS) -PERL_STATIC_INLINE STRLEN S__is_utf8_char_slow(const U8 *s, const U8 *e) - __attribute__warn_unused_result__ - __attribute__nonnull__(1) - __attribute__nonnull__(2); -#define PERL_ARGS_ASSERT__IS_UTF8_CHAR_SLOW \ - assert(s); assert(e) - -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_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 \ - assert(av) - -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_STATIC_INLINE bool S_sv_only_taint_gmagic(SV *sv) - __attribute__nonnull__(1); -#define PERL_ARGS_ASSERT_SV_ONLY_TAINT_GMAGIC \ - assert(sv) - -#endif #if !defined(PERL_NO_UTF16_FILTER) # if defined(PERL_IN_TOKE_C) STATIC U8* S_add_utf16_textfilter(pTHX_ U8 *const s, bool reversed) @@ -8026,28 +8024,6 @@ STATIC void S_mem_log_common(enum mem_log_type mlt, const UV n, const UV typesiz # endif #endif -#if defined(PERL_MEM_LOG) -PERL_CALLCONV Malloc_t Perl_mem_log_alloc(const UV nconst, UV typesize, const char *type_name, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname) - __attribute__nonnull__(3) - __attribute__nonnull__(5) - __attribute__nonnull__(7); -#define PERL_ARGS_ASSERT_MEM_LOG_ALLOC \ - assert(type_name); assert(filename); assert(funcname) - -PERL_CALLCONV Malloc_t Perl_mem_log_free(Malloc_t oldalloc, const char *filename, const int linenumber, const char *funcname) - __attribute__nonnull__(2) - __attribute__nonnull__(4); -#define PERL_ARGS_ASSERT_MEM_LOG_FREE \ - assert(filename); assert(funcname) - -PERL_CALLCONV Malloc_t Perl_mem_log_realloc(const UV n, const UV typesize, const char *type_name, Malloc_t oldalloc, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname) - __attribute__nonnull__(3) - __attribute__nonnull__(6) - __attribute__nonnull__(8); -#define PERL_ARGS_ASSERT_MEM_LOG_REALLOC \ - assert(type_name); assert(filename); assert(funcname) - -#endif #if defined(PERL_OP_PARENT) PERL_CALLCONV OP* Perl_op_parent(OP *o) __attribute__nonnull__(1); diff --git a/reentr.c b/reentr.c index c464acc..9a10dca 100644 --- a/reentr.c +++ b/reentr.c @@ -10,16 +10,10 @@ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/reentr.pl from data in regen/reentr.pl. * Any changes made here will be lost! - */ - -/* + * * "Saruman," I said, standing away from him, "only one hand at a time can * wield the One, and you know that well, so do not trouble to say we!" * - * [p.260 of _The Lord of the Rings_, II/ii: "The Council of Elrond"] - */ - -/* * This file contains a collection of automatically created wrappers * (created by running reentr.pl) for reentrant (thread-safe) versions of * various library calls, such as getpwent_r. The wrapping is done so diff --git a/regcharclass.h b/regcharclass.h index 27cf8ea..c3e26c3 100644 --- a/regcharclass.h +++ b/regcharclass.h @@ -2473,48 +2473,50 @@ /* Generated from: * 083180df694deb1fc173361406c1a75619fb8376403db3a76dc585c1e3951eca lib/Unicode/UCD.pm - * 827aa7ee45ca9fe09f3e0969a5a27a69ce58a6c7134548125266210018d27b49 lib/unicore/ArabicShaping.txt - * 3748fbbe9d280a9da700bfd0c28beaaf6f32a67ec263a124fcb0a4095a30fae5 lib/unicore/BidiBrackets.txt - * 3925329c2432fa7248b2e180cddcedb9a4f9eafbbb10ab9e105eaf833043b2fb lib/unicore/BidiMirroring.txt - * 7f5a1b4a346c6cdbe948d3baf50fc31fff29c26bcd4ad422dc1fbcc1c23b0bde lib/unicore/Blocks.txt - * 82f3cc8217455f22d294d7df767a62906baf31456ea8902336ae7fee943a2538 lib/unicore/CaseFolding.txt - * 8be553529f7dd22e3e0ffa25eb3f1743f5243bbfe868559be73bf3a163c21913 lib/unicore/CompositionExclusions.txt - * ab64278818411762311b9d5974438ac5cf14e98c79b44a6373022f0780de38a7 lib/unicore/DAge.txt - * f2ff892add5e6624cee8300c297373216df7f1a596c6e74510afe5e8b96c8d91 lib/unicore/DCoreProperties.txt - * 656aa2c6996a049e84c6d38676bc73c3245c808869d64073b812690ae475d534 lib/unicore/DNormalizationProps.txt - * e064b066e555cbace95951fcba9b5336a4d04c88c5949a1ff7615190eaa67682 lib/unicore/EastAsianWidth.txt - * 2aa574984e9cea6980eddd6e36044168d543b7f0449266fa3248aca28790cf06 lib/unicore/HangulSyllableType.txt - * e7122c4d4d598854b5fbefeb2b1ee9f05aef6a8d6e718b5f56c2a8ea31145f12 lib/unicore/IndicMatraCategory.txt - * 478ca00ea86b47209f0b27eb3959ad83cb2b76f5159213d242390d07d5af2b8d lib/unicore/IndicSyllabicCategory.txt - * 0aa8af5cbb4d0570b1006aefffc021c6ef637dffb15572a5a85e7f7e7778fe22 lib/unicore/Jamo.txt - * 3b359eeff325f7e773ea9d5feb8af053b94c579844f0db7ce648f418c9d136d8 lib/unicore/LineBreak.txt - * af85d961d0ed6055271ca6e0174451a8dc1822e31de9e07e1246535318b9341a lib/unicore/NameAliases.txt - * 1c379b9c1b0f6cd14208b766f74fc92ff5a9528aee66083db307f1fc9a615729 lib/unicore/NamedSequences.txt - * 0df343d93293f14e9ff0b0a721d8b8e6c23c86dbad7be18d362d6bf1281590d9 lib/unicore/PropList.txt - * 6c14f474761b8db46f95cf2d1e235ce40abf3382226c5b1a2210df83775fe6fa lib/unicore/PropValueAliases.txt - * 3f3dd77644faa905ce02de7c0e3167fdc4afdf94748f074192bd70821c8341ea lib/unicore/PropertyAliases.txt - * 2767531dec8c525a317ab488b95eed73461fe9c6fbb8088594f3886964724475 lib/unicore/ScriptExtensions.txt - * a638f9f0eb3c521ed6c7755fce93c04bf6e4ba89f23ac3d1bd4c4e486c400118 lib/unicore/Scripts.txt - * 35496d45fc8babd8deb866491ea82ff7b3d2d49ad4c9c656685cd14833101e25 lib/unicore/SpecialCasing.txt - * bfa3da58ea982199829e1107ac5a9a544b83100470a2d0cc28fb50ec234cb840 lib/unicore/UnicodeData.txt - * 916289f471c4a337fb1e0715985a11e6bc8bb205736e84164849d601d265d9e0 lib/unicore/auxiliary/GCBTest.txt - * 3d7ffae56e506d595f3e0e5d36978bc6721d53470e5ca9666ad7cdfc4a46cb3d lib/unicore/auxiliary/GraphemeBreakProperty.txt - * 370ddf3ba9b337819cf21795c2bd7cda578ac5ff4700d1a3ac923e8be988b57e lib/unicore/auxiliary/SBTest.txt - * 28356f6912113a9fe8244d9396e9786115dbc10b3ffb5e31b08969122e91d3f3 lib/unicore/auxiliary/SentenceBreakProperty.txt - * 3f56d3ccfc35c6dac44d143a4d6087af4e4ee9f1bdbae482c12f6149b60dec3b lib/unicore/auxiliary/WBTest.txt - * 82f7304030e6866ef8e02cdfb0485c52c18a661282bfce9c259cc6300abd79ad lib/unicore/auxiliary/WordBreakProperty.txt - * b88801b4a469207892a0401697c6b1c5fd64042ae0ef867f4ad0ec04942b415c lib/unicore/extracted/DBidiClass.txt - * 074d33ea6c7349eab840d690369dffb3568e2f7b039552b7c10480274d321545 lib/unicore/extracted/DBinaryProperties.txt - * 8ad457aef3525aedce823b9177dad33e0088df536dff11e3df405ecefc92ba08 lib/unicore/extracted/DCombiningClass.txt - * 59ec46c1e30458ffff50d41196fd45e3bbaf3172a8111117af1b930199be2d96 lib/unicore/extracted/DDecompositionType.txt - * cf7c07557ae915a7508c6c7fc8c2e8c900782364ec62e8a5d2813f3b97449ee0 lib/unicore/extracted/DEastAsianWidth.txt - * 56a5b47331a7ec784e848bcaae1ddc08cbf72aab583ca82dcc98ecf2851a3d43 lib/unicore/extracted/DGeneralCategory.txt - * c14e83161e56eb15d78b1589352d6c0bd8feb7889a5d17f70a2ebb2a43cab86d lib/unicore/extracted/DJoinGroup.txt - * 8c9405c54d8b1dd3fe2f2d691b30c0816ca15481995152ed07fc9b844dfd0ad4 lib/unicore/extracted/DJoinType.txt - * a9791f08281d7b0a417e4ad882cf64463f6815db8156932acd85228ac717fd94 lib/unicore/extracted/DLineBreak.txt - * a17a0330e57d774343a53c019f1bc69827c2676982a1bf48e0898a76710e8877 lib/unicore/extracted/DNumType.txt - * c2cb810a67cc5fb4a8d236b6c1bc6dd4d89733d8603881997e8aae2c816a3db1 lib/unicore/extracted/DNumValues.txt - * 808d76136d9952faf581347e9bc040dbab5158f143f243a6de455a4af39b7401 lib/unicore/mktables - * 746472de66b936ac885ca6d6e68058242b4e909e3260c6317f3ec719f78f76cc lib/unicore/version - * 3eaedce3745bef6219cff3b5f63e5f8622c58dc66736281a82df991636d54451 regen/regcharclass.pl + * ae98bec7e4f0564758eed81eca5015481ba32581f8a735a825b71b3bba714450 lib/unicore/ArabicShaping.txt + * 1687fe5994eb7e5c0dab8503fc2a1b3b479d91af9d3b8055941c9bd791f7d0b5 lib/unicore/BidiBrackets.txt + * 350d1302116194b0b21def287434b55c5088098fbc726e879f7420a391965643 lib/unicore/BidiMirroring.txt + * 288fc7b85c76bda296e296c8465f1f4baeb456cb814430dfaa0f546bfbe86b4a lib/unicore/Blocks.txt + * 86e075f2ede997b3fa5965516c75190b5a88bb82d302272d9c3179b7a57af03f lib/unicore/CaseFolding.txt + * 2fafee5be73bf2817ee669c53c504a6c4aa02ac7344194af18511aea2e05d750 lib/unicore/CompositionExclusions.txt + * 302f6d6171dc9c6165db86d0226b7923a64cea06c493d339d35436bf137606a3 lib/unicore/DAge.txt + * ff666dece87dfdbdbf04a2e26a0bfb52c4ba98db1f8965b0b01ddb9e15f97476 lib/unicore/DCoreProperties.txt + * 6cc76100d402d7dd12bd769ac61158b91e71aad58c8333abb848f1b9c9fdde2d lib/unicore/DNormalizationProps.txt + * ccc571829b384b8a2c24b7a62f8aa6a891a6e8c48f08513ef84fd6da26dba4bb lib/unicore/EastAsianWidth.txt + * 2320db06cf88c755ec7b9cfec96dd9e1d774173521dbc3ee7985377c2ab90d32 lib/unicore/HangulSyllableType.txt + * e52216b5fdb04910e06e94f01cabdf70656b0077c92b756c7b38822626d572f2 lib/unicore/IndicPositionalCategory.txt + * 4db71a39102e173095cb8bda8b4c35e78fe6b365e443c584b19f081d8c4894fc lib/unicore/IndicSyllabicCategory.txt + * eeb30346bb545bb45ff16486d9234397bfe1a195bb12b54fc1d9f48f87e8aa5e lib/unicore/Jamo.txt + * 13e2b7087bcca3163272e64e34e480534bd2f8353a0245c26e6642566f59a60d lib/unicore/LineBreak.txt + * 9bb54cd7b5509779f269fa60341bcbfca8da8f17d3c4999e44a5a51671d3c402 lib/unicore/NameAliases.txt + * e4c29d9ceefbe2382af819ac7646265a9e4ea599ce04a90d31bec97cfaa2848f lib/unicore/NamedSequences.txt + * 70d40297f1bf91397fbdab5a770c12100733e67c5c3398446c5e950715d5e535 lib/unicore/PropList.txt + * 03a440f2a4b9151043a6bb53d4a4e528b73238079f9d686dc2a5846e6895588a lib/unicore/PropValueAliases.txt + * 8e8b48c2080d31aa6713f5535aad94a1f7bc9a65cc52563724e5e69b0a3b4196 lib/unicore/PropertyAliases.txt + * 45d42b1ecbac2263c1c63c95104e63ea64313eb99be94542e040aea11c449f6c lib/unicore/ScriptExtensions.txt + * 79fbd73ad82c30fdb67d36a349d12667bd58d3e9da6a8ce7dd26383b637ba85f lib/unicore/Scripts.txt + * fb2025dae3b9b17649b6e379c1cdbddf50641267ca6d2446caeccf4a141fe167 lib/unicore/SpecialCasing.txt + * 38b17e1118206489a7e0ab5d29d7932212d38838df7d3ec025ecb58e8798ec20 lib/unicore/UnicodeData.txt + * 0cedd6e0f5cadf57ce9cfc96beccfd083b0faa0809a631a777cd25f0316bfabb lib/unicore/auxiliary/GCBTest.txt + * 230005412f9a47128e37bc52330766aaa0b5522a53737a89cff66e891e14527a lib/unicore/auxiliary/GraphemeBreakProperty.txt + * 41bf82452d71ce15eda8c9bb1bb0c20b72205acaaf503e3cb84734ed8e85d33a lib/unicore/auxiliary/SBTest.txt + * d3b45cdb0a73eeb9d25158336583dfc1e6f64da59537acb0008988b40e6b3b63 lib/unicore/auxiliary/SentenceBreakProperty.txt + * a661f42a54f7cc4dded72a61c508be2b482f912d4b6cf140335010f0c684dbb9 lib/unicore/auxiliary/WBTest.txt + * c255bd2e1f163373510679bf4b272eee97b635bfce2a6550d6c10fe5c917f01a lib/unicore/auxiliary/WordBreakProperty.txt + * 16dac6f1c164a4f52741b71221a8aafb6acb52cd8a436af139da6e93d86efdfb lib/unicore/extracted/DBidiClass.txt + * c4e78efc041668548117f7462af03b28dfbb2caca5d46a1ae78ae0ce0bb26c4a lib/unicore/extracted/DBinaryProperties.txt + * 5886bb44aae8f2821663f742793cb91d4ed0923c6840f3bfb73530e37030abf8 lib/unicore/extracted/DCombiningClass.txt + * 9edba3785ed0e6e46e10f67e2dd0ec3cb0799b7f75f526fe918429576060352e lib/unicore/extracted/DDecompositionType.txt + * b774387f79b27ae4268ae89450f971408dc9bbbb523426482ab4375c962bd922 lib/unicore/extracted/DEastAsianWidth.txt + * ba4207d2464077e807b20caf063041142afc0a8a38c328c5c23b3417c9f2da33 lib/unicore/extracted/DGeneralCategory.txt + * 29fdd151266595eb1b37715937afe0727bb632a2bc1130f0d2314040175df82e lib/unicore/extracted/DJoinGroup.txt + * 7725fe247da06986e43e89fd316b8b22a0619546d0c1ed499a94b25e9164c150 lib/unicore/extracted/DJoinType.txt + * 1a0687fb9c6c4567e853913549df0944fe40821279a3e9cdaa6ab8679bc286fd lib/unicore/extracted/DLineBreak.txt + * 40bcfed3ca727c19e1331f6c33806231d5f7eeeabd2e6a9e06a3740c85d0c250 lib/unicore/extracted/DNumType.txt + * a18d502bad39d527ac5586d7bc93e29f565859e3bcc24ada627eff606d6f5fed lib/unicore/extracted/DNumValues.txt + * c9326eab8d7861c3543963e555d5b927348f4467c93071db23154dece7619654 lib/unicore/mktables + * 462c9aaa608fb2014cd9649af1c5c009485c60b9c8b15b89401fdc10cf6161c6 lib/unicore/version + * c6884f4d629f04d1316f3476cb1050b6a1b98ca30c903262955d4eae337c6b1e regen/charset_translations.pl + * 1c951614c1cf87c2a801c615a65470d8f5e9388b62690e7498c7661eb7782a01 regen/regcharclass.pl + * 206b60035ff0cec9f7d1701937ecf9226a943faa42dfc4827c37306be64ff18e regen/regcharclass_multi_char_folds.pl * ex: set ro: */ diff --git a/regcomp.c b/regcomp.c index 9332dea..4a37b6a 100644 --- a/regcomp.c +++ b/regcomp.c @@ -808,9 +808,6 @@ static const scan_data_t zero_scan_data = if (RExC_seen & REG_GPOS_SEEN) \ PerlIO_printf(Perl_debug_log,"REG_GPOS_SEEN "); \ \ - if (RExC_seen & REG_CANY_SEEN) \ - PerlIO_printf(Perl_debug_log,"REG_CANY_SEEN "); \ - \ if (RExC_seen & REG_RECURSE_SEEN) \ PerlIO_printf(Perl_debug_log,"REG_RECURSE_SEEN "); \ \ @@ -1173,23 +1170,14 @@ S_get_ANYOF_cp_list_for_ssc(pTHX_ const RExC_state_t *pRExC_state, /* Add in the points from the bit map */ for (i = 0; i < NUM_ANYOF_CODE_POINTS; i++) { if (ANYOF_BITMAP_TEST(node, i)) { - unsigned int start = i++; - - for (; i < NUM_ANYOF_CODE_POINTS && ANYOF_BITMAP_TEST(node, i); ++i) { - /* empty */ - } - invlist = _add_range_to_invlist(invlist, start, i-1); + invlist = add_cp_to_invlist(invlist, i); new_node_has_latin1 = TRUE; } } /* If this can match all upper Latin1 code points, have to add them - * as well. But don't add them if inverting, as when that gets done below, - * it would exclude all these characters, including the ones it shouldn't - * that were added just above */ - if ((ANYOF_FLAGS(node) & (ANYOF_INVERT|ANYOF_MATCHES_ALL_NON_UTF8_NON_ASCII)) - == ANYOF_MATCHES_ALL_NON_UTF8_NON_ASCII) - { + * as well */ + if (ANYOF_FLAGS(node) & ANYOF_MATCHES_ALL_NON_UTF8_NON_ASCII) { _invlist_union(invlist, PL_UpperLatin1, &invlist); } @@ -2236,8 +2224,8 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch, for ( cur = first ; cur < last ; cur = regnext( cur ) ) { regnode *noper = NEXTOPER( cur ); - const U8 *uc; - const U8 *e; + const U8 *uc = (U8*)STRING( noper ); + const U8 *e = uc + STR_LEN( noper ); int foldlen = 0; U32 wordlen = 0; /* required init */ STRLEN minchars = 0; @@ -2247,19 +2235,17 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch, if (OP(noper) == NOTHING) { regnode *noper_next= regnext(noper); - if (noper_next < tail) - noper= noper_next; - } - - if ( noper < tail && ( OP(noper) == flags || ( flags == EXACTFU && OP(noper) == EXACTFU_SS ) ) ) { - uc= (U8*)STRING(noper); - e= uc + STR_LEN(noper); - } else { - trie->minlen= 0; - continue; + if (noper_next != tail && OP(noper_next) == flags) { + noper = noper_next; + uc= (U8*)STRING(noper); + e= uc + STR_LEN(noper); + trie->minlen= STR_LEN(noper); + } else { + trie->minlen= 0; + continue; + } } - if ( set_bit ) { /* bitmap only alloced when !(UTF&&Folding) */ TRIE_BITMAP_SET(trie,*uc); /* store the raw first byte regardless of encoding */ @@ -2465,20 +2451,22 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch, for ( cur = first ; cur < last ; cur = regnext( cur ) ) { regnode *noper = NEXTOPER( cur ); + U8 *uc = (U8*)STRING( noper ); + const U8 *e = uc + STR_LEN( noper ); U32 state = 1; /* required init */ U16 charid = 0; /* sanity init */ U32 wordlen = 0; /* required init */ if (OP(noper) == NOTHING) { regnode *noper_next= regnext(noper); - if (noper_next < tail) - noper= noper_next; + if (noper_next != tail && OP(noper_next) == flags) { + noper = noper_next; + uc= (U8*)STRING(noper); + e= uc + STR_LEN(noper); + } } - if ( noper < tail && ( OP(noper) == flags || ( flags == EXACTFU && OP(noper) == EXACTFU_SS ) ) ) { - const U8 *uc= (U8*)STRING(noper); - const U8 *e= uc + STR_LEN(noper); - + if (OP(noper) != NOTHING) { for ( ; uc < e ; uc += len ) { TRIE_READ_CHAR; @@ -2682,6 +2670,8 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch, for ( cur = first ; cur < last ; cur = regnext( cur ) ) { regnode *noper = NEXTOPER( cur ); + const U8 *uc = (U8*)STRING( noper ); + const U8 *e = uc + STR_LEN( noper ); U32 state = 1; /* required init */ @@ -2692,14 +2682,14 @@ S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch, if (OP(noper) == NOTHING) { regnode *noper_next= regnext(noper); - if (noper_next < tail) - noper= noper_next; + if (noper_next != tail && OP(noper_next) == flags) { + noper = noper_next; + uc= (U8*)STRING(noper); + e= uc + STR_LEN(noper); + } } - if ( noper < tail && ( OP(noper) == flags || ( flags == EXACTFU && OP(noper) == EXACTFU_SS ) ) ) { - const U8 *uc= (U8*)STRING(noper); - const U8 *e= uc + STR_LEN(noper); - + if ( OP(noper) != NOTHING ) { for ( ; uc < e ; uc += len ) { TRIE_READ_CHAR; @@ -4195,8 +4185,8 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, U8 noper_trietype = TRIE_TYPE( noper_type ); #if defined(DEBUGGING) || defined(NOJUMPTRIE) regnode * const noper_next = regnext( noper ); - U8 noper_next_type = (noper_next && noper_next < tail) ? OP(noper_next) : 0; - U8 noper_next_trietype = (noper_next && noper_next < tail) ? TRIE_TYPE( noper_next_type ) :0; + U8 noper_next_type = (noper_next && noper_next != tail) ? OP(noper_next) : 0; + U8 noper_next_trietype = (noper_next && noper_next != tail) ? TRIE_TYPE( noper_next_type ) :0; #endif DEBUG_TRIE_COMPILE_r({ @@ -4224,7 +4214,7 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, if ( noper_trietype && ( - ( noper_trietype == NOTHING ) + ( noper_trietype == NOTHING) || ( trietype == NOTHING ) || ( trietype == noper_trietype ) ) @@ -4242,7 +4232,7 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, if ( noper_trietype == NOTHING ) { #if !defined(DEBUGGING) && !defined(NOJUMPTRIE) regnode * const noper_next = regnext( noper ); - U8 noper_next_type = (noper_next && noper_next < tail) ? OP(noper_next) : 0; + U8 noper_next_type = (noper_next && noper_next!=tail) ? OP(noper_next) : 0; U8 noper_next_trietype = noper_next_type ? TRIE_TYPE( noper_next_type ) :0; #endif @@ -5076,7 +5066,6 @@ PerlIO_printf(Perl_debug_log, "LHS=%"UVuf" RHS=%"UVuf"\n", Perl_croak(aTHX_ "panic: unexpected simple REx opcode %d", OP(scan)); #endif - case CANY: case SANY: if (flags & SCF_DO_STCLASS_OR) /* Allow everything */ ssc_match_all_cp(data->start_class); @@ -7295,8 +7284,6 @@ Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count, lookbehind */ if (pRExC_state->num_code_blocks) r->extflags |= RXf_EVAL_SEEN; - if (RExC_seen & REG_CANY_SEEN) - r->intflags |= PREGf_CANY_SEEN; if (RExC_seen & REG_VERBARG_SEEN) { r->intflags |= PREGf_VERBARG_SEEN; @@ -7708,13 +7695,8 @@ Perl_reg_numbered_buff_fetch(pTHX_ REGEXP * const r, const I32 paren, sv_setpvn(sv, s, i); TAINT_set(oldtainted); #endif - if ( (rx->intflags & PREGf_CANY_SEEN) - ? (RXp_MATCH_UTF8(rx) - && (!i || is_utf8_string((U8*)s, i))) - : (RXp_MATCH_UTF8(rx)) ) - { + if (RXp_MATCH_UTF8(rx)) SvUTF8_on(sv); - } else SvUTF8_off(sv); if (TAINTING_get) { @@ -9733,7 +9715,9 @@ S_parse_lparen_question_flags(pTHX_ RExC_state_t *pRExC_state) ++RExC_parse; } - vFAIL("Sequence (?... not terminated"); + if (PASS2) { + STD_PMMOD_FLAGS_PARSE_X_WARN(x_mod_count); + } } /* @@ -10883,13 +10867,18 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth) ret = reg_node(pRExC_state, OPFAIL); return ret; } - else if (min == max && RExC_parse < RExC_end && *RExC_parse == '?') + else if (min == max + && RExC_parse < RExC_end + && (*RExC_parse == '?' || *RExC_parse == '+')) { if (PASS2) { ckWARN2reg(RExC_parse + 1, "Useless use of greediness modifier '%c'", *RExC_parse); } + /* Absorb the modifier, so later code doesn't see nor use + * it */ + nextchar(pRExC_state); } do_curly: @@ -11807,13 +11796,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth) RExC_seen_zerolen++; /* Do not optimize RE away */ goto finish_meta_pat; case 'C': - ret = reg_node(pRExC_state, CANY); - RExC_seen |= REG_CANY_SEEN; - *flagp |= HASWIDTH|SIMPLE; - if (PASS2) { - ckWARNdep(RExC_parse+1, "\\C is deprecated"); - } - goto finish_meta_pat; + vFAIL("\\C no longer supported"); case 'X': ret = reg_node(pRExC_state, CLUMP); *flagp |= HASWIDTH; @@ -13360,10 +13343,6 @@ S_handle_regex_sets(pTHX_ RExC_state_t *pRExC_state, SV** return_invlist, * default: case next time and keep on incrementing until * we find one of the invariants we do handle. */ RExC_parse++; - if (*RExC_parse == 'c') { - /* Skip the \cX notation for control characters */ - RExC_parse++; - } break; case '[': { @@ -13442,8 +13421,7 @@ S_handle_regex_sets(pTHX_ RExC_state_t *pRExC_state, SV** return_invlist, * a stack. Each entry on the stack is a single character representing one * of the operators; or else a pointer to an operand inversion list. */ -#define IS_OPERATOR(a) SvIOK(a) -#define IS_OPERAND(a) (! IS_OPERATOR(a)) +#define IS_OPERAND(a) (! SvIOK(a)) /* The stack is kept in Łukasiewicz order. (That's pronounced similar * to luke-a-shave-itch (or -itz), but people who didn't want to bother @@ -13615,14 +13593,13 @@ redo_curchar: /* If the top entry on the stack is an operator, it had * better be a '!', otherwise the entry below the top * operand should be an operator */ - if ( ! (top_ptr = av_fetch(stack, top_index, FALSE)) - || (IS_OPERATOR(*top_ptr) && SvUV(*top_ptr) != '!') - || ( IS_OPERAND(*top_ptr) - && ( top_index - fence < 1 - || ! (stacked_ptr = av_fetch(stack, - top_index - 1, - FALSE)) - || ! IS_OPERATOR(*stacked_ptr)))) + if ( ! (top_ptr = av_fetch(stack, top_index, FALSE)) + || (! IS_OPERAND(*top_ptr) && SvUV(*top_ptr) != '!') + || top_index - fence < 1 + || ! (stacked_ptr = av_fetch(stack, + top_index - 1, + FALSE)) + || IS_OPERAND(*stacked_ptr)) { RExC_parse++; vFAIL("Unexpected '(' with no preceding operator"); @@ -13720,12 +13697,8 @@ redo_curchar: /* Having gotten rid of the fence, we pop the operand at the * stack top and process it as a newly encountered operand */ current = av_pop(stack); - if (IS_OPERAND(current)) { - goto handle_operand; - } - - RExC_parse++; - goto bad_syntax; + assert(IS_OPERAND(current)); + goto handle_operand; case '&': case '|': @@ -13801,23 +13774,11 @@ redo_curchar: /* Here, the new operator has equal or lower precedence than * what's already there. This means the operation already * there should be performed now, before the new one. */ - rhs = av_pop(stack); - if (! IS_OPERAND(rhs)) { - - /* This can happen when a ! is not followed by an operand, - * like in /(?[\t &!])/ */ - goto bad_syntax; - } - lhs = av_pop(stack); - if (! IS_OPERAND(lhs)) { - - /* This can happen when there is an empty (), like in - * /(?[[0]+()+])/ */ - goto bad_syntax; - } + assert(IS_OPERAND(rhs)); + assert(IS_OPERAND(lhs)); switch (stacked_operator) { case '&': @@ -13863,20 +13824,9 @@ redo_curchar: av_push(stack, rhs); goto redo_curchar; - case '!': /* Highest priority, right associative */ - - /* If what's already at the top of the stack is another '!", - * they just cancel each other out */ - if ( (top_ptr = av_fetch(stack, top_index, FALSE)) - && (IS_OPERATOR(*top_ptr) && SvUV(*top_ptr) == '!')) - { - only_to_avoid_leaks = av_pop(stack); - SvREFCNT_dec(only_to_avoid_leaks); - } - else { /* Otherwise, since it's right associative, just push - onto the stack */ - av_push(stack, newSVuv(curchar)); - } + case '!': /* Highest priority, right associative, so just push + onto stack */ + av_push(stack, newSVuv(curchar)); break; default: @@ -13896,7 +13846,7 @@ redo_curchar: * be an operator */ top_ptr = av_fetch(stack, top_index, FALSE); assert(top_ptr); - if (IS_OPERATOR(*top_ptr)) { + if (! IS_OPERAND(*top_ptr)) { /* The only permissible operator at the top of the stack is * '!', which is applied immediately to this operand. */ @@ -13948,10 +13898,8 @@ redo_curchar: if (av_tindex(stack) < 0 /* Was empty */ || ((final = av_pop(stack)) == NULL) || ! IS_OPERAND(final) - || SvTYPE(final) != SVt_INVLIST || av_tindex(stack) >= 0) /* More left on stack */ { - bad_syntax: SvREFCNT_dec(final); vFAIL("Incomplete expression within '(?[ ])'"); } @@ -14014,7 +13962,6 @@ redo_curchar: Set_Node_Length(node, RExC_parse - oregcomp_parse + 1); /* MJD */ return node; } -#undef IS_OPERATOR #undef IS_OPERAND STATIC void @@ -14363,11 +14310,6 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth, } else if (value == '\\') { /* Is a backslash; get the code point of the char after it */ - - if (RExC_parse >= RExC_end) { - vFAIL("Unmatched ["); - } - if (UTF && ! UTF8_IS_INVARIANT(UCHARAT(RExC_parse))) { value = utf8n_to_uvchr((U8*)RExC_parse, RExC_end - RExC_parse, diff --git a/regcomp.h b/regcomp.h index f418086..897d35b 100644 --- a/regcomp.h +++ b/regcomp.h @@ -134,7 +134,7 @@ #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 + /* spare */ #define PREGf_GPOS_SEEN 0x00000100 #define PREGf_GPOS_FLOAT 0x00000200 @@ -597,7 +597,6 @@ struct regnode_ssc { #define REG_LOOKBEHIND_SEEN 0x00000002 #define REG_GPOS_SEEN 0x00000004 /* spare */ -#define REG_CANY_SEEN 0x00000010 #define REG_RECURSE_SEEN 0x00000020 #define REG_TOP_LEVEL_BRANCHES_SEEN 0x00000040 #define REG_VERBARG_SEEN 0x00000080 diff --git a/regcomp.sym b/regcomp.sym index f79b874..ffcb53b 100644 --- a/regcomp.sym +++ b/regcomp.sym @@ -56,7 +56,6 @@ NBOUNDA NBOUND, no ; Match "" betweeen any \w\w or \W\W, where \w #* [Special] alternatives: REG_ANY REG_ANY, no 0 S ; Match any one character (except newline). SANY REG_ANY, no 0 S ; Match any one character. -CANY REG_ANY, no 0 S ; Match any one byte. ANYOF ANYOF, sv 1 S ; Match character in (or not in) this class, single char match only ANYOFL ANYOF, sv 1 S ; Like ANYOF, but /l is in effect diff --git a/regen/feature.pl b/regen/feature.pl index 6733e3c..115c5a5 100755 --- a/regen/feature.pl +++ b/regen/feature.pl @@ -59,6 +59,8 @@ my %feature_bundle = ( evalbytes current_sub fc)], "5.21" => [qw(say state switch unicode_strings unicode_eval evalbytes current_sub fc)], + "5.23" => [qw(say state switch unicode_strings unicode_eval + evalbytes current_sub fc)], ); # not actually used currently @@ -365,7 +367,7 @@ read_only_bottom_close_and_rename($h); __END__ package feature; -our $VERSION = '1.40'; +our $VERSION = '1.41'; FEATURES @@ -720,7 +722,7 @@ bundle is automatically loaded instead. =cut sub import { - my $class = shift; + shift; if (!@_) { croak("No features specified"); @@ -730,7 +732,7 @@ sub import { } sub unimport { - my $class = shift; + shift; # A bare C should reset to the default bundle if (!@_) { diff --git a/regen/mk_invlists.pl b/regen/mk_invlists.pl index 48215c4..42f5b1c 100644 --- a/regen/mk_invlists.pl +++ b/regen/mk_invlists.pl @@ -788,7 +788,10 @@ for my $charset (get_supported_code_pages()) { } my $sources_list = "lib/unicore/mktables.lst"; -my @sources = ($0, qw(lib/unicore/mktables lib/Unicode/UCD.pm)); +my @sources = ($0, qw(lib/unicore/mktables + lib/Unicode/UCD.pm + regen/charset_translations.pl + )); { # Depend on mktables’ own sources. It’s a shorter list of files than # those that Unicode::UCD uses. diff --git a/regen/reentr.pl b/regen/reentr.pl index 3a0afaf..f22f085 100644 --- a/regen/reentr.pl +++ b/regen/reentr.pl @@ -748,16 +748,10 @@ read_only_bottom_close_and_rename($h); # Prepare to write the reentr.c. my $c = open_print_header('reentr.c', <<'EOQ'); - */ - -/* + * * "Saruman," I said, standing away from him, "only one hand at a time can * wield the One, and you know that well, so do not trouble to say we!" * - * [p.260 of _The Lord of the Rings_, II/ii: "The Council of Elrond"] - */ - -/* * This file contains a collection of automatically created wrappers * (created by running reentr.pl) for reentrant (thread-safe) versions of * various library calls, such as getpwent_r. The wrapping is done so diff --git a/regen/regcharclass.pl b/regen/regcharclass.pl index 0e12d8e..9b989df 100755 --- a/regen/regcharclass.pl +++ b/regen/regcharclass.pl @@ -1458,7 +1458,11 @@ EOF } else { # Some of the sources for these macros come from Unicode tables my $sources_list = "lib/unicore/mktables.lst"; - my @sources = ($0, qw(lib/unicore/mktables lib/Unicode/UCD.pm)); + my @sources = ($0, qw(lib/unicore/mktables + lib/Unicode/UCD.pm + regen/regcharclass_multi_char_folds.pl + regen/charset_translations.pl + )); { # Depend on mktables’ own sources. It’s a shorter list of files than # those that Unicode::UCD uses. diff --git a/regen/warnings.pl b/regen/warnings.pl index 694cb03..be33087 100644 --- a/regen/warnings.pl +++ b/regen/warnings.pl @@ -16,7 +16,7 @@ # # This script is normally invoked from regen.pl. -$VERSION = '1.34'; +$VERSION = '1.03'; BEGIN { require 'regen/regen_lib.pl'; @@ -418,13 +418,6 @@ EOM } while () { - last if /^VERSION$/ ; - print $pm $_ ; -} - -print $pm qq(our \$VERSION = "$::VERSION";\n); - -while () { last if /^KEYWORDS$/ ; print $pm $_ ; } @@ -490,7 +483,7 @@ read_only_bottom_close_and_rename($pm); __END__ package warnings; -VERSION +our $VERSION = '1.32'; # Verify that we're called correctly so that warnings will work. # see also strict.pm. @@ -1148,10 +1141,8 @@ this snippet of code: package MyMod::Abc; sub open { - if (warnings::enabled("deprecated")) { - warnings::warn("deprecated", - "open is deprecated, use new instead"); - } + warnings::warnif("deprecated", + "open is deprecated, use new instead"); new(@_); } diff --git a/regexec.c b/regexec.c index e38c6ca..eaa60bd 100644 --- a/regexec.c +++ b/regexec.c @@ -770,9 +770,7 @@ Perl_re_intuit_start(pTHX_ * caller will have set strpos=pos()-4; we look for the substr * at position pos()-4+1, which lines up with the "a" */ - if (prog->check_offset_min == prog->check_offset_max - && !(prog->intflags & PREGf_CANY_SEEN)) - { + if (prog->check_offset_min == prog->check_offset_max) { /* Substring at constant offset from beg-of-str... */ SSize_t slen = SvCUR(check); char *s = HOP3c(strpos, prog->check_offset_min, strend); @@ -863,17 +861,10 @@ Perl_re_intuit_start(pTHX_ (IV)prog->check_end_shift); }); - if (prog->intflags & PREGf_CANY_SEEN) { - start_point= (U8*)(rx_origin + start_shift); - end_point= (U8*)(strend - end_shift); - if (start_point > end_point) - goto fail_finish; - } else { - end_point = HOP3(strend, -end_shift, strbeg); - start_point = HOPMAYBE3(rx_origin, start_shift, end_point); - if (!start_point) - goto fail_finish; - } + end_point = HOP3(strend, -end_shift, strbeg); + start_point = HOPMAYBE3(rx_origin, start_shift, end_point); + if (!start_point) + goto fail_finish; /* If the regex is absolutely anchored to either the start of the @@ -1841,14 +1832,6 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, REXEC_FBC_CLASS_SCAN(REGINCLASS(prog, c, (U8*)s)); } break; - case CANY: - REXEC_FBC_SCAN( - if (tmp && (reginfo->intuit || regtry(reginfo, &s))) - goto got_it; - else - tmp = doevery; - ); - break; case EXACTFA_NO_TRIE: /* This node only generated for non-utf8 patterns */ assert(! is_utf8_pat); @@ -2073,17 +2056,14 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, FBC_BOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8); break; case GCB_BOUND: - if (s == reginfo->strbeg) { - if (reginfo->intuit || regtry(reginfo, &s)) + if (s == reginfo->strbeg) { /* GCB always matches at begin and + end */ + if (to_complement ^ cBOOL(reginfo->intuit + || regtry(reginfo, &s))) { goto got_it; } - - /* Didn't match. Try at the next position (if there is one) */ s += (utf8_target) ? UTF8SKIP(s) : 1; - if (UNLIKELY(s >= reginfo->strend)) { - break; - } } if (utf8_target) { @@ -2094,42 +2074,44 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, while (s < strend) { GCB_enum after = getGCB_VAL_UTF8((U8*) s, (U8*) reginfo->strend); - if ( (to_complement ^ isGCB(before, after)) - && (reginfo->intuit || regtry(reginfo, &s))) - { - goto got_it; + if (to_complement ^ isGCB(before, after)) { + if (reginfo->intuit || regtry(reginfo, &s)) { + goto got_it; + } + before = after; } - before = after; s += UTF8SKIP(s); } } else { /* Not utf8. Everything is a GCB except between CR and LF */ while (s < strend) { - if ((to_complement ^ ( UCHARAT(s - 1) != '\r' - || UCHARAT(s) != '\n')) - && (reginfo->intuit || regtry(reginfo, &s))) + if (to_complement ^ (UCHARAT(s - 1) != '\r' + || UCHARAT(s) != '\n')) { - goto got_it; + if (reginfo->intuit || regtry(reginfo, &s)) { + goto got_it; + } + s++; } - s++; } } - if ((reginfo->intuit || regtry(reginfo, &s))) { + if (to_complement ^ cBOOL(reginfo->intuit || regtry(reginfo, &s))) { goto got_it; } break; case SB_BOUND: - if (s == reginfo->strbeg) { - if (reginfo->intuit || regtry(reginfo, &s)) { + if (s == reginfo->strbeg) { /* SB always matches at beginning */ + if (to_complement + ^ cBOOL(reginfo->intuit || regtry(reginfo, &s))) + { goto got_it; } + + /* Didn't match. Go try at the next position */ s += (utf8_target) ? UTF8SKIP(s) : 1; - if (UNLIKELY(s >= reginfo->strend)) { - break; - } } if (utf8_target) { @@ -2140,17 +2122,18 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, while (s < strend) { SB_enum after = getSB_VAL_UTF8((U8*) s, (U8*) reginfo->strend); - if ((to_complement ^ isSB(before, - after, - (U8*) reginfo->strbeg, - (U8*) s, - (U8*) reginfo->strend, - utf8_target)) - && (reginfo->intuit || regtry(reginfo, &s))) + if (to_complement ^ isSB(before, + after, + (U8*) reginfo->strbeg, + (U8*) s, + (U8*) reginfo->strend, + utf8_target)) { - goto got_it; + if (reginfo->intuit || regtry(reginfo, &s)) { + goto got_it; + } + before = after; } - before = after; s += UTF8SKIP(s); } } @@ -2158,17 +2141,18 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, SB_enum before = getSB_VAL_CP((U8) *(s -1)); while (s < strend) { SB_enum after = getSB_VAL_CP((U8) *s); - if ((to_complement ^ isSB(before, - after, - (U8*) reginfo->strbeg, - (U8*) s, - (U8*) reginfo->strend, - utf8_target)) - && (reginfo->intuit || regtry(reginfo, &s))) + if (to_complement ^ isSB(before, + after, + (U8*) reginfo->strbeg, + (U8*) s, + (U8*) reginfo->strend, + utf8_target)) { - goto got_it; + if (reginfo->intuit || regtry(reginfo, &s)) { + goto got_it; + } + before = after; } - before = after; s++; } } @@ -2176,7 +2160,9 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, /* Here are at the final position in the target string. The SB * value is always true here, so matches, depending on other * constraints */ - if (reginfo->intuit || regtry(reginfo, &s)) { + if (to_complement ^ cBOOL(reginfo->intuit + || regtry(reginfo, &s))) + { goto got_it; } @@ -2184,13 +2170,12 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, case WB_BOUND: if (s == reginfo->strbeg) { - if (reginfo->intuit || regtry(reginfo, &s)) { + if (to_complement ^ cBOOL(reginfo->intuit + || regtry(reginfo, &s))) + { goto got_it; } s += (utf8_target) ? UTF8SKIP(s) : 1; - if (UNLIKELY(s >= reginfo->strend)) { - break; - } } if (utf8_target) { @@ -2208,19 +2193,20 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, while (s < strend) { WB_enum after = getWB_VAL_UTF8((U8*) s, (U8*) reginfo->strend); - if ((to_complement ^ isWB(previous, - before, - after, - (U8*) reginfo->strbeg, - (U8*) s, - (U8*) reginfo->strend, - utf8_target)) - && (reginfo->intuit || regtry(reginfo, &s))) + if (to_complement ^ isWB(previous, + before, + after, + (U8*) reginfo->strbeg, + (U8*) s, + (U8*) reginfo->strend, + utf8_target)) { - goto got_it; + if (reginfo->intuit || regtry(reginfo, &s)) { + goto got_it; + } + previous = before; + before = after; } - previous = before; - before = after; s += UTF8SKIP(s); } } @@ -2229,24 +2215,27 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, WB_enum before = getWB_VAL_CP((U8) *(s -1)); while (s < strend) { WB_enum after = getWB_VAL_CP((U8) *s); - if ((to_complement ^ isWB(previous, - before, - after, - (U8*) reginfo->strbeg, - (U8*) s, - (U8*) reginfo->strend, - utf8_target)) - && (reginfo->intuit || regtry(reginfo, &s))) + if (to_complement ^ isWB(previous, + before, + after, + (U8*) reginfo->strbeg, + (U8*) s, + (U8*) reginfo->strend, + utf8_target)) { - goto got_it; + if (reginfo->intuit || regtry(reginfo, &s)) { + goto got_it; + } + previous = before; + before = after; } - previous = before; - before = after; s++; } } - if (reginfo->intuit || regtry(reginfo, &s)) { + if (to_complement ^ cBOOL(reginfo->intuit + || regtry(reginfo, &s))) + { goto got_it; } @@ -3260,7 +3249,7 @@ Perl_regexec_flags(pTHX_ REGEXP * const rx, char *stringarg, char *strend, if (minlen) { const OPCODE op = OP(progi->regstclass); /* don't bother with what can't match */ - if (PL_regkind[op] != EXACT && op != CANY && PL_regkind[op] != TRIE) + if (PL_regkind[op] != EXACT && PL_regkind[op] != TRIE) strend = HOPc(strend, -(minlen - 1)); } DEBUG_EXECUTE_r({ @@ -3816,7 +3805,7 @@ S_dump_exec_pos(pTHX_ const char *locinput, if (pref0_len > pref_len) pref0_len = pref_len; { - const int is_uni = (utf8_target && OP(scan) != CANY) ? 1 : 0; + const int is_uni = utf8_target ? 1 : 0; RE_PV_COLOR_DECL(s0,len0,is_uni,PERL_DEBUG_PAD(0), (locinput - pref_len),pref0_len, 60, 4, 5); @@ -4342,10 +4331,11 @@ S_isSB(pTHX_ SB_enum before, return FALSE; } - /* SB7. Upper ATerm × Upper */ + /* SB7. (Upper | Lower) ATerm × Upper */ if (before == SB_ATerm && after == SB_Upper) { temp_pos = lpos; - if (SB_Upper == backup_one_SB(strbeg, &temp_pos, utf8_target)) { + backup = backup_one_SB(strbeg, &temp_pos, utf8_target); + if (backup == SB_Upper || backup == SB_Lower) { return FALSE; } } @@ -4744,24 +4734,10 @@ S_backup_one_WB(pTHX_ WB_enum * previous, const U8 * const strbeg, U8 ** curpos, * to look it up */ if (*previous != WB_UNKNOWN) { wb = *previous; + *previous = WB_UNKNOWN; + /* XXX Note that doesn't change curpos, and maybe should */ - /* But we need to move backwards by one */ - if (utf8_target) { - *curpos = reghopmaybe3(*curpos, -1, strbeg); - if (! *curpos) { - *previous = WB_EDGE; - *curpos = (U8 *) strbeg; - } - else { - *previous = WB_UNKNOWN; - } - } - else { - (*curpos)--; - *previous = (*curpos <= strbeg) ? WB_EDGE : WB_UNKNOWN; - } - - /* And we always back up over these two types */ + /* But we always back up over these two types */ if (wb != WB_Extend && wb != WB_Format) { return wb; } @@ -4993,12 +4969,6 @@ S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog) sayNO; goto increment_locinput; - case CANY: /* \C */ - if (NEXTCHR_IS_EOS) - sayNO; - locinput++; - break; - case REG_ANY: /* /./ */ if ((NEXTCHR_IS_EOS) || nextchr == '\n') sayNO; @@ -5625,10 +5595,8 @@ S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog) case BOUNDU: /* /\b/u */ boundu: - if (UNLIKELY(reginfo->strbeg >= reginfo->strend)) { - match = FALSE; - } - else if (utf8_target) { + if (utf8_target) { + bound_utf8: switch((bound_type) FLAGS(scan)) { case TRADITIONAL_BOUND: @@ -8114,16 +8082,6 @@ S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p, else scan = loceol; break; - case CANY: /* Move forward bytes, unless goes off end */ - if (utf8_target && loceol - scan > max) { - - /* hadn't been adjusted in the UTF-8 case */ - scan += max; - } - else { - scan = loceol; - } - break; case EXACTL: _CHECK_AND_WARN_PROBLEMATIC_LOCALE; if (utf8_target && UTF8_IS_ABOVE_LATIN1(*scan)) { @@ -8779,10 +8737,6 @@ S_reghop3(U8 *s, SSize_t off, const U8* lim) if (UTF8_IS_CONTINUED(*s)) { while (s > lim && UTF8_IS_CONTINUATION(*s)) s--; - if (! UTF8_IS_START(*s)) { - dTHX; - Perl_croak(aTHX_ "Malformed UTF-8 character (fatal)"); - } } /* XXX could check well-formedness here */ } @@ -8807,10 +8761,6 @@ S_reghop4(U8 *s, SSize_t off, const U8* llim, const U8* rlim) if (UTF8_IS_CONTINUED(*s)) { while (s > llim && UTF8_IS_CONTINUATION(*s)) s--; - if (! UTF8_IS_START(*s)) { - dTHX; - Perl_croak(aTHX_ "Malformed UTF-8 character (fatal)"); - } } /* XXX could check well-formedness here */ } @@ -8840,10 +8790,6 @@ S_reghopmaybe3(U8* s, SSize_t off, const U8* lim) if (UTF8_IS_CONTINUED(*s)) { while (s > lim && UTF8_IS_CONTINUATION(*s)) s--; - if (! UTF8_IS_START(*s)) { - dTHX; - Perl_croak(aTHX_ "Malformed UTF-8 character (fatal)"); - } } /* XXX could check well-formedness here */ } diff --git a/regexp.h b/regexp.h index 04eeba9..4e94213 100644 --- a/regexp.h +++ b/regexp.h @@ -168,7 +168,7 @@ typedef struct regexp_engine { const U32 flags, re_scream_pos_data *data); SV* (*checkstr) (pTHX_ REGEXP * const rx); - void (*free) (pTHX_ REGEXP * const rx); + void (*rxfree) (pTHX_ REGEXP * const rx); void (*numbered_buff_FETCH) (pTHX_ REGEXP * const rx, const I32 paren, SV * const sv); void (*numbered_buff_STORE) (pTHX_ REGEXP * const rx, const I32 paren, diff --git a/regnodes.h b/regnodes.h index 3c9b991..db32920 100644 --- a/regnodes.h +++ b/regnodes.h @@ -6,8 +6,8 @@ /* Regops and State definitions */ -#define REGNODE_MAX 93 -#define REGMATCH_STATE_MAX 133 +#define REGNODE_MAX 92 +#define REGMATCH_STATE_MAX 132 #define END 0 /* 0000 End of program. */ #define SUCCEED 1 /* 0x01 Return from a subroutine, basically. */ @@ -29,82 +29,81 @@ #define NBOUNDA 15 /* 0x0f Match "" betweeen any \w\w or \W\W, where \w is [_a-zA-Z0-9] */ #define REG_ANY 16 /* 0x10 Match any one character (except newline). */ #define SANY 17 /* 0x11 Match any one character. */ -#define CANY 18 /* 0x12 Match any one byte. */ -#define ANYOF 19 /* 0x13 Match character in (or not in) this class, single char match only */ -#define ANYOFL 20 /* 0x14 Like ANYOF, but /l is in effect */ -#define POSIXD 21 /* 0x15 Some [[:class:]] under /d; the FLAGS field gives which one */ -#define POSIXL 22 /* 0x16 Some [[:class:]] under /l; the FLAGS field gives which one */ -#define POSIXU 23 /* 0x17 Some [[:class:]] under /u; the FLAGS field gives which one */ -#define POSIXA 24 /* 0x18 Some [[:class:]] under /a; the FLAGS field gives which one */ -#define NPOSIXD 25 /* 0x19 complement of POSIXD, [[:^class:]] */ -#define NPOSIXL 26 /* 0x1a complement of POSIXL, [[:^class:]] */ -#define NPOSIXU 27 /* 0x1b complement of POSIXU, [[:^class:]] */ -#define NPOSIXA 28 /* 0x1c complement of POSIXA, [[:^class:]] */ -#define CLUMP 29 /* 0x1d Match any extended grapheme cluster sequence */ -#define BRANCH 30 /* 0x1e Match this alternative, or the next... */ -#define EXACT 31 /* 0x1f Match this string (preceded by length). */ -#define EXACTL 32 /* 0x20 Like EXACT, but /l is in effect. */ -#define EXACTF 33 /* 0x21 Match this non-UTF-8 string (not guaranteed to be folded) using /id rules (w/len). */ -#define EXACTFL 34 /* 0x22 Match this string (not guaranteed to be folded) using /il rules (w/len). */ -#define EXACTFU 35 /* 0x23 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 36 /* 0x24 Match this string (not guaranteed to be folded) using /iaa rules (w/len). */ -#define EXACTFU_SS 37 /* 0x25 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 EXACTFLU8 38 /* 0x26 Rare cirucmstances: like EXACTFU, but is under /l, UTF-8, folded, and everything in it is above 255. */ -#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 LONGJMP 61 /* 0x3d Jump far away. */ -#define BRANCHJ 62 /* 0x3e BRANCH with long offset. */ -#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 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. */ +#define ANYOF 18 /* 0x12 Match character in (or not in) this class, single char match only */ +#define ANYOFL 19 /* 0x13 Like ANYOF, but /l is in effect */ +#define POSIXD 20 /* 0x14 Some [[:class:]] under /d; the FLAGS field gives which one */ +#define POSIXL 21 /* 0x15 Some [[:class:]] under /l; the FLAGS field gives which one */ +#define POSIXU 22 /* 0x16 Some [[:class:]] under /u; the FLAGS field gives which one */ +#define POSIXA 23 /* 0x17 Some [[:class:]] under /a; the FLAGS field gives which one */ +#define NPOSIXD 24 /* 0x18 complement of POSIXD, [[:^class:]] */ +#define NPOSIXL 25 /* 0x19 complement of POSIXL, [[:^class:]] */ +#define NPOSIXU 26 /* 0x1a complement of POSIXU, [[:^class:]] */ +#define NPOSIXA 27 /* 0x1b complement of POSIXA, [[:^class:]] */ +#define CLUMP 28 /* 0x1c Match any extended grapheme cluster sequence */ +#define BRANCH 29 /* 0x1d Match this alternative, or the next... */ +#define EXACT 30 /* 0x1e Match this string (preceded by length). */ +#define EXACTL 31 /* 0x1f Like EXACT, but /l is in effect. */ +#define EXACTF 32 /* 0x20 Match this non-UTF-8 string (not guaranteed to be folded) using /id rules (w/len). */ +#define EXACTFL 33 /* 0x21 Match this string (not guaranteed to be folded) using /il rules (w/len). */ +#define EXACTFU 34 /* 0x22 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 35 /* 0x23 Match this string (not guaranteed to be folded) using /iaa rules (w/len). */ +#define EXACTFU_SS 36 /* 0x24 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 EXACTFLU8 37 /* 0x25 Rare cirucmstances: like EXACTFU, but is under /l, UTF-8, folded, and everything in it is above 255. */ +#define EXACTFA_NO_TRIE 38 /* 0x26 Match this string (which is not trie-able; not guaranteed to be folded) using /iaa rules (w/len). */ +#define NOTHING 39 /* 0x27 Match empty string. */ +#define TAIL 40 /* 0x28 Match empty string. Can jump here from outside. */ +#define STAR 41 /* 0x29 Match this (simple) thing 0 or more times. */ +#define PLUS 42 /* 0x2a Match this (simple) thing 1 or more times. */ +#define CURLY 43 /* 0x2b Match this simple thing {n,m} times. */ +#define CURLYN 44 /* 0x2c Capture next-after-this simple thing */ +#define CURLYM 45 /* 0x2d Capture this medium-complex thing {n,m} times. */ +#define CURLYX 46 /* 0x2e Match this complex thing {n,m} times. */ +#define WHILEM 47 /* 0x2f Do curly processing and see if rest matches. */ +#define OPEN 48 /* 0x30 Mark this point in input as start of #n. */ +#define CLOSE 49 /* 0x31 Analogous to OPEN. */ +#define REF 50 /* 0x32 Match some already matched string */ +#define REFF 51 /* 0x33 Match already matched string, folded using native charset rules for non-utf8 */ +#define REFFL 52 /* 0x34 Match already matched string, folded in loc. */ +#define REFFU 53 /* 0x35 Match already matched string, folded using unicode rules for non-utf8 */ +#define REFFA 54 /* 0x36 Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */ +#define NREF 55 /* 0x37 Match some already matched string */ +#define NREFF 56 /* 0x38 Match already matched string, folded using native charset rules for non-utf8 */ +#define NREFFL 57 /* 0x39 Match already matched string, folded in loc. */ +#define NREFFU 58 /* 0x3a Match already matched string, folded using unicode rules for non-utf8 */ +#define NREFFA 59 /* 0x3b Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */ +#define LONGJMP 60 /* 0x3c Jump far away. */ +#define BRANCHJ 61 /* 0x3d BRANCH with long offset. */ +#define IFMATCH 62 /* 0x3e Succeeds if the following matches. */ +#define UNLESSM 63 /* 0x3f Fails if the following matches. */ +#define SUSPEND 64 /* 0x40 "Independent" sub-RE. */ +#define IFTHEN 65 /* 0x41 Switch, should be preceded by switcher. */ +#define GROUPP 66 /* 0x42 Whether the group matched. */ +#define EVAL 67 /* 0x43 Execute some Perl code. */ +#define MINMOD 68 /* 0x44 Next operator is not greedy. */ +#define LOGICAL 69 /* 0x45 Next opcode should set the flag only. */ +#define RENUM 70 /* 0x46 Group with independently numbered parens. */ +#define TRIE 71 /* 0x47 Match many EXACT(F[ALU]?)? at once. flags==type */ +#define TRIEC 72 /* 0x48 Same as TRIE, but with embedded charclass data */ +#define AHOCORASICK 73 /* 0x49 Aho Corasick stclass. flags==type */ +#define AHOCORASICKC 74 /* 0x4a Same as AHOCORASICK, but with embedded charclass data */ +#define GOSUB 75 /* 0x4b recurse to paren arg1 at (signed) ofs arg2 */ +#define GOSTART 76 /* 0x4c recurse to start of pattern */ +#define NGROUPP 77 /* 0x4d Whether the group matched. */ +#define INSUBP 78 /* 0x4e Whether we are in a specific recurse. */ +#define DEFINEP 79 /* 0x4f Never execute directly. */ +#define ENDLIKE 80 /* 0x50 Used only for the type field of verbs */ +#define OPFAIL 81 /* 0x51 Same as (?!) */ +#define ACCEPT 82 /* 0x52 Accepts the current matched string. */ +#define VERB 83 /* 0x53 Used only for the type field of verbs */ +#define PRUNE 84 /* 0x54 Pattern fails at this startpoint if no-backtracking through this */ +#define MARKPOINT 85 /* 0x55 Push the current location for rollback by cut. */ +#define SKIP 86 /* 0x56 On failure skip forward (to the mark) before retrying */ +#define COMMIT 87 /* 0x57 Pattern fails outright if backtracking through this */ +#define CUTGROUP 88 /* 0x58 On failure go to the next alternation in the group */ +#define KEEPS 89 /* 0x59 $& begins here. */ +#define LNBREAK 90 /* 0x5a generic newline pattern */ +#define OPTIMIZED 91 /* 0x5b Placeholder for dump. */ +#define PSEUDO 92 /* 0x5c 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 */ @@ -171,7 +170,6 @@ EXTCONST U8 PL_regkind[] = { NBOUND, /* NBOUNDA */ REG_ANY, /* REG_ANY */ REG_ANY, /* SANY */ - REG_ANY, /* CANY */ ANYOF, /* ANYOF */ ANYOF, /* ANYOFL */ POSIXD, /* POSIXD */ @@ -313,7 +311,6 @@ static const U8 regarglen[] = { 0, /* NBOUNDA */ 0, /* REG_ANY */ 0, /* SANY */ - 0, /* CANY */ EXTRA_SIZE(struct regnode_1), /* ANYOF */ EXTRA_SIZE(struct regnode_1), /* ANYOFL */ 0, /* POSIXD */ @@ -412,7 +409,6 @@ static const char reg_off_by_arg[] = { 0, /* NBOUNDA */ 0, /* REG_ANY */ 0, /* SANY */ - 0, /* CANY */ 0, /* ANYOF */ 0, /* ANYOFL */ 0, /* POSIXD */ @@ -516,82 +512,81 @@ EXTCONST char * const PL_reg_name[] = { "NBOUNDA", /* 0x0f */ "REG_ANY", /* 0x10 */ "SANY", /* 0x11 */ - "CANY", /* 0x12 */ - "ANYOF", /* 0x13 */ - "ANYOFL", /* 0x14 */ - "POSIXD", /* 0x15 */ - "POSIXL", /* 0x16 */ - "POSIXU", /* 0x17 */ - "POSIXA", /* 0x18 */ - "NPOSIXD", /* 0x19 */ - "NPOSIXL", /* 0x1a */ - "NPOSIXU", /* 0x1b */ - "NPOSIXA", /* 0x1c */ - "CLUMP", /* 0x1d */ - "BRANCH", /* 0x1e */ - "EXACT", /* 0x1f */ - "EXACTL", /* 0x20 */ - "EXACTF", /* 0x21 */ - "EXACTFL", /* 0x22 */ - "EXACTFU", /* 0x23 */ - "EXACTFA", /* 0x24 */ - "EXACTFU_SS", /* 0x25 */ - "EXACTFLU8", /* 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 */ - "LONGJMP", /* 0x3d */ - "BRANCHJ", /* 0x3e */ - "IFMATCH", /* 0x3f */ - "UNLESSM", /* 0x40 */ - "SUSPEND", /* 0x41 */ - "IFTHEN", /* 0x42 */ - "GROUPP", /* 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 */ + "ANYOF", /* 0x12 */ + "ANYOFL", /* 0x13 */ + "POSIXD", /* 0x14 */ + "POSIXL", /* 0x15 */ + "POSIXU", /* 0x16 */ + "POSIXA", /* 0x17 */ + "NPOSIXD", /* 0x18 */ + "NPOSIXL", /* 0x19 */ + "NPOSIXU", /* 0x1a */ + "NPOSIXA", /* 0x1b */ + "CLUMP", /* 0x1c */ + "BRANCH", /* 0x1d */ + "EXACT", /* 0x1e */ + "EXACTL", /* 0x1f */ + "EXACTF", /* 0x20 */ + "EXACTFL", /* 0x21 */ + "EXACTFU", /* 0x22 */ + "EXACTFA", /* 0x23 */ + "EXACTFU_SS", /* 0x24 */ + "EXACTFLU8", /* 0x25 */ + "EXACTFA_NO_TRIE", /* 0x26 */ + "NOTHING", /* 0x27 */ + "TAIL", /* 0x28 */ + "STAR", /* 0x29 */ + "PLUS", /* 0x2a */ + "CURLY", /* 0x2b */ + "CURLYN", /* 0x2c */ + "CURLYM", /* 0x2d */ + "CURLYX", /* 0x2e */ + "WHILEM", /* 0x2f */ + "OPEN", /* 0x30 */ + "CLOSE", /* 0x31 */ + "REF", /* 0x32 */ + "REFF", /* 0x33 */ + "REFFL", /* 0x34 */ + "REFFU", /* 0x35 */ + "REFFA", /* 0x36 */ + "NREF", /* 0x37 */ + "NREFF", /* 0x38 */ + "NREFFL", /* 0x39 */ + "NREFFU", /* 0x3a */ + "NREFFA", /* 0x3b */ + "LONGJMP", /* 0x3c */ + "BRANCHJ", /* 0x3d */ + "IFMATCH", /* 0x3e */ + "UNLESSM", /* 0x3f */ + "SUSPEND", /* 0x40 */ + "IFTHEN", /* 0x41 */ + "GROUPP", /* 0x42 */ + "EVAL", /* 0x43 */ + "MINMOD", /* 0x44 */ + "LOGICAL", /* 0x45 */ + "RENUM", /* 0x46 */ + "TRIE", /* 0x47 */ + "TRIEC", /* 0x48 */ + "AHOCORASICK", /* 0x49 */ + "AHOCORASICKC", /* 0x4a */ + "GOSUB", /* 0x4b */ + "GOSTART", /* 0x4c */ + "NGROUPP", /* 0x4d */ + "INSUBP", /* 0x4e */ + "DEFINEP", /* 0x4f */ + "ENDLIKE", /* 0x50 */ + "OPFAIL", /* 0x51 */ + "ACCEPT", /* 0x52 */ + "VERB", /* 0x53 */ + "PRUNE", /* 0x54 */ + "MARKPOINT", /* 0x55 */ + "SKIP", /* 0x56 */ + "COMMIT", /* 0x57 */ + "CUTGROUP", /* 0x58 */ + "KEEPS", /* 0x59 */ + "LNBREAK", /* 0x5a */ + "OPTIMIZED", /* 0x5b */ + "PSEUDO", /* 0x5c */ /* ------------ States ------------- */ "TRIE_next", /* REGNODE_MAX +0x01 */ "TRIE_next_fail", /* REGNODE_MAX +0x02 */ @@ -695,7 +690,6 @@ EXTCONST char * const PL_reg_intflags_name[] = { "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_MBOL", /* 0x00000400 - PREGf_ANCH_MBOL */ @@ -705,7 +699,7 @@ EXTCONST char * const PL_reg_intflags_name[] = { #endif /* DOINIT */ #ifdef DEBUGGING -# define REG_INTFLAGS_NAME_SIZE 13 +# define REG_INTFLAGS_NAME_SIZE 12 #endif /* The following have no fixed length. U8 so we can do strchr() on it. */ @@ -726,7 +720,7 @@ EXTCONST U8 PL_varies[] __attribute__deprecated__ = { EXTCONST U8 PL_varies_bitmask[]; #else EXTCONST U8 PL_varies_bitmask[] = { - 0x00, 0x00, 0x00, 0x60, 0x00, 0xFC, 0xF9, 0x5F, 0x06, 0x00, 0x00, 0x00 + 0x00, 0x00, 0x00, 0x30, 0x00, 0xFE, 0xFC, 0x2F, 0x03, 0x00, 0x00, 0x00 }; #endif /* DOINIT */ @@ -738,8 +732,8 @@ EXTCONST U8 PL_varies_bitmask[] = { EXTCONST U8 PL_simple[] __attribute__deprecated__; #else EXTCONST U8 PL_simple[] __attribute__deprecated__ = { - REG_ANY, SANY, CANY, ANYOF, ANYOFL, POSIXD, POSIXL, POSIXU, POSIXA, - NPOSIXD, NPOSIXL, NPOSIXU, NPOSIXA, + REG_ANY, SANY, ANYOF, ANYOFL, POSIXD, POSIXL, POSIXU, POSIXA, NPOSIXD, + NPOSIXL, NPOSIXU, NPOSIXA, 0 }; #endif /* DOINIT */ @@ -748,7 +742,7 @@ EXTCONST U8 PL_simple[] __attribute__deprecated__ = { EXTCONST U8 PL_simple_bitmask[]; #else EXTCONST U8 PL_simple_bitmask[] = { - 0x00, 0x00, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + 0x00, 0x00, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; #endif /* DOINIT */ diff --git a/sv.c b/sv.c index 263d27b..0990be2 100644 --- a/sv.c +++ b/sv.c @@ -3974,15 +3974,9 @@ S_glob_assign_glob(pTHX_ SV *const dstr, SV *const sstr, const int dtype) SvREFCNT_inc_simple_void_NN(sv_2mortal(dstr)); } - /* freeing dstr's GP might free sstr (e.g. *x = $x), - * so temporarily protect it */ - ENTER; - SAVEFREESV(SvREFCNT_inc_simple_NN(sstr)); gp_free(MUTABLE_GV(dstr)); GvINTRO_off(dstr); /* one-shot flag */ GvGP_set(dstr, gp_ref(GvGP(sstr))); - LEAVE; - if (SvTAINTED(sstr)) SvTAINT(dstr); if (GvIMPORTED(dstr) != GVf_IMPORTED @@ -10872,7 +10866,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen, * The non-double-double-long-double overshoots since all bits of NV * are not mantissa bits, there are also exponent bits. */ #ifdef LONGDOUBLE_DOUBLEDOUBLE -# define VHEX_SIZE (3+DOUBLEDOUBLE_MAXBITS/4) +# define VHEX_SIZE (1+DOUBLEDOUBLE_MAXBITS/4) #else # define VHEX_SIZE (1+(NVSIZE * 8)/4) #endif @@ -10969,7 +10963,7 @@ S_hextract(pTHX_ const NV nv, int* exponent, U8* vhex, U8* vend) /* HEXTRACTSIZE is the maximum number of xdigits. */ #if defined(USE_LONG_DOUBLE) && defined(LONGDOUBLE_DOUBLEDOUBLE) -# define HEXTRACTSIZE (2+DOUBLEDOUBLE_MAXBITS/4) +# define HEXTRACTSIZE (DOUBLEDOUBLE_MAXBITS/4) #else # define HEXTRACTSIZE 2 * NVSIZE #endif @@ -10977,10 +10971,8 @@ S_hextract(pTHX_ const NV nv, int* exponent, U8* vhex, U8* vend) const U8* vmaxend = vhex + HEXTRACTSIZE; PERL_UNUSED_VAR(ix); /* might happen */ (void)Perl_frexp(PERL_ABS(nv), exponent); - if (vend && (vend <= vhex || vend > vmaxend)) { - /* diag_listed_as: Hexadecimal float: internal error (%s) */ - Perl_croak(aTHX_ "Hexadecimal float: internal error (entry)"); - } + if (vend && (vend <= vhex || vend > vmaxend)) + Perl_croak(aTHX_ "Hexadecimal float: internal error"); { /* First check if using long doubles. */ #if defined(USE_LONG_DOUBLE) && (NVSIZE > DOUBLESIZE) @@ -11186,10 +11178,8 @@ S_hextract(pTHX_ const NV nv, int* exponent, U8* vhex, U8* vend) * which is convenient since the HEXTRACTSIZE is tricky * for double-double. */ ixmin < 0 || ixmax >= NVSIZE || - (vend && v != vend)) { - /* diag_listed_as: Hexadecimal float: internal error (%s) */ - Perl_croak(aTHX_ "Hexadecimal float: internal error (overflow)"); - } + (vend && v != vend)) + Perl_croak(aTHX_ "Hexadecimal float: internal error"); return v; } @@ -11532,12 +11522,9 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p tryasterisk: if (*q == '*') { q++; - if ( (ewix = expect_number(&q)) ) { - if (*q++ == '$') - no_redundant_warning = TRUE; - else + if ( (ewix = expect_number(&q)) ) + if (*q++ != '$') goto unknown; - } asterisk = TRUE; } if (*q == 'v') { @@ -12298,7 +12285,6 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p U8* v = vhex; /* working pointer to vhex */ U8* vend; /* pointer to one beyond last digit of vhex */ U8* vfnz = NULL; /* first non-zero */ - U8* vlnz = NULL; /* last non-zero */ const bool lower = (c == 'a'); /* At output the values of vhex (up to vend) will * be mapped through the xdig to get the actual @@ -12306,7 +12292,6 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p const char* xdig = PL_hexdigit; int zerotail = 0; /* how many extra zeros to append */ int exponent = 0; /* exponent of the floating point input */ - bool hexradix = FALSE; /* should we output the radix */ /* XXX: denormals, NaN, Inf. * @@ -12331,9 +12316,7 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p # endif #endif - if (fv < 0 - || Perl_signbit(nv) - ) + if (fv < 0) *p++ = '-'; else if (plus) *p++ = plus; @@ -12355,6 +12338,8 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p } if (vfnz) { + U8* vlnz = NULL; /* The last non-zero. */ + /* Find the last non-zero xdigit. */ for (v = vend - 1; v >= vhex; v--) { if (*v) { @@ -12414,24 +12399,9 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p v = vhex; *p++ = xdig[*v++]; - /* If there are non-zero xdigits, the radix - * is output after the first one. */ - if (vfnz < vlnz) { - hexradix = TRUE; - } - } - else { - *p++ = '0'; - exponent = 0; - zerotail = precis; - } - - /* The radix is always output if precis, or if alt. */ - if (precis > 0 || alt) { - hexradix = TRUE; - } - - if (hexradix) { + /* The radix is always output after the first + * non-zero xdigit, or if alt. */ + if (vfnz < vlnz || alt) { #ifndef USE_LOCALE_NUMERIC *p++ = '.'; #else @@ -12447,17 +12417,17 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p } RESTORE_LC_NUMERIC(); #endif - } + } - if (vlnz) { while (v <= vlnz) *p++ = xdig[*v++]; - } - if (zerotail > 0) { - while (zerotail--) { + while (zerotail--) + *p++ = '0'; + } + else { *p++ = '0'; - } + exponent = 0; } elen = p - PL_efloatbuf; @@ -12568,7 +12538,7 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p elen = quadmath_snprintf(PL_efloatbuf, PL_efloatsize, qfmt, nv); if ((IV)elen == -1) - Perl_croak_nocontext("panic: quadmath_snprintf failed, format \"%s\"", qfmt); + Perl_croak_nocontext("panic: quadmath_snprintf failed, format \"%s|'", qfmt); if (qfmt != ptr) Safefree(qfmt); } @@ -14477,6 +14447,9 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags, # ifdef DEBUG_LEAKING_SCALARS PL_sv_serial = (((UV)my_perl >> 2) & 0xfff) * 1000000; # endif +# ifdef PERL_TRACE_OPS + Zero(PL_op_exec_cnt, OP_max+2, UV); +# endif #else /* !DEBUGGING */ Zero(my_perl, 1, PerlInterpreter); #endif /* DEBUGGING */ @@ -16227,10 +16200,10 @@ Print appropriate "Use of uninitialized variable" warning. void Perl_report_uninit(pTHX_ const SV *uninit_sv) { - if (PL_op) { - SV* varname = NULL; - const char *desc; + const char *desc = NULL; + SV* varname = NULL; + if (PL_op) { desc = PL_op->op_type == OP_STRINGIFY && PL_op->op_folded ? "join or string" : OP_DESC(PL_op); @@ -16239,21 +16212,26 @@ Perl_report_uninit(pTHX_ const SV *uninit_sv) if (varname) sv_insert(varname, 0, 0, " ", 1); } - /* PL_warn_uninit_sv is constant */ - GCC_DIAG_IGNORE(-Wformat-nonliteral); - /* diag_listed_as: Use of uninitialized value%s */ - Perl_warner(aTHX_ packWARN(WARN_UNINITIALIZED), PL_warn_uninit_sv, - SVfARG(varname ? varname : &PL_sv_no), - " in ", desc); - GCC_DIAG_RESTORE; - } - else { - /* PL_warn_uninit is constant */ - GCC_DIAG_IGNORE(-Wformat-nonliteral); - Perl_warner(aTHX_ packWARN(WARN_UNINITIALIZED), PL_warn_uninit, - "", "", ""); - GCC_DIAG_RESTORE; } + else if (PL_curstackinfo->si_type == PERLSI_SORT + && CxMULTICALL(&cxstack[cxstack_ix])) + { + /* we've reached the end of a sort block or sub, + * and the uninit value is probably what that code returned */ + desc = "sort"; + } + + /* PL_warn_uninit_sv is constant */ + GCC_DIAG_IGNORE(-Wformat-nonliteral); + if (desc) + /* diag_listed_as: Use of uninitialized value%s */ + Perl_warner(aTHX_ packWARN(WARN_UNINITIALIZED), PL_warn_uninit_sv, + SVfARG(varname ? varname : &PL_sv_no), + " in ", desc); + else + Perl_warner(aTHX_ packWARN(WARN_UNINITIALIZED), PL_warn_uninit, + "", "", ""); + GCC_DIAG_RESTORE; } /* diff --git a/sv.h b/sv.h index 335b874..d0d8b65 100644 --- a/sv.h +++ b/sv.h @@ -365,6 +365,7 @@ perform the upgrade if necessary. See C. #define SVp_NOK 0x00002000 /* has valid non-public numeric value */ #define SVp_POK 0x00004000 /* has valid non-public pointer value */ #define SVp_SCREAM 0x00008000 /* method name is DOES */ + /* eval cx text is ref counted */ #define SVphv_CLONEABLE SVp_SCREAM /* PVHV (stashes) clone its objects */ #define SVpgv_GP SVp_SCREAM /* GV has a valid GP */ #define SVprv_PCS_IMPORTED SVp_SCREAM /* RV is a proxy for a constant @@ -831,7 +832,7 @@ Set the current length of the string which is in the SV. See C and C. =for apidoc Am|void|SvLEN_set|SV* sv|STRLEN len -Set the size of the string buffer for the SV. See C. +Set the actual length of the string which is in the SV. See C. =cut */ diff --git a/symbian/config.sh b/symbian/config.sh index a114f06..a5aa477 100644 --- a/symbian/config.sh +++ b/symbian/config.sh @@ -558,7 +558,10 @@ db_version_patch='0' direntrytype='struct dirent' dlext='dll' dlsrc='dl_symbian.xs' +doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f' doublekind='4' +doublemantbits='52' +doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f' doublesize='8' drand01="((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15))" drand48_r_proto='0' @@ -730,7 +733,10 @@ libc='stdlib' libm_lib_version='0' libperl='libperl.a' localtime_r_proto='0' +longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' longdblkind=0 +longdblmantbits='64' +longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' longdblsize=8 longlongsize=8 longsize='4' @@ -757,6 +763,7 @@ nv_preserves_uv_bits='0' nveformat='"e"' nvfformat='"f"' nvgformat='"g"' +nvmantbits='52' nvsize='8' nvtype='double' o_nonblock='O_NONBLOCK' diff --git a/symbian/symbianish.h b/symbian/symbianish.h index a76a755..da5332c 100644 --- a/symbian/symbianish.h +++ b/symbian/symbianish.h @@ -142,11 +142,7 @@ pid_t wait(int *status); # define PERL_UNSET_VARS(v) symbian_unset_vars() #endif /* #ifdef PERL_GLOBAL_STRUCT_PRIVATE */ -#undef PERL_EXPORT_C -#define PERL_EXPORT_C EXPORT_C /* for perlio.h */ #define PERL_CALLCONV EXPORT_C /* for proto.h */ -#undef PERL_XS_EXPORT_C -#define PERL_XS_EXPORT_C EXPORT_C #ifndef PERL_CORE #define PERL_CORE /* for WINS builds under VC */ diff --git a/t/base/lex.t b/t/base/lex.t index 7eb910b..8862337 100644 --- a/t/base/lex.t +++ b/t/base/lex.t @@ -1,6 +1,6 @@ #!./perl -print "1..104\n"; +print "1..103\n"; $x = 'x'; @@ -517,9 +517,3 @@ eval q|s##[}#e|; eval '0; qq{@{sub{]]}}}}}'; print "ok $test - 124385\n"; $test++; } - -{ - # Used to crash [perl #125350] - eval ('qq{@{[0}*sub{]]}}}=sub{0' . "\c["); - print "ok $test - 125350\n"; $test++; -} diff --git a/t/io/eintr.t b/t/io/eintr.t index ca15232..1a81cdf 100644 --- a/t/io/eintr.t +++ b/t/io/eintr.t @@ -102,10 +102,10 @@ ok(close($in), 'read/die: close status'); # consistently failing. At exactly 0x100000 it started passing # again. Now we're asking the kernel what the pipe buffer is, and if # that fails, hoping this number is bigger than any pipe buffer. -my $surely_this_arbitrary_number_is_fine = eval { +my $surely_this_arbitrary_number_is_fine = (eval { use Fcntl qw(F_GETPIPE_SZ); - fcntl($out, F_GETPIPE_SZ, 0) + 1; -} || 0x100000; + fcntl($out, F_GETPIPE_SZ, 0); +} || 0xfffff) + 1; # close during print diff --git a/t/io/errno.t b/t/io/errno.t index d8fc4b2..8d0f4b2 100644 --- a/t/io/errno.t +++ b/t/io/errno.t @@ -28,10 +28,8 @@ for my $perlio ('perlio', 'stdio') { SKIP: for my $test_in ("test\n", "test") { skip("Guaranteed newline at EOF on VMS", 4) if $^O eq 'VMS' && $test_in eq 'test'; - # perl #71504 added skip in openbsd+threads+stdio; - # then commit 23705063 made -lpthread the default. - skip("[perl #71504] OpenBSD test failures in errno.t with ithreads and perlio]; [perl #126306: openbsd t/io/errno.t tests fail randomly]", 8) - if $^O eq 'openbsd' && $perlio eq 'stdio'; + skip("[perl #71504] OpenBSD test failures in errno.t with ithreads and perlio", 8) + if $^O eq 'openbsd' && $Config{useithreads} && $perlio eq 'stdio'; my $test_in_esc = $test_in; $test_in_esc =~ s/\n/\\n/g; for my $rs_code ('', '$/=undef', '$/=\2', '$/=\1024') { diff --git a/t/io/open.t b/t/io/open.t index 3817bdd..cffef14 100644 --- a/t/io/open.t +++ b/t/io/open.t @@ -10,7 +10,7 @@ $| = 1; use warnings; use Config; -plan tests => 153; +plan tests => 156; my $Perl = which_perl(); @@ -476,6 +476,14 @@ pass("no crash when open autovivifies glob in freed package"); is((stat $temp)[9], $final_mtime, "nothing changes its mtime"); } +# [perl #125115] Dup to closed filehandle creates file named GLOB(0x...) +{ + ok(open(my $fh, "<", "TEST"), "open a handle"); + ok(close $fh, "and close it again"); + ok(!open(my $fh2, ">&", $fh), "should fail to dup the closed handle"); + # clean up if we failed + unlink "$fh"; +} package OverloadTest; use overload '""' => sub { ${$_[0]} }; diff --git a/t/io/semctl.t b/t/io/semctl.t index 2e970a7..53ae296 100644 --- a/t/io/semctl.t +++ b/t/io/semctl.t @@ -10,8 +10,6 @@ use strict; use warnings; skip_all('no SysV semaphores on this platform') if !$Config{d_sem}; -skip_all('SysV semaphore structures not detected') - if !$Config{d_semctl_semid_ds} && !$Config{d_semctl_semun}; my @warnings; { diff --git a/t/lib/Cname.pm b/t/lib/Cname.pm index 4a1bc16..dad356a 100644 --- a/t/lib/Cname.pm +++ b/t/lib/Cname.pm @@ -24,16 +24,6 @@ sub translator { if ( $str eq 'TOO-LONG-STR') { return 'A' x 256; } - if ($str eq 'MALFORMED') { - $str = "\xDF\xDFabc"; - utf8::upgrade($str); - - no warnings 'deprecated'; - - # Create a malformed in first and second characters. - $str =~ s/^\C/A/; - $str =~ s/^(\C\C)\C/$1A/; - } return $str; } diff --git a/t/lib/croak/pp_sys b/t/lib/croak/pp_sys deleted file mode 100644 index 739b7e9..0000000 --- a/t/lib/croak/pp_sys +++ /dev/null @@ -1,16 +0,0 @@ -__END__ -# pp_sys.c -# NAME pipe() croaks on bad left side [perl #126480] -# SKIP ? use Config; !$Config{d_pipe} && "No pipe() available" -my $fh; -pipe($$5, $fh) -EXPECT -Bad symbol for filehandle at - line 3. -######## -# NAME pipe() croaks on bad right side [perl #126480] -# SKIP ? use Config; !$Config{d_pipe} && "No pipe() available" -my $fh; -pipe($fh, $$5) -EXPECT -Bad symbol for filehandle at - line 2. -######## diff --git a/t/lib/croak/toke b/t/lib/croak/toke index 97dbea6..a061ac8 100644 --- a/t/lib/croak/toke +++ b/t/lib/croak/toke @@ -37,24 +37,6 @@ syntax error at - line 1, near "0$#" Missing right curly or square bracket at - line 1, at end of line Execution of - aborted due to compilation errors. ######## -# NAME (Missing operator before @foo) [perl #123737] -0@foo -EXPECT -Array found where operator expected at - line 1, near "0@foo" - (Missing operator before @foo?) -syntax error at - line 1, near "0@foo -" -Execution of - aborted due to compilation errors. -######## -# NAME (Missing operator before @{) [perl #123737] -0@{ -EXPECT -Array found where operator expected at - line 1, near "0@{" - (Missing operator before @{?) -syntax error at - line 1, near "0@" -Missing right curly or square bracket at - line 1, at end of line -Execution of - aborted due to compilation errors. -######## # NAME Unterminated here-doc in string eval eval "< [perl #125341] -BEGIN <> -EXPECT -Illegal declaration of subroutine BEGIN at - line 1. diff --git a/t/lib/strict/subs b/t/lib/strict/subs index bad22c6..095adee 100644 --- a/t/lib/strict/subs +++ b/t/lib/strict/subs @@ -458,13 +458,3 @@ use strict 'subs'; EXPECT Bareword "FOO" not allowed while "strict subs" in use at - line 3. Execution of - aborted due to compilation errors. -######## -# [perl #126981] Strict subs vs. multideref -sub CONST () { 'some_key' } -my $h; -my $v1 = $h->{+CONST_TYPO}; -use strict 'subs'; -my $v2 = $h->{+CONST_TYPO}; -EXPECT -Bareword "CONST_TYPO" not allowed while "strict subs" in use at - line 6. -Execution of - aborted due to compilation errors. diff --git a/t/lib/warnings/7fatal b/t/lib/warnings/7fatal index 87f3fd0..40c649f 100644 --- a/t/lib/warnings/7fatal +++ b/t/lib/warnings/7fatal @@ -548,3 +548,21 @@ syntax error at - line 4, near "1 {" "my" variable $x masks earlier declaration in same statement at - line 6. syntax error at - line 7, near "}" Execution of - aborted due to compilation errors. +######## + +# fatal warnings in DESTROY should be made non-fatal [perl #123398] +# This test will blow up your memory with SEGV without the patch +package Foo; +use strict; use utf8; use warnings FATAL => 'all'; +sub new { + return bless{ 'field' => undef }, 'Foo'; +} +sub DESTROY { + my $self = shift; + $self->{'field'}->missing_method; +} +package main; +my $foo = new Foo; +undef($foo); +EXPECT + (in cleanup) Can't call method "missing_method" on an undefined value at - line 11. diff --git a/t/lib/warnings/regcomp b/t/lib/warnings/regcomp index d99e155..b9943a0 100644 --- a/t/lib/warnings/regcomp +++ b/t/lib/warnings/regcomp @@ -36,10 +36,3 @@ $a = qr/[\c,]/; EXPECT "\c," is more clearly written simply as "l" at - line 9. "\c," is more clearly written simply as "l" at - line 10. -######## -# NAME [perl #126141] -# OPTION fatal -eval {/$_/}, print "$_ ==> ", $@ || "OK!\n" for "]]]]]]]]][\\", "]]]]][\\" -EXPECT -]]]]]]]]][\ ==> Unmatched [ in regex; marked by <-- HERE in m/]]]]]]]]][\ <-- HERE / at - line 2. -]]]]][\ ==> Unmatched [ in regex; marked by <-- HERE in m/]]]]][\ <-- HERE / at - line 2. diff --git a/t/lib/warnings/regexec b/t/lib/warnings/regexec index 147254e..750880e 100644 --- a/t/lib/warnings/regexec +++ b/t/lib/warnings/regexec @@ -212,4 +212,3 @@ Use of \b{} or \B{} for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - Use of \b{} or \B{} for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - line 16. Use of \b{} or \B{} for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - line 17. Use of \b{} or \B{} for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - line 17. -Use of \b{} or \B{} for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - line 17. diff --git a/t/loc_tools.pl b/t/loc_tools.pl index 541e08f..bf0396f 100644 --- a/t/loc_tools.pl +++ b/t/loc_tools.pl @@ -11,9 +11,6 @@ # Functions whose names begin with underscore are internal helper functions # for this file, and are not to be used by outside callers. -eval { require POSIX; import POSIX 'locale_h'; }; -my $has_posix_locales = defined &POSIX::LC_CTYPE; - sub _trylocale ($$$$) { # For use only by other functions in this file! # Adds the locale given by the first parameter to the list given by the @@ -115,13 +112,12 @@ sub locales_enabled(;$) { # category, like 'LC_TIME'. The initial 'LC_' is optional. It is a fatal # error to call this with something that isn't a known category - use Config; + use Config;; return 0 unless $Config{d_setlocale} # I (khw) cargo-culted the '?' in the pattern on the # next line. - && $Config{ccflags} !~ /\bD?NO_LOCALE\b/ - && $has_posix_locales; + && $Config{ccflags} !~ /\bD?NO_LOCALE\b/; # Done with the global possibilities. Now check if any passed in category # is disabled. @@ -176,7 +172,10 @@ sub find_locales ($;$) { # Returns an array of all the locales we found on the # Done this way in case this is 'required' in the caller before seeing if # this is miniperl. - return unless $has_posix_locales; + eval { require POSIX; import POSIX 'locale_h'; }; + unless (defined &POSIX::LC_CTYPE) { + return; + } _trylocale("C", $categories, \@Locale, $only_plays_well); _trylocale("POSIX", $categories, \@Locale, $only_plays_well); @@ -297,7 +296,8 @@ sub is_locale_utf8 ($) { # Return a boolean as to if core Perl thinks the input # On z/OS, even locales marked as UTF-8 aren't. return 0 if ord "A" != 65; - return 0 if ! $has_posix_locales; + eval { require POSIX; import POSIX 'locale_h'; }; + return 0 if ! defined &POSIX::LC_CTYPE; return 0 if ! locales_enabled('LC_CTYPE'); my $locale = shift; @@ -347,7 +347,8 @@ sub find_utf8_ctype_locale (;$) { # Return the name of a locale that core Perl my $locales_ref = shift; if (! defined $locales_ref) { - return if ! $has_posix_locales; + eval { require POSIX; import POSIX 'locale_h'; }; + return if ! defined &POSIX::LC_CTYPE; my @locales = find_locales(&POSIX::LC_CTYPE(), 1 # Reject iffy locales. diff --git a/t/op/attrs.t b/t/op/attrs.t index 219db03..16e1fce 100644 --- a/t/op/attrs.t +++ b/t/op/attrs.t @@ -428,23 +428,4 @@ package _123817 { eval 'return my $x : m'; } -# [perl #126257] -# attributed lex var as function arg caused assertion failure - -package P126257 { - sub MODIFY_SCALAR_ATTRIBUTES {} - sub MODIFY_ARRAY_ATTRIBUTES {} - sub MODIFY_HASH_ATTRIBUTES {} - sub MODIFY_CODE_ATTRIBUTES {} - sub foo {} - eval { foo(my $x : bar); }; - ::is $@, "", "RT 126257 scalar"; - eval { foo(my @x : bar); }; - ::is $@, "", "RT 126257 array"; - eval { foo(my %x : bar); }; - ::is $@, "", "RT 126257 hash"; - eval { foo(sub : bar {}); }; - ::is $@, "", "RT 126257 sub"; -} - done_testing(); diff --git a/t/op/bop.t b/t/op/bop.t index 09f2be9..8acd3b2 100644 --- a/t/op/bop.t +++ b/t/op/bop.t @@ -15,7 +15,7 @@ BEGIN { # If you find tests are failing, please try adding names to tests to track # down where the failure is, and supply your new names as a patch. # (Just-in-time test naming) -plan tests => 194 + (10*13*2) + 5; +plan tests => 192 + (10*13*2) + 5; # numerics ok ((0xdead & 0xbeef) == 0x9ead); @@ -430,40 +430,6 @@ SKIP: { is($b, chr(0x1FE) x 0x0FF . chr(0x101) x 2); } -# update to pp_complement() via Coverity -SKIP: { - # UTF-EBCDIC is limited to 0x7fffffff and can't encode ~0. - skip "Complements exceed maximum representable on EBCDIC ", 2 if $::IS_EBCDIC; - - my $str = "\x{10000}\x{800}"; - # U+10000 is four bytes in UTF-8/UTF-EBCDIC. - # U+0800 is three bytes in UTF-8/UTF-EBCDIC. - - no warnings "utf8"; - { - use bytes; - no warnings 'deprecated'; - $str =~ s/\C\C\z//; - } - - # it's really bogus that (~~malformed) is \0. - my $ref = "\x{10000}\0"; - is(~~$str, $ref); - - # same test, but this time with a longer replacement string that - # exercises a different branch in pp_subsr() - - $str = "\x{10000}\x{800}"; - { - use bytes; - no warnings 'deprecated'; - $str =~ s/\C\C\z/\0\0\0/; - } - - # it's also bogus that (~~malformed) is \0\0\0\0. - my $ref = "\x{10000}\0\0\0\0"; - is(~~$str, $ref, "use bytes with long replacement"); -} # New string- and number-specific bitwise ops { diff --git a/t/op/chdir.t b/t/op/chdir.t index 813b0ed..84159fe 100644 --- a/t/op/chdir.t +++ b/t/op/chdir.t @@ -10,10 +10,11 @@ BEGIN { # possibilities into @INC. unshift @INC, qw(t . lib ../lib); require "./test.pl"; - plan(tests => 48); + plan(tests => 42); } use Config; +use Errno qw(ENOENT); my $IsVMS = $^O eq 'VMS'; @@ -150,29 +151,10 @@ sub check_env { my $warning = ''; local $SIG{__WARN__} = sub { $warning .= join '', @_ }; - - - # Check the deprecated chdir(undef) feature. -#line 64 - ok( chdir(undef), "chdir(undef) w/ only \$ENV{$key} set" ); - is( abs_path, $ENV{$key}, ' abs_path() agrees' ); - is( $warning, <(); - pass("RT #127786"); + $@ = 1; + eval q{$@ = 2}; + ok(!$@, 'eval clearing $@'); } diff --git a/t/op/gv.t b/t/op/gv.t index 2c9cc64..e695923 100644 --- a/t/op/gv.t +++ b/t/op/gv.t @@ -12,7 +12,7 @@ BEGIN { use warnings; -plan(tests => 276 ); +plan( tests => 273 ); # type coercion on assignment $foo = 'foo'; @@ -1132,24 +1132,6 @@ pass "No crash due to CvGV pointing to glob copy in the stash"; is $z, 3, 'list assignment after aliasing [perl #89646]'; } -# RT #125840: make sure *x = $x doesn't do bad things by freeing $x before -# it's assigned. - -{ - $a_125840 = 1; - $b_125840 = 2; - $a_125840 = *b_125840; - *a_125840 = $a_125840; - is($a_125840, 2, 'RT #125840: *a = $a'); - - $c_125840 = 1; - $d_125840 = 2; - *d_125840 = $d_125840 = *c_125840; - is($d_125840, 1, 'RT #125840: *d=$d=*c'); - $c_125840 = $d_125840; - is($c_125840, 1, 'RT #125840: $c=$d'); -} - __END__ Perl diff --git a/t/op/heredoc.t b/t/op/heredoc.t index 8fe0c0f..a239e92 100644 --- a/t/op/heredoc.t +++ b/t/op/heredoc.t @@ -7,7 +7,7 @@ BEGIN { } use strict; -plan(tests => 41); +plan(tests => 39); # heredoc without newline (#65838) @@ -89,21 +89,4 @@ HEREDOC {}, "long terminator fails correctly" ); - - # this would read freed memory - fresh_perl_like( - qq(0<<<<""0\n\n), - # valgrind and asan reports an error between these two lines - qr/^Number found where operator expected at - line 1, near "<<""0"\s+\(Missing operator/, - {}, - "don't use an invalid oldoldbufptr" - ); - - # [perl #125540] this asserted or crashed - fresh_perl_like( - q(map d$#<<<<), - qr/Can't find string terminator "" anywhere before EOF at - line 1\./, - {}, - "Don't assert parsing a here-doc if we hit EOF early" - ); } diff --git a/t/op/hexfp.t b/t/op/hexfp.t index 4b2a96d..30aaf11 100644 --- a/t/op/hexfp.t +++ b/t/op/hexfp.t @@ -10,7 +10,7 @@ use strict; use Config; -plan(tests => 105); +plan(tests => 79); # Test hexfloat literals. @@ -40,11 +40,6 @@ is(0x0.1p0, 0.0625); is(0x0.10p0, 0.0625); is(0x0.100p0, 0.0625); -is(0x.1p0, 0.0625); -is(0x1.1p0, 1.0625); -is(0x1.11p0, 1.06640625); -is(0x1.111p0, 1.066650390625); - # Positive exponents. is(0x1p2, 4); is(0x1p+2, 4); @@ -112,15 +107,6 @@ is(0xa_b.c_dp+1_2, 703696); # different from 3e4 cf 30e3 cf 30000. The shifting of the hexdigits # makes it look stranger, though: 0xap1 == 0x5p2. -# [perl #127183], try some non-canonical forms. -SKIP: { - skip("nv_preserves_uv_bits is $Config{nv_preserves_uv_bits} not 53", 3) - unless ($Config{nv_preserves_uv_bits} == 53); - is(0x0.b17217f7d1cf78p0, 0x1.62e42fefa39efp-1); - is(0x0.58b90bfbe8e7bcp1, 0x1.62e42fefa39efp-1); - is(0x0.2c5c85fdf473dep2, 0x1.62e42fefa39efp-1); -} - # Needs to use within() instead of is() because of long doubles. within(0x1.99999999999ap-4, 0.1, 1e-9); within(0x3.333333333333p-5, 0.1, 1e-9); @@ -147,17 +133,11 @@ sub get_warn() { eval '@a = 0x3..5'; is("@a", "3 4 5"); - undef $a; eval '$a = eval "0x.3"'; is($a, '03'); - undef $a; eval '$a = eval "0xc.3"'; is($a, '123'); - - undef $a; - eval '$a = eval "0x.p3"'; - is($a, undef); } # Test warnings. @@ -189,57 +169,9 @@ SKIP: eval '0x1.fffffffffffffp+1024'; like(get_warn(), qr/^Hexadecimal float: exponent overflow/); - - undef $a; - eval '$a = 0x111.0000000000000p+0'; # 12 zeros. - like(get_warn(), qr/^Hexadecimal float: mantissa overflow/); - is($a, 273); - - # The 13 zeros would be enough to push the hi-order digits - # off the high-end. - - undef $a; - eval '$a = 0x111.0000000000000p+0'; # 13 zeros. - like(get_warn(), qr/^Hexadecimal float: mantissa overflow/); - is($a, 273); - - undef $a; - eval '$a = 0x111.00000000000000p+0'; # 14 zeros. - like(get_warn(), qr/^Hexadecimal float: mantissa overflow/); - is($a, 273); - - undef $a; - eval '$a = 0xfffffffffffffp0'; # 52 bits. - is(get_warn(), undef); - is($a, 4.5035996273705e+15); - - undef $a; - eval '$a = 0xfffffffffffff.8p0'; # 53 bits. - is(get_warn(), undef); - is($a, 4.5035996273705e+15); - - undef $a; - eval '$a = 0xfffffffffffff.cp0'; # 54 bits. - like(get_warn(), qr/^Hexadecimal float: mantissa overflow/); - is($a, 4.5035996273705e+15); - - undef $a; - eval '$a = 0xf.ffffffffffffp0'; # 52 bits. - is(get_warn(), undef); - is($a, 16); - - undef $a; - eval '$a = 0xf.ffffffffffff8p0'; # 53 bits. - is(get_warn(), undef); - is($a, 16); - - undef $a; - eval '$a = 0xf.ffffffffffffcp0'; # 54 bits. - like(get_warn(), qr/^Hexadecimal float: mantissa overflow/); - is($a, 16); } else { print "# skipping warning tests\n"; - skip "nv_preserves_uv_bits is $Config{nv_preserves_uv_bits} not 53", 26; + skip "nv_preserves_uv_bits is $Config{nv_preserves_uv_bits} not 53", 8; } } diff --git a/t/op/lc.t b/t/op/lc.t index 9f2bdb0..ffea0ae 100644 --- a/t/op/lc.t +++ b/t/op/lc.t @@ -1,8 +1,6 @@ #!./perl # This file is intentionally encoded in latin-1. -# -# Test uc(), lc(), fc(), ucfirst(), lcfirst(), quotemeta() etc BEGIN { chdir 't' if -d 't'; @@ -16,7 +14,7 @@ BEGIN { use feature qw( fc ); -plan tests => 139 + 4 * 256; +plan tests => 134 + 4 * 256; is(lc(undef), "", "lc(undef) is ''"); is(lcfirst(undef), "", "lcfirst(undef) is ''"); @@ -319,28 +317,6 @@ $h{k} = bless[], "\x{130}bcde"; # U+0130 grows with lc() like lc delete $h{k}, qr "^i\x{307}bcde=array\(.*\)", 'lc(TEMP ref) does not produce a corrupt string'; -# List::Util::first() etc sets $_ to an SvTEMP without raising its -# refcount. This was causing lc() etc to unsafely modify in-place. -# see http://nntp.perl.org/group/perl.perl5.porters/228213 - -SKIP: { - skip "no List::Util on miniperl", 5, if is_miniperl; - require List::Util; - my %hl = qw(a 1 b 2 c 3); - my %hu = qw(A 1 B 2 C 3); - my $x; - $x = List::Util::first(sub { uc $_ eq 'A' }, keys %hl); - is($x, "a", "first { uc }"); - $x = List::Util::first(sub { ucfirst $_ eq 'A' }, keys %hl); - is($x, "a", "first { ucfirst }"); - $x = List::Util::first(sub { lc $_ eq 'a' }, keys %hu); - is($x, "A", "first { lc }"); - $x = List::Util::first(sub { lcfirst $_ eq 'a' }, keys %hu); - is($x, "A", "first { lcfirst }"); - $x = List::Util::first(sub { fc $_ eq 'a' }, keys %hu); - is($x, "A", "first { fc }"); -} - my $utf8_locale = find_utf8_ctype_locale(); diff --git a/t/op/list.t b/t/op/list.t index 9fe00a4..c7056d0 100644 --- a/t/op/list.t +++ b/t/op/list.t @@ -6,7 +6,7 @@ BEGIN { require "./test.pl"; } -plan( tests => 70 ); +plan( tests => 69 ); @foo = (1, 2, 3, 4); cmp_ok($foo[0], '==', 1, 'first elem'); @@ -217,6 +217,3 @@ sub empty {} tie $t, ""; () = (empty(), ($t)x10); # empty() since sub calls usually result in copies is(tied($t)->{fetched}, undef, 'assignment to empty list makes no copies'); - -# this was passing a trash SV at the top of the stack to SvIV() -ok(($0[()[()]],1), "[perl #126193] list slice with zero indexes"); diff --git a/t/op/method.t b/t/op/method.t index 0d7f254..1171f4a 100644 --- a/t/op/method.t +++ b/t/op/method.t @@ -13,7 +13,7 @@ BEGIN { use strict; no warnings 'once'; -plan(tests => 148); +plan(tests => 147); @A::ISA = 'B'; @B::ISA = 'C'; @@ -657,23 +657,6 @@ SKIP: { like ($@, qr/Modification of a read-only value attempted/, 'RT #123619'); } -{ - # RT #126042 &{1==1} * &{1==1} would crash - - # pp_entersub and pp_method_named cooperate to prevent calls to an - # undefined import() or unimport() method from croaking. - # If pp_method_named can't find the method it pushes &PL_sv_yes, and - # pp_entersub checks for that specific SV to avoid croaking. - # Ideally they wouldn't use that hack but... - # Unfortunately pp_entersub's handling of that case is broken in scalar context. - - # Rather than using the test case from the ticket, since &{1==1} - # isn't documented (and may not be supported in future perls) test - # calls to undefined import method, which also crashes. - fresh_perl_is('Unknown->import() * Unknown->unimport(); print "ok\n"', "ok\n", {}, - "check unknown import() methods don't corrupt the stack"); -} - __END__ #FF9900 #F78C08 diff --git a/t/op/pack.t b/t/op/pack.t index f905566..1b0fd0d 100644 --- a/t/op/pack.t +++ b/t/op/pack.t @@ -12,7 +12,7 @@ my $no_endianness = $] > 5.009 ? '' : my $no_signedness = $] > 5.009 ? '' : "Signed/unsigned pack modifiers not available on this perl"; -plan tests => 14712; +plan tests => 14708; use strict; use warnings qw(FATAL all); @@ -2020,23 +2020,3 @@ is $o::num, 1, 'pack "c" does call num overloading'; #[perl #123874]: argument underflow leads to corrupt length eval q{ pack "pi/x" }; ok(1, "argument underflow did not crash"); - -{ - # [perl #126325] pack [hH] with a unicode string - # the hex encoders would read past the end of the string, using - # invalid source bytes - my $twenty_nuls = "\0" x 20; - # This is the case that failed - is(pack("WH40", 0x100, ""), "\x{100}$twenty_nuls", - "check pack H zero fills (utf8 target)"); - my $up_nul = "\0"; - - utf8::upgrade($up_nul); - # check the other combinations too - is(pack("WH40", 0x100, $up_nul), "\x{100}$twenty_nuls", - "check pack H zero fills (utf8 target/source)"); - is(pack("H40", ""), $twenty_nuls, - "check pack H zero fills (utf8 none)"); - is(pack("H40", $up_nul), $twenty_nuls, - "check pack H zero fills (utf8 source)"); -} diff --git a/t/op/sigdispatch.t b/t/op/sigdispatch.t index 242fb8e..9808f7b 100644 --- a/t/op/sigdispatch.t +++ b/t/op/sigdispatch.t @@ -44,9 +44,8 @@ SKIP: { skip('We can\'t test blocking without sigprocmask', 17) if is_miniperl() || !$Config{d_sigprocmask}; skip("This doesn\'t work on $^O threaded builds RT#88814", 17) - if ($^O =~ /cygwin/ && $Config{useithreads}); - skip("This doesn\'t work on $^O version $Config{osvers} RT#88814", 17) - if ($^O eq "openbsd" && $Config{osvers} < 5.2); + if ($^O =~ /cygwin/ || $^O eq "openbsd" && $Config{osvers} < 5.2) + && $Config{useithreads}; require POSIX; my $pending = POSIX::SigSet->new(); diff --git a/t/op/sort.t b/t/op/sort.t index 4909474..01227e3 100644 --- a/t/op/sort.t +++ b/t/op/sort.t @@ -6,7 +6,7 @@ BEGIN { set_up_inc('../lib'); } use warnings; -plan( tests => 183 ); +plan(tests => 190); # these shouldn't hang { @@ -1018,3 +1018,29 @@ package deletions { @_=sort { delete $deletions::{a}; delete $deletions::{b}; 3 } 1..3; } pass "no crash when sort block deletes *a and *b"; + +# make sure return args are always evaluated in scalar context + +{ + package Ret; + no warnings 'void'; + sub f0 { } + sub f1 { $b <=> $a, $a <=> $b } + sub f2 { return ($b <=> $a, $a <=> $b) } + sub f3 { for ($b <=> $a) { return ($b <=> $a, $a <=> $b) } } + + { + no warnings 'uninitialized'; + ::is (join('-', sort { () } 3,1,2,4), '3-1-2-4', "Ret: null blk"); + } + ::is (join('-', sort { $b <=> $a, $a <=> $b } 3,1,2,4), '1-2-3-4', "Ret: blk"); + ::is (join('-', sort { for($b <=> $a) { return ($b <=> $a, $a <=> $b) } } + 3,1,2,4), '1-2-3-4', "Ret: blk ret"); + { + no warnings 'uninitialized'; + ::is (join('-', sort f0 3,1,2,4), '3-1-2-4', "Ret: f0"); + } + ::is (join('-', sort f1 3,1,2,4), '1-2-3-4', "Ret: f1"); + ::is (join('-', sort f2 3,1,2,4), '1-2-3-4', "Ret: f2"); + ::is (join('-', sort f3 3,1,2,4), '1-2-3-4', "Ret: f3"); +} diff --git a/t/op/sprintf.t b/t/op/sprintf.t index e6ef617..967b5d3 100644 --- a/t/op/sprintf.t +++ b/t/op/sprintf.t @@ -647,20 +647,19 @@ __END__ >%y< >''< >%y INVALID REDUNDANT< >%z< >''< >%z INVALID REDUNDANT< >%2$d %1$d< >[12, 34]< >34 12< ->%*2$d< >[12, 3]< > 12< >RT#125469< ->%*3$d< >[12, 9, 3]< > 12< >related to RT#125469< +>%*2$d< >[12, 3]< > 12 REDUNDANT< >%2$d %d< >[12, 34]< >34 12< >%2$d %d %d< >[12, 34]< >34 12 34< >%3$d %d %d< >[12, 34, 56]< >56 12 34< >%2$*3$d %d< >[12, 34, 3]< > 34 12< ->%*3$2$d %d< >[12, 34, 3]< >%*3$2$d 12 INVALID< +>%*3$2$d %d< >[12, 34, 3]< >%*3$2$d 12 INVALID REDUNDANT< >%2$d< >12< >0 MISSING< >%0$d< >12< >%0$d INVALID REDUNDANT< >%1$$d< >12< >%1$$d INVALID< >%1$1$d< >12< >%1$1$d INVALID< ->%*2$*2$d< >[12, 3]< >%*2$*2$d INVALID< +>%*2$*2$d< >[12, 3]< >%*2$*2$d INVALID REDUNDANT< >%*2*2$d< >[12, 3]< >%*2*2$d INVALID REDUNDANT< ->%*2$1d< >[12, 3]< >%*2$1d INVALID< +>%*2$1d< >[12, 3]< >%*2$1d INVALID REDUNDANT< >%0v2.2d< >''< >< >%vc,%d< >[63, 64, 65]< >%vc,63 INVALID REDUNDANT< >%v%,%d< >[63, 64, 65]< >%v%,63 INVALID REDUNDANT< diff --git a/t/op/sprintf2.t b/t/op/sprintf2.t index 8b12692..1a4dd30 100644 --- a/t/op/sprintf2.t +++ b/t/op/sprintf2.t @@ -67,10 +67,6 @@ if ($Config{nvsize} == 8 && [ '% 20.10a', '3.14', ' 0x1.91eb851eb8p+1' ], [ '%020.10a', '3.14', '0x0001.91eb851eb8p+1' ], - [ '%.13a', '1', '0x1.0000000000000p+0' ], - [ '%.13a', '-1', '-0x1.0000000000000p+0' ], - [ '%.13a', '0', '0x0.0000000000000p+0' ], - [ '%30a', '3.14', ' 0x1.91eb851eb851fp+1' ], [ '%-30a', '3.14', '0x1.91eb851eb851fp+1 ' ], [ '%030a', '3.14', '0x00000000001.91eb851eb851fp+1' ], @@ -247,7 +243,7 @@ if ($Config{nvsize} == 8 && print "# no hexfloat tests\n"; } -plan tests => 1408 + ($Q ? 0 : 12) + @hexfloat + 12; +plan tests => 1408 + ($Q ? 0 : 12) + @hexfloat; use strict; use Config; @@ -580,33 +576,19 @@ $o::count = 0; is $o::count, 0, 'sprintf %d string overload count is 0'; is $o::numcount, 1, 'sprintf %d number overload count is 1'; -my $ppc_linux = $Config{archname} =~ /^(?:ppc|power(?:pc)?)(?:64)?-linux/; -my $irix_ld = $Config{archname} =~ /^IP\d+-irix-ld$/; +my $ppc64_linux = $Config{archname} =~ /^ppc64-linux/; for my $t (@hexfloat) { my ($format, $arg, $expected) = @$t; $arg = eval $arg; my $result = sprintf($format, $arg); my $ok = $result eq $expected; - # For certain platforms (all of which are currently double-double, - # but different implementations, GNU vs vendor, two different archs - # (ppc and mips), and two different libm interfaces) we have some - # bits-in-the-last-hexdigit differences. - # Patch them up as TODOs instead of deadly errors. - if ($doubledouble && $ppc_linux && $arg =~ /^2.71828/) { - # gets '0x1.5bf0a8b1457695355fb8ac404ecp+1' - # wants '0x1.5bf0a8b1457695355fb8ac404e8p+1' + if ($doubledouble && $ppc64_linux && $arg =~ /^2.71828/) { + # ppc64-linux has buggy exp(1). local $::TODO = "$Config{archname} exp(1)"; ok($ok, "'$format' '$arg' -> '$result' cf '$expected'"); next; } - if ($doubledouble && $irix_ld && $arg =~ /^1.41421/) { - # gets '0x1.6a09e667f3bcc908b2fb1366eacp+0' - # wants '0x1.6a09e667f3bcc908b2fb1366ea8p+0' - local $::TODO = "$Config{archname} sqrt(2)"; - ok($ok, "'$format' '$arg' -> '$result' cf '$expected'"); - next; - } unless ($ok) { # It seems that there can be difference in the last bits: # [perl #122578] @@ -666,71 +648,3 @@ for my $t (@hexfloat) { } ok($ok, "'$format' '$arg' -> '$result' cf '$expected'"); } - -# double-double long double %a special testing. -SKIP: { - skip("uselongdouble=" . ($Config{uselongdouble} ? 'define' : 'undef') - . " longdblkind=$Config{longdblkind} os=$^O", 6) - unless ($Config{uselongdouble} && - ($Config{longdblkind} == 5 || - $Config{longdblkind} == 6) - # TODO: gating on 'linux' here is only due to lack of - # testing in other big-endian platforms (e.g. AIX or IRIX), - # with more evidence this subtest could be either relaxed - # or removed. - && $^O eq 'linux' - ); - # [rt.perl.org 125633] - like(sprintf("%La\n", (2**1020) + (2**-1072)), - qr/^0x1.0{522}1p\+1020$/); - like(sprintf("%La\n", (2**1021) + (2**-1072)), - qr/^0x1.0{523}8p\+1021$/); - like(sprintf("%La\n", (2**1022) + (2**-1072)), - qr/^0x1.0{523}4p\+1022$/); - like(sprintf("%La\n", (2**1023) + (2**-1072)), - qr/^0x1.0{523}2p\+1023$/); - like(sprintf("%La\n", (2**1023) + (2**-1073)), - qr/^0x1.0{523}1p\+1023$/); - like(sprintf("%La\n", (2**1023) + (2**-1074)), - qr/^0x1.0{524}8p\+1023$/); -} - -SKIP: { - skip("negative zero not available\n", 3) - unless sprintf('%+f', -0.0) =~ /^-0/; - is(sprintf("%a", -0.0), "-0x0p+0", "negative zero"); - is(sprintf("%+a", -0.0), "-0x0p+0", "negative zero"); - is(sprintf("%.13a", -0.0), "-0x0.0000000000000p+0", "negative zero"); -} - -SKIP: { - # [perl #127183] Non-canonical hexadecimal floats are parsed prematurely - - skip("nv_preserves_uv_bits is $Config{nv_preserves_uv_bits}, not 53", 3) - unless $Config{nv_preserves_uv_bits} == 53; - - { - # The 0x0.b17217f7d1cf78p0 is the original LHS value - # from [perl #127183], its bits are 0x162e42fefa39ef << 3, - # resulting in a non-canonical form of hexfp, where the most - # significant bit is zero, instead of one. - is(sprintf("%a", 0x0.b17217f7d1cf78p0 - 0x1.62e42fefa39efp-1), - "0x0p+0", - "non-canonical form [perl #127183]"); - } - - { - no warnings 'overflow'; # Not the point here. - - # The 0x058b90bfbe8e7bc is 0x162e42fefa39ef << 2, - # the 0x02c5c85fdf473de is 0x162e42fefa39ef << 1, - # see above. - is(sprintf("%a", 0x0.58b90bfbe8e7bcp1 - 0x1.62e42fefa39efp-1), - "0x0p+0", - "non-canonical form"); - - is(sprintf("%a", 0x0.2c5c85fdf473dep2 - 0x1.62e42fefa39efp-1), - "0x0p+0", - "non-canonical form"); - } -} diff --git a/t/op/sub.t b/t/op/sub.t index cf70d73..d9b7b3c 100644 --- a/t/op/sub.t +++ b/t/op/sub.t @@ -6,7 +6,7 @@ BEGIN { set_up_inc('../lib'); } -plan(tests => 41); +plan(tests => 55); sub empty_sub {} @@ -246,13 +246,6 @@ predeclared(); # set $x to 42 $main::x = $main::x = "You should not see this."; inside_predeclared(); # run test -# RT #126845: this used to fail an assertion in Perl_newATTRSUB_x() -eval 'sub rt126845_1 (); sub rt126845_1 () :lvalue'; -pass("RT #126845: stub with prototype, then with attribute"); - -eval 'sub rt126845_2 (); sub rt126845_2 () :lvalue {}'; -pass("RT #126845: stub with prototype, then definition with attribute"); - # RT #124156 death during unwinding causes crash # the tie allows us to trigger another die while cleaning up the stack # from an earlier die. @@ -302,3 +295,39 @@ pass("RT #126845: stub with prototype, then definition with attribute"); ::is($@, "outer\n", "RT124156 depth"); ::is($destroyed, 1, "RT124156 freed cv"); } + + +# check that return pops extraneous stuff from the stack + +sub check_ret { + # the extra scopes push contexts and extra SVs on the stack + { + my @a = map $_ + 20, @_; + for ('x') { + return if defined $_[0] && $_[0] < 0; + } + for ('y') { + check_ret(1, do { (2,3,4, return @a ? @a[0..$#a] : ()) }, 4.5); + } + } +} + +is(scalar check_ret(), undef, "check_ret() scalar"); +is(scalar check_ret(5), 25, "check_ret(5) scalar"); +is(scalar check_ret(5,6), 26, "check_ret(5,6) scalar"); +is(scalar check_ret(5,6,7), 27, "check_ret(5,6,7) scalar"); +is(scalar check_ret(5,6,7,8), 28, "check_ret(5,6,7,8) scalar"); +is(scalar check_ret(5,6,7,8,9), 29, "check_ret(5,6,7,8,9) scalar"); + +is(scalar check_ret(-1), undef, "check_ret(-1) scalar"); +is(scalar check_ret(-1,5), undef, "check_ret(-1,5) scalar"); + +is(join('-', 10, check_ret()), "10", "check_ret() list"); +is(join('-', 10, check_ret(5)), "10-25", "check_ret(5) list"); +is(join('-', 10, check_ret(5,6)), "10-25-26", "check_ret(5,6) list"); +is(join('-', 10, check_ret(5,6,7)), "10-25-26-27", "check_ret(5,6,7) list"); +is(join('-', 10, check_ret(5,6,7,8)), "10-25-26-27-28", "check_ret(5,6,7,8) list"); +is(join('-', 10, check_ret(5,6,7,8,9)), "10-25-26-27-28-29", "check_ret(5,6,7,8,9) list"); + +is(join('-', 10, check_ret(-1)), "10", "check_ret(-1) list"); +is(join('-', 10, check_ret(-1,5)), "10", "check_ret(-1,5) list"); diff --git a/t/op/tie_fetch_count.t b/t/op/tie_fetch_count.t index 6f01f82..41fef0c 100644 --- a/t/op/tie_fetch_count.t +++ b/t/op/tie_fetch_count.t @@ -250,18 +250,12 @@ for ([chdir=>''],[chmod=>'0,'],[chown=>'0,0,'],[utime=>'0,0,'], check_count "$op $args\\\$tied_glob$postargs"; } -my $can_config = eval { require Config; 1 }; -SKIP: -{ - skip "No Config", 4 unless $can_config; - skip "No crypt()", 4 unless $Config::Config{d_crypt}; - $dummy = crypt $var,0; check_count 'crypt $tied, ...'; - $dummy = crypt 0,$var; check_count 'crypt ..., $tied'; - $var = substr(chr 256,0,0); - $dummy = crypt $var,0; check_count 'crypt $tied_utf8, ...'; - $var = substr(chr 256,0,0); - $dummy = crypt 0,$var; check_count 'crypt ..., $tied_utf8'; -} +$dummy = crypt $var,0; check_count 'crypt $tied, ...'; +$dummy = crypt 0,$var; check_count 'crypt ..., $tied'; +$var = substr(chr 256,0,0); +$dummy = crypt $var,0; check_count 'crypt $tied_utf8, ...'; +$var = substr(chr 256,0,0); +$dummy = crypt 0,$var; check_count 'crypt ..., $tied_utf8'; SKIP: { diff --git a/t/op/time.t b/t/op/time.t index d3b8b9c..f5ce339 100644 --- a/t/op/time.t +++ b/t/op/time.t @@ -12,7 +12,7 @@ plan tests => 72; # burning tons of CPU for dates far in the future. # watchdog() makes sure that the test script eventually exits if # the tests are triggering the failing behavior -watchdog(25); +watchdog(15); ($beguser,$begsys) = times; @@ -21,9 +21,9 @@ $beg = time; while (($now = time) == $beg) { sleep 1 } ok($now > $beg && $now - $beg < 10, 'very basic time test'); -my $x = "aaaa"; + for ($i = 0; $i < 1_000_000; $i++) { - for my $j (1..1000) { ++$x; }; # burn some user cycles + for my $j (1..100) {}; # burn some user cycles ($nowuser, $nowsys) = times; $i = 2_000_000 if $nowuser > $beguser && ( $nowsys >= $begsys || (!$nowsys && !$begsys)); diff --git a/t/porting/customized.dat b/t/porting/customized.dat index cee286a..9e0bd1c 100644 --- a/t/porting/customized.dat +++ b/t/porting/customized.dat @@ -1,145 +1,44 @@ -Archive::Tar cpan/Archive-Tar/bin/ptar 5e9f3c6f565114193d98847ed8569cd0010c229c -Archive::Tar cpan/Archive-Tar/bin/ptardiff 5a9f4c01a0390bf98da7e63f1c0bbf5bc74d12c7 -Archive::Tar cpan/Archive-Tar/bin/ptargrep eb74056c434acf314ac5a122e33bdd2ef99e6edb -Archive::Tar cpan/Archive-Tar/lib/Archive/Tar.pm b7e13134a5bcabe8c33fb0729d2f2f80e924059a -Archive::Tar cpan/Archive-Tar/lib/Archive/Tar/Constant.pm 18af3e90665fcf2ab40c5b02c10ba0ea3ac34d0e -Archive::Tar cpan/Archive-Tar/lib/Archive/Tar/File.pm c0b849aa3d164305d7cb084ba3adf8d505971d6b -CPAN cpan/CPAN/lib/App/Cpan.pm b2a9928c41083c82e884f6dc6d4b7043a2b0e351 -CPAN cpan/CPAN/lib/CPAN.pm 27f0f5c41a81aba89dfc895e7671719716522544 -CPAN cpan/CPAN/scripts/cpan c43050c8c63153a205e4385e118e906d1ecadf06 -Digest cpan/Digest/Digest.pm 43f7f544cb11842b2f55c73e28930da50774e081 -Digest::SHA cpan/Digest-SHA/lib/Digest/SHA.pm 5841fcf70f7290e07befdd16f05093664c618a96 -Digest::SHA cpan/Digest-SHA/shasum f92faa37afc098e2a825e4ecda1097890492d957 -Encode cpan/Encode/bin/enc2xs 832a56f55ffc100e8beacfb0f0362f00d09a5056 -Encode cpan/Encode/bin/encguess f1e7a130995c4bad53bb6d3034dae625cfe61e32 -Encode cpan/Encode/bin/piconv 80ea7f9afff580e41c4b29f5ab214ed378274b49 -Encode cpan/Encode/bin/ucmlint 495862125269a60536b78fd0a7910d024c4d21fe -Encode cpan/Encode/bin/unidump 715f47c2fcc661268f3c6cd3de0d27c72b745cd2 -Encode cpan/Encode/Encode.pm fc8f84c4344320d6712f3740d72eb05bf5d6abf7 -ExtUtils::Command cpan/ExtUtils-Command/lib/ExtUtils/Command.pm 245dd8fbe6e6a58fb02b6007b49ec7dc944d9fc9 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/bin/instmodsh 5bc04a0173b8b787f465271b6186220326ae8eef -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm 6298f9b41b29e13010b185f64fa952570637fbb4 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm 6e16329fb4d4c2f8db4afef4d8e79c1c1c918128 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm fc0483c5c7b92a8e0f63eb1f762172cddce5b948 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 8d1b35fcd7d3b4f0552ffb151baf75ccb181267b -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm 676b10e16b2dc68ba21312ed8aa4d409e86005a6 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm 7f4dfd0fe884bd42412bcf04ca80ef97b39c1d54 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm bef099988b15fb0b2a1f5ac48c01af1f7f36d329 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 8168e18f0e3ce3ece4bb7e7c72d57ec07c67c402 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 7115e97a53559cb3ec061dd6f7f344e522724c4a +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm f8db8d4245bf0684b8210c811f50d7cfb1a27d78 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod 757bffb47857521311f8f3bde43ebe165f8d5191 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm 82be06851deb84c6419ad003ce9b6d1957f395f3 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod b01a546e52a908ce4ccd0b1a36fe81de52ab0691 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm 91a7b2a36210cebd57ff89d202af3d2b7bce430c ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm d4e7d722b4544be28da838912a7cc714528bc05f ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/vpp.pm 7297903505ab551731692ec79cdc0f5396e12479 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm 0e39b9ae0582cc333d8cfbe4256e3f3f1ae342b5 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm 81ebde56af5860edc646518fb64e5c427754ac4f -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm fb83ad4184016de85de92e8a428ec2e48b8fbc18 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm 6917a5d775e4e6f348abebe59ac4362e75885c51 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 843e15e58fe1a1bd7f6054dc8a8e839aaa03003b -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm 4cadf37f823fef47a4862c44a3d34aa38315600b -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm ee5298707a26912989934f1d44bf25460394ef60 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm e247f2f2ba5d6283418ec6125d64a7a2b477ae43 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm 1522f54c02b0f03a10ea837dc950b1adef83aecc -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm 7d8c5389bc876d068efa0839ca5c1429a6d75166 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm c92f49161433b47e1bde182382f295d17469e298 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm a35e3b45759c40152eb49381ce559f8841670824 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm e071e7343ccfcefceb08edfc7adeb376750c641c -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm a28e086bbbb493569fe8eabc1ceb8ad439b255cf -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm 3738ade1474915ee758d11756a86c82fa27b38b3 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm 1eb8c77a788ad3c00064420361ab9234654b9525 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm 512ee5ce6c3c5733a2abb4ddf7ce18b704615d10 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm 69b72d04420c669a8924c5cba866db43466713c3 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm 53d22b9ee5292d4530d247251389aae92ba0a105 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm 34b76c6387d2f3f3a01dcbff605a781ba3d0d193 -ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm a2a37bdf9269c6fa66e031e2e6ed8d7a300e3f45 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm 58872d66a72515f7d5be02417dfd2b28005fd61a +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm ab80029ab16d38d4f2e41dc88d2ceb9f3790e477 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm 453e0abbc4bb38db4c0820ad5c4846f313b66291 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm c1b1babda8f43ae7a2caba1cb4f70f92af5a0e34 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 6f90d94ad3e7aa0045a3b1a10a1bb18391f89f57 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm cab2b3ce08b71a4ce89aa630f236eb08b852439d +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm 61fced0faf518bf87c265fcb51ed330ba354623f +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm ae0ef51a7b6dd0b05aa61c779df7167dda5f5119 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm 9bff0fc8801d93578a5ac35d39f06cdc0e2af1ef +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm 0544301f7121ff02fd3a11b73ca2fab22e1176d4 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm 433135eecb85b4b1d90d3027432f329436c78447 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm 1fbb5605bfb47feee4083feba8aa85e659628f70 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm 5b66d1f485a6034d96fc24ba1665b1bad9e447f1 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 8cef99a9bd370ecfd07ddb0efbdcbb4101255e45 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm 939572fde3d59ba77c2e677fe2df2bed4bed5898 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm 09c2049bfd25b735e2a5bcf56a6cff7b4827f9c8 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm d65d63f8217a55c36f62e249814988974f593c79 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm c0ae2a92a7a9f71fc5f608b4192c6255510b7ae4 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm 12df38eacceeed73cab94c423236bfaed0fbbfec +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm 22fe9596a0237252f45399a36abc83b7813bc328 +ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm 7fbc42ca2ebc6c677b79ae5fd5647243cf069463 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/basic.t 6cdc7701b50e586bc9c4cfb1616de8eb0b1baf34 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/pm_to_blib.t 71ebcee355691ce374fcad251b12d8b2412462b3 -File::Fetch cpan/File-Fetch/lib/File/Fetch.pm bd0b64a1d8ee2ffac39e017f9fa9f78f95514b4d -HTTP::Tiny cpan/HTTP-Tiny/lib/HTTP/Tiny.pm 4cffe21a5c66dd7336f13df7d52be5120d090aa7 -IO-Compress cpan/IO-Compress/bin/zipdetails 381ba2a6ae5bd21c8d2e994316e3e13f2f0a4f41 -IO-Compress cpan/IO-Compress/lib/Compress/Zlib.pm 01f382d46c6c7551cb16b3c99f5da015c55ad747 -IO-Compress cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm c95002609634395f0fd161e8a1d25d03c0bae022 -IO-Compress cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm 0ab5d3a1a28a3801ce5eb502adc580eaeee8c60c -IO-Compress cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm 159f157fce8d0e1ec8b1aea4bcdd16c3c0904b65 -IO-Compress cpan/IO-Compress/lib/IO/Compress/Base.pm 83cf2ae26a6809d5d41b8617f663bef2ca882c76 -IO-Compress cpan/IO-Compress/lib/IO/Compress/Base/Common.pm 4eed3b8d6564c0d8edf9b76dc2caef341ea834eb -IO-Compress cpan/IO-Compress/lib/IO/Compress/Bzip2.pm a19dc021ebf08ad179b6ae3ce51400f5267e684c -IO-Compress cpan/IO-Compress/lib/IO/Compress/Deflate.pm 1348a0011ca6e6ad3028026e82c036a125721280 -IO-Compress cpan/IO-Compress/lib/IO/Compress/Gzip.pm f6389389137ac9b7db76452014519f2f34f1d87d -IO-Compress cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm e46ad4d39bed2b7fe0723fc9acec5d1dc5e46f7f -IO-Compress cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm 9635dc6c8465292e2d8f3ad44ea1e54a9887b925 -IO-Compress cpan/IO-Compress/lib/IO/Compress/Zip.pm 52fab82bbf8c4a7dc75a69a34626617e52ffbb68 -IO-Compress cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm e8ef5dfe48fa2246a5ff24f0488ca18ef3f3e1a1 -IO-Compress cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm ae7aa43b8c64718335fef04437162d31210424d8 -IO-Compress cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm 9236d2fcbe050834369771825067390a8d13f63a -IO-Compress cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm 56decd37cd235cfcd6b98fe86746f715455d54bf -IO-Compress cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm fff717d6a8218c97db5d5c4d551a67d3cf9a752c -IO-Compress cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm 67e33ad09662d3bbdcb8741ea00f57cdeb466cd3 -IO-Compress cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm d99c1bba995e0b91f9c59d4854abb1d4f36c1328 -IO-Compress cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm 4ea764e8f4ebdd62fe380bb0b73b084b74123b76 -IO-Compress cpan/IO-Compress/lib/IO/Uncompress/Base.pm 21649fb4e5aae09e0aebc5268d4d9aaaa7c72ae6 -IO-Compress cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm adeb4419132aa6786663a51e550e58a31f11d561 -IO-Compress cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm a7e12d30abb98b99f2f0601c2b05ba54a20a1b05 -IO-Compress cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm 988b69f2f165e4b66dd03850596795683677b1b2 -IO-Compress cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm b9f6794e96bfbee0910730c1a3f1e2b2caeec487 -IO-Compress cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm 1bbf7d65aa5ef341c049e9bb91c37470464d0824 -IPC::Cmd cpan/IPC-Cmd/lib/IPC/Cmd.pm d76a3537902c2a3097c07e41242e2c01fa8f3288 -JSON::PP cpan/JSON-PP/bin/json_pp 22e1b3760ec2b2cfd7ff0d2165f6e88907b94c70 -JSON::PP cpan/JSON-PP/lib/JSON/PP.pm 817730a21b9be855d844e4d26023758960039e99 -Locale::Maketext::Simple cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm 57ed38905791a17c150210cd6f42ead22a7707b6 -Memoize cpan/Memoize/Memoize.pm 902092ff91cdec9c7b4bd06202eb179e1ce26ca2 -Parse::CPAN::Meta cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm ab6b77a820c2a7779b5d81c4244e15822e9e1a7b -Parse::CPAN::Meta cpan/Parse-CPAN-Meta/t/02_api.t 43bddf467352c5bb1d017971d37e64ec90461df0 -Pod::Perldoc cpan/Pod-Perldoc/lib/Pod/Perldoc.pm 6928fb8a381cfba8204886c656844bcf1abc60f5 -Sys::Syslog cpan/Sys-Syslog/Syslog.pm 181d7541a6aa2a0a4d15f5beec32d16c17c76caf -Test cpan/Test/lib/Test.pm 785c02014198ec3dae35e41def2cb24766fcf1cb -Test::Harness cpan/Test-Harness/bin/prove 9b2866928cb1125de2c68f9773b25723e02c54c0 -Test::Harness cpan/Test-Harness/lib/App/Prove.pm 8b96310d4e05b6ad72c7038a91e95a3aa6c1fc39 -Test::Harness cpan/Test-Harness/lib/App/Prove/State.pm ea87e075608a009b0763217f3e564389286fcea1 -Test::Harness cpan/Test-Harness/lib/App/Prove/State/Result.pm 6e820da9eae1ee43eef01f6255e25694832969f2 -Test::Harness cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm a8b4b89cfaafb44440c6724b5b94ead829a4510a -Test::Harness cpan/Test-Harness/lib/TAP/Base.pm b91d8cf032790f421888bcdfa91d39e64f289a26 -Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Base.pm 9b017d6dd8bc2c699e193e6b893ed213a855c4e0 -Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Color.pm 1b97212502185fd234cc909021c5d5f57a448814 -Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Console.pm 4410d6595d38376b9bd965fede732f3428eef705 -Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm 85c0336b97954f1c58fdc48862a4b1ce2a149be3 -Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm 8c9595e1a7e7626834032c9a5954f5c66c0f1ff6 -Test::Harness cpan/Test-Harness/lib/TAP/Formatter/File.pm 2c7abea023c4fee7017cfb599a25cc551326c8aa -Test::Harness cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm 6f2bf6392c6e9070bd21559e92ea97ad7006c152 -Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Session.pm 2e4847fd9ed08b2ba5d7c5617221b07afafd9fa5 -Test::Harness cpan/Test-Harness/lib/TAP/Harness.pm 2c013331c41e76a9c8ca4f97b57bf173e66610fa -Test::Harness cpan/Test-Harness/lib/TAP/Harness/Env.pm a06dcbcb22f1f0ae7e625082c4dfaa4e2f91f0ed -Test::Harness cpan/Test-Harness/lib/TAP/Object.pm 6461aadd7a3addf67c1cb8e171fb4680a71d5f0f -Test::Harness cpan/Test-Harness/lib/TAP/Parser.pm 690e60f36c9a828c97c9397c017e9bb2721a26b4 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm f4c7a240ccdfaa8a2499429a0154760731c54389 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Grammar.pm 0350988f3f5e1a20e1fdd700a8e36e4909a98d1b -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Iterator.pm 5957df07d2c629e3ae0cce6ee189fcf2d0e16481 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm 6ca0b21d09e7e522030803e80ee2c5e43da0200a -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm 1a7a34030b039043ba68ed6118669748d3e6f9ba -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm bfbedcdbca160cc01359af14dbd07a4ec7dacbdd -Test::Harness cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm 001fc1c577479ccf6c04ce37a6e2ca68631f3513 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm 366c0e42bad072f2d26b87d8e102ca08b2b93d46 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result.pm 16d4699601d0810d6cff9087e0675c3c772a1052 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm e3c7652819686d2d990b612812e38b9dab00a6c6 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm 96dd44af4420752be211a2b13b223a40099ef24e -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm 4263622a6ca211b94bd161ef1dbdba4a8f026d1c -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm 22ba31346065c58aa46f362ab7b52e2de21e33bc -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm 3087c37d50a94b1a1b6504498b379bbbb83ef0a4 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm ba5ccd779dc722ba806ea36720a21c4e100c7a74 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm 6561e825d540e1aaed2633738de27aa6b8873895 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm f4ba6ffe0a2aa25eb3da94d4336a4b4f652f17f1 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm 17ff9e45e5591e50a5d2715c00d4762ffc4c71bc -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm 06100b96178d37578f0847e940b7fdf6c62a2f7e -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm a70a5bb740d6eda2fa005af66003cce9e4b4ca76 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm 552c5129e506d7d635f9a1b8b753d7ed61ec4bc7 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/Source.pm 9f471c03d5d53c32dd7598428186ef8a41fe2e6a -Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm 51e8103040eef96f40ef5e31d9611485b54530cb -Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm 24f44ba332b73973ef84ae04a677eea43c1b1b34 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm a704768f7f7b216f54c5abf85f5849b2bc4b6173 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm c7c9caa93547245c9f891f0951c17c345d2f6c97 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm 3a2ff8b259d5eb02cec00cb78ad1cc52d57ad770 -Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm db4d800d8b324aa3fc2ec811339e6653973f6fda -Test::Harness cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm ff16eb902d35a5c8cf065999fb869f50cd5b63ee -Test::Harness cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm 992773df8e2027ebb264b9b4c8229feca069c487 -Test::Harness cpan/Test-Harness/lib/Test/Harness.pm 74b16495d3326641089b11498175cd4e9a666ce7 +Pod::Simple cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm 4108633c4f40f7f63c5a0245df2b07a4a2f22fec +Pod::Simple cpan/Pod-Simple/lib/Pod/Simple/Search.pm 7a48823f9faec6d6bbef08060e679e46ccf60bc8 +Scalar-List-Utils cpan/Scalar-List-Utils/lib/List/Util.pm 62d2a82a811b531a3fd25cb60c4c2ef943858892 +Scalar-List-Utils cpan/Scalar-List-Utils/lib/List/Util/XS.pm 08abbe1a707927cee53e85ba85d6bd35c1c2ae50 +Scalar-List-Utils cpan/Scalar-List-Utils/lib/Scalar/Util.pm 7f1e6eb11105623200ef9cdcb881545ccb769ded +Scalar-List-Utils cpan/Scalar-List-Utils/lib/Sub/Util.pm d87811528ae3587f04e2f09894b8c88471754386 +Scalar-List-Utils cpan/Scalar-List-Utils/ListUtil.xs ed25abc419771d6f3f12323f1f0a372f043d51b2 Text::ParseWords cpan/Text-ParseWords/t/ParseWords.t 9bae51c9b944cd5c0bbabe9d397e573976a2be8e Win32API::File cpan/Win32API-File/buffers.h 02d230ac9ac7091365128161a0ed671898baefae Win32API::File cpan/Win32API-File/cFile.h fca7e383e76979c3ac3adf12d11d1bcd2618e489 @@ -150,20 +49,7 @@ Win32API::File cpan/Win32API-File/Makefile.PL 605d0aee31aebe84a99408f9ab5f644db5 Win32API::File cpan/Win32API-File/t/file.t 124e64aa77e755235eb297644a87fac5388d3d78 Win32API::File cpan/Win32API-File/t/tie.t 712ea7edd0cc805ce1c0b8172c01b03dd19b583d Win32API::File cpan/Win32API-File/typemap 24bff088babeadac0873e8df390d1666d9d9db4a -libnet cpan/libnet/lib/Net/Cmd.pm 4a9f6e4501549a2d7a04fbf5f9e27ab0c00976f2 -libnet cpan/libnet/lib/Net/Config.pm dfa96dcd5a459f9f39e5ca513cefc82b8178520f -libnet cpan/libnet/lib/Net/Domain.pm 090c8c06e210102dcf25e6820c6b43b5464ec49a -libnet cpan/libnet/lib/Net/FTP.pm d2ba0c0acbb12274bdbdcc9a2f796dfdefffee3a -libnet cpan/libnet/lib/Net/FTP/A.pm 5ab6b4c5842496fb1c20e2669149d38b77f956b9 -libnet cpan/libnet/lib/Net/FTP/dataconn.pm 51d87f91be37eff42450e783aa59e7253f5d6757 -libnet cpan/libnet/lib/Net/FTP/E.pm 58e16ebdce1299cfbc571eedcc5b8f39de28995d -libnet cpan/libnet/lib/Net/FTP/I.pm 2be52cbb7621be0cb3b05c3c5e40cb674dbde379 -libnet cpan/libnet/lib/Net/FTP/L.pm 0d74596453fa3cdcffc793ce3b39144dc33138a3 -libnet cpan/libnet/lib/Net/Netrc.pm 4f633af3bcbb8fe3d66bc048c5399e15a6ae9339 -libnet cpan/libnet/lib/Net/NNTP.pm 8f1e0cdb2746b88245394fc4301b36be162cd8ff -libnet cpan/libnet/lib/Net/POP3.pm dfd924fac6041c163f93e1b0006370eb55894f19 -libnet cpan/libnet/lib/Net/SMTP.pm 5dbb1d3bc93f00f130c7f62b15b9fa48c4fa99fd -libnet cpan/libnet/lib/Net/Time.pm ddc742bc1d386ab6778090afb374d21bdc664d40 +autodie cpan/autodie/t/mkdir.t 9e70d2282a3cc7d76a78bf8144fccba20fb37dac podlators cpan/podlators/scripts/pod2man.PL f81acf53f3ff46cdcc5ebdd661c5d13eb35d20d6 podlators cpan/podlators/scripts/pod2text.PL b4693fcfe4a0a1b38a215cfb8985a65d5d025d69 version cpan/version/lib/version.pm d0923b895d57f1d669ae36fcf85c87b16db341d1 diff --git a/t/porting/known_pod_issues.dat b/t/porting/known_pod_issues.dat index cf0b19b..98c2c58 100644 --- a/t/porting/known_pod_issues.dat +++ b/t/porting/known_pod_issues.dat @@ -108,7 +108,6 @@ Lingua::KO::Romanize::Hangul Lingua::ZH::Romanize::Pinyin List::Gather local::lib -Log::Agent Log::Message Log::Message::Config Log::Message::Handlers @@ -320,7 +319,7 @@ pod/perltru64.pod Verbatim line length including indents exceeds 79 by 5 pod/perlwin32.pod Verbatim line length including indents exceeds 79 by 12 porting/epigraphs.pod Verbatim line length including indents exceeds 79 by 16 porting/expand-macro.pl Verbatim line length including indents exceeds 79 by 2 -porting/release_managers_guide.pod Verbatim line length including indents exceeds 79 by 1 +porting/release_managers_guide.pod Verbatim line length including indents exceeds 79 by 7 porting/todo.pod Verbatim line length including indents exceeds 79 by 7 utils/c2ph Verbatim line length including indents exceeds 79 by 44 utils/encguess Apparent broken link 1 diff --git a/t/re/pat.t b/t/re/pat.t index 3377b19..64f6487 100644 --- a/t/re/pat.t +++ b/t/re/pat.t @@ -23,7 +23,7 @@ BEGIN { skip_all_without_unicode_tables(); } -plan tests => 775; # Update this when adding/deleting tests. +plan tests => 774; # Update this when adding/deleting tests. run_tests() unless caller; @@ -1675,22 +1675,6 @@ EOP "test that we handle things like m/\\888888888/ without infinite loops" ); } - { # Test that we handle some malformed UTF-8 without looping [perl - # #123562] - - my $code=' - BEGIN{require q(test.pl);} - use Encode qw(_utf8_on); - my $malformed = "a\x80\n"; - _utf8_on($malformed); - watchdog(3); - $malformed =~ /(\n\r|\r)$/; - print q(No infinite loop here!); - '; - fresh_perl_like($code, qr/Malformed UTF-8 character/, {}, - "test that we handle some UTF-8 malformations without looping" ); - } - { # [perl #123843] hits SEGV trying to compile this pattern my $match; diff --git a/t/re/pat_advanced.t b/t/re/pat_advanced.t index 891bb66..230fd89 100644 --- a/t/re/pat_advanced.t +++ b/t/re/pat_advanced.t @@ -28,57 +28,6 @@ run_tests() unless caller; sub run_tests { { - no warnings 'deprecated'; - - my $message = '\C matches octet'; - $_ = "a\x{100}b"; - ok(/(.)(\C)(\C)(.)/, $message); - is($1, "a", $message); - if ($::IS_ASCII) { # ASCII (or equivalent), should be UTF-8 - is($2, "\xC4", $message); - is($3, "\x80", $message); - } - elsif ($::IS_EBCDIC) { # EBCDIC (or equivalent), should be UTF-EBCDIC - is($2, "\x8C", $message); - is($3, "\x41", $message); - } - else { - SKIP: { - ok 0, "Unexpected platform", "ord ('A') =" . ord 'A'; - skip "Unexpected platform"; - } - } - is($4, "b", $message); - } - - { - no warnings 'deprecated'; - - my $message = '\C matches octet'; - $_ = "\x{100}"; - ok(/(\C)/g, $message); - if ($::IS_ASCII) { - is($1, "\xC4", $message); - } - elsif ($::IS_EBCDIC) { - is($1, "\x8C", $message); - } - else { - ok 0, "Unexpected platform", "ord ('A') = " . ord 'A'; - } - ok(/(\C)/g, $message); - if ($::IS_ASCII) { - is($1, "\x80", $message); - } - elsif ($::IS_EBCDIC) { - is($1, "\x41", $message); - } - else { - ok 0, "Unexpected platform", "ord ('A') = " . ord 'A'; - } - } - - { # Japhy -- added 03/03/2001 () = (my $str = "abc") =~ /(...)/; $str = "def"; @@ -284,24 +233,6 @@ sub run_tests { } { - no warnings 'deprecated'; - - my $message = '. matches \n with /s'; - my $str1 = "foo\nbar"; - my $str2 = "foo\n\x{100}bar"; - my ($a, $b) = map {chr} $::IS_ASCII ? (0xc4, 0x80) : (0x8c, 0x41); - my @a; - @a = $str1 =~ /./g; is(@a, 6, $message); is("@a", "f o o b a r", $message); - @a = $str1 =~ /./gs; is(@a, 7, $message); is("@a", "f o o \n b a r", $message); - @a = $str1 =~ /\C/g; is(@a, 7, $message); is("@a", "f o o \n b a r", $message); - @a = $str1 =~ /\C/gs; is(@a, 7, $message); is("@a", "f o o \n b a r", $message); - @a = $str2 =~ /./g; is(@a, 7, $message); is("@a", "f o o \x{100} b a r", $message); - @a = $str2 =~ /./gs; is(@a, 8, $message); is("@a", "f o o \n \x{100} b a r", $message); - @a = $str2 =~ /\C/g; is(@a, 9, $message); is("@a", "f o o \n $a $b b a r", $message); - @a = $str2 =~ /\C/gs; is(@a, 9, $message); is("@a", "f o o \n $a $b b a r", $message); - } - - { no warnings 'digit'; # Check that \x## works. 5.6.1 and 5.005_03 fail some of these. my $x; @@ -492,11 +423,6 @@ sub run_tests { =~ /^(\X)!/ && $1 eq "\N{LATIN CAPITAL LETTER E}\N{COMBINING GRAVE ACCENT}", $message); - no warnings 'deprecated'; - - $message = '\C and \X'; - like("!abc!", qr/a\Cc/, $message); - like("!abc!", qr/a\Xc/, $message); } { @@ -552,13 +478,6 @@ sub run_tests { $& eq "Francais", $message); ok("Fran\N{LATIN SMALL LETTER C WITH CEDILLA}ais" =~ /Fran.ais/ && $& eq "Fran\N{LATIN SMALL LETTER C WITH CEDILLA}ais", $message); - { - no warnings 'deprecated'; - ok("Fran\N{LATIN SMALL LETTER C}ais" =~ /Fran\Cais/ && - $& eq "Francais", $message); - # COMBINING CEDILLA is two bytes when encoded - like("Franc\N{COMBINING CEDILLA}ais", qr/Franc\C\Cais/, $message); - } ok("Fran\N{LATIN SMALL LETTER C}ais" =~ /Fran\Xais/ && $& eq "Francais", $message); ok("Fran\N{LATIN SMALL LETTER C WITH CEDILLA}ais" =~ /Fran\Xais/ && @@ -1114,8 +1033,6 @@ sub run_tests { # differently undef $w; eval q [ok "\N{TOO-LONG-STR}" =~ /^\N{TOO-LONG-STR}$/, 'Verify that what once was too long a string works']; - eval 'q(syntax error) =~ /\N{MALFORMED}/'; - ok $@ && $@ =~ /Malformed/, 'Verify that malformed utf8 gives an error'; eval 'q() =~ /\N{4F}/'; ok $@ && $@ =~ /Invalid character/, 'Verify that leading digit in name gives error'; eval 'q() =~ /\N{COM,MA}/'; diff --git a/t/re/pat_rt_report.t b/t/re/pat_rt_report.t index ed8fafc..f35e72c 100644 --- a/t/re/pat_rt_report.t +++ b/t/re/pat_rt_report.t @@ -20,7 +20,7 @@ use warnings; use 5.010; use Config; -plan tests => 2532; # Update this when adding/deleting tests. +plan tests => 2500; # Update this when adding/deleting tests. run_tests() unless caller; @@ -89,13 +89,6 @@ sub run_tests { } { - no warnings 'deprecated'; - my $message = '\C and É; Bug 20001230.002'; - ok("École" =~ /^\C\C(.)/ && $1 eq 'c', $message); - like("École", qr/^\C\C(c)/, $message); - } - - { # The original bug report had 'no utf8' here but that was irrelevant. my $message = "Don't dump core; Bug 20010306.008"; @@ -233,59 +226,6 @@ sub run_tests { } { - our $a = "x\x{100}"; - chop $a; # Leaves the UTF-8 flag - $a .= "y"; # 1 byte before 'y'. - - no warnings 'deprecated'; - - like($a, qr/^\C/, 'match one \C on 1-byte UTF-8; Bug 15763'); - like($a, qr/^\C{1}/, 'match \C{1}; Bug 15763'); - - like($a, qr/^\Cy/, 'match \Cy; Bug 15763'); - like($a, qr/^\C{1}y/, 'match \C{1}y; Bug 15763'); - - unlike($a, qr/^\C\Cy/, q {don't match two \Cy; Bug 15763}); - unlike($a, qr/^\C{2}y/, q {don't match \C{2}y; Bug 15763}); - - $a = "\x{100}y"; # 2 bytes before "y" - - like($a, qr/^\C/, 'match one \C on 2-byte UTF-8; Bug 15763'); - like($a, qr/^\C{1}/, 'match \C{1}; Bug 15763'); - like($a, qr/^\C\C/, 'match two \C; Bug 15763'); - like($a, qr/^\C{2}/, 'match \C{2}; Bug 15763'); - - like($a, qr/^\C\C\C/, 'match three \C on 2-byte UTF-8 and a byte; Bug 15763'); - like($a, qr/^\C{3}/, 'match \C{3}; Bug 15763'); - - like($a, qr/^\C\Cy/, 'match two \C; Bug 15763'); - like($a, qr/^\C{2}y/, 'match \C{2}; Bug 15763'); - - unlike($a, qr/^\C\C\Cy/, q {don't match three \Cy; Bug 15763}); - unlike($a, qr/^\C{2}\Cy/, q {don't match \C{2}\Cy; Bug 15763}); - unlike($a, qr/^\C{3}y/, q {don't match \C{3}y; Bug 15763}); - - $a = "\x{1000}y"; # 3 bytes before "y" - - like($a, qr/^\C/, 'match one \C on three-byte UTF-8; Bug 15763'); - like($a, qr/^\C{1}/, 'match \C{1}; Bug 15763'); - like($a, qr/^\C\C/, 'match two \C; Bug 15763'); - like($a, qr/^\C{2}/, 'match \C{2}; Bug 15763'); - like($a, qr/^\C\C\C/, 'match three \C; Bug 15763'); - like($a, qr/^\C{3}/, 'match \C{3}; Bug 15763'); - - like($a, qr/^\C\C\C\C/, 'match four \C on three-byte UTF-8 and a byte; Bug 15763'); - like($a, qr/^\C{4}/, 'match \C{4}; Bug 15763'); - - like($a, qr/^\C\C\Cy/, 'match three \Cy; Bug 15763'); - like($a, qr/^\C{3}y/, 'match \C{3}y; Bug 15763'); - - unlike($a, qr/^\C\C\C\Cy/, q {don't match four \Cy; Bug 15763}); - unlike($a, qr/^\C{4}y/, q {don't match \C{4}y; Bug 15763}); - } - - - { my $message = 'UTF-8 matching; Bug 15397'; like("\x{100}", qr/\x{100}/, $message); like("\x{100}", qr/(\x{100})/, $message); @@ -1173,13 +1113,6 @@ EOP # in the report above that only happened in a thread. my $s = "\x{1ff}" . "f" x 32; ok($s =~ /\x{1ff}[[:alpha:]]+/gca, "POSIXA pointer wrap"); - - # this one segfaulted under the conditions above - # of course, CANY is evil, maybe it should crash - { - no warnings 'deprecated'; - ok($s =~ /.\C+/, "CANY pointer wrap"); - } } } # End of sub run_tests diff --git a/t/re/re_tests b/t/re/re_tests index 85ce7f4..a5f0527 100644 --- a/t/re/re_tests +++ b/t/re/re_tests @@ -134,14 +134,7 @@ a[^]b]c adc y $& adc \By\b xy y - - \by\B yz y - - \By\B xyz y - - -\b n - - -\b{gcb} n - - -\b{sb} n - - -\b{wb} n - - \B y - - -\B{gcb} y - - -\B{sb} y - - -\B{wb} y - - \w a y - - \w - n - - \W a n - - @@ -1613,8 +1606,6 @@ a(.)\4294967298 ab\o{42}94967298 ya $1 b \d not converted to native; \o{} is ^m?(\d)(.*)\1$ 5b5 y $1 5 ^m?(\d)(.*)\1$ aba n - - -^_?[^\W_0-9]\w\z \xAA\x{100} y $& \xAA\x{100} [perl #127537] - # 17F is 'Long s'; This makes sure the a's in /aa can be separate /s/ai \x{17F} y $& \x{17F} /s/aia \x{17F} n - - @@ -1934,13 +1925,5 @@ A+(*PRUNE)BC(?{}) AAABC y $& AAABC /w\zxy?\z/i \x{100}a\x{80}a n - - /w\z\R\z/i \x{100}a\x{80}a n - - -/(a+){1}+a/ aaa n - - # [perl #125825] - -(?i - c - Sequence (?... not terminated -(?a-x - c - Sequence (?... not terminated -.{1}?? - c - Nested quantifiers -.{1}?+ - c - Nested quantifiers -(?:.||)(?|)000000000@ 000000000@ y $& 000000000@ # [perl #126405] - # Keep these lines at the end of the file # vim: softtabstop=0 noexpandtab diff --git a/t/re/reg_mesg.t b/t/re/reg_mesg.t index e9509ce..452d982 100644 --- a/t/re/reg_mesg.t +++ b/t/re/reg_mesg.t @@ -219,8 +219,6 @@ my @death = '/(?[ \x{} ])/' => 'Number with no digits {#} m/(?[ \x{}{#} ])/', '/(?[ \cK + ) ])/' => 'Unexpected \')\' {#} m/(?[ \cK + ){#} ])/', '/(?[ \cK + ])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[ \cK + {#}])/', - '/(?[ ( ) ])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[ ( ) {#}])/', - '/(?[[0]+()+])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[[0]+()+{#}])/', '/(?[ \p{foo} ])/' => 'Property \'foo\' is unknown {#} m/(?[ \p{foo}{#} ])/', '/(?[ \p{ foo = bar } ])/' => 'Property \'foo = bar\' is unknown {#} m/(?[ \p{ foo = bar }{#} ])/', '/(?[ \8 ])/' => 'Unrecognized escape \8 in character class {#} m/(?[ \8{#} ])/', @@ -260,8 +258,6 @@ my @death = 'm/\cß/' => "Character following \"\\c\" must be printable ASCII", '/((?# This is a comment in the middle of a token)?:foo)/' => 'In \'(?...)\', the \'(\' and \'?\' must be adjacent {#} m/((?# This is a comment in the middle of a token)?{#}:foo)/', '/((?# This is a comment in the middle of a token)*FAIL)/' => 'In \'(*VERB...)\', the \'(\' and \'*\' must be adjacent {#} m/((?# This is a comment in the middle of a token)*{#}FAIL)/', - '/(?[\ &!])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[\ &!{#}])/', # [perl #126180] - '/(?[!()])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[!(){#}])/', # [perl #126404] ); # These are messages that are warnings when not strict; death under 'use re @@ -509,6 +505,7 @@ my @warning = ( 'Useless (?c) - use /gc modifier {#} m/(?ogc{#})\x{100}/', ], '/a{1,1}?\x{100}/' => 'Useless use of greediness modifier \'?\' {#} m/a{1,1}?{#}\x{100}/', + '/b{3} +\x{100}/x' => 'Useless use of greediness modifier \'+\' {#} m/b{3} +{#}\x{100}/', "/(?[ [ % - % ] ])/" => "", "/(?[ [ : - \\x$colon_hex ] ])\\x{100}/" => "\": - \\x$colon_hex \" is more clearly written simply as \":\" {#} m/(?[ [ : - \\x$colon_hex {#}] ])\\x{100}/", "/(?[ [ \\x$colon_hex - : ] ])\\x{100}/" => "\"\\x$colon_hex\ - : \" is more clearly written simply as \":\" {#} m/(?[ [ \\x$colon_hex - : {#}] ])\\x{100}/", diff --git a/t/re/regex_sets.t b/t/re/regex_sets.t index 1848cac..48a4f00 100644 --- a/t/re/regex_sets.t +++ b/t/re/regex_sets.t @@ -96,40 +96,6 @@ like("k", $still_fold, "/i on interpolated (?[ ]) is retained in outer without / eval 'my $x = qr/(?[ [a] ])/; qr/(?[ $x ])/'; is($@, "", 'qr/(?[ [a] ])/ can be interpolated'); -like("B", qr/(?[ [B] | ! ( [^B] ) ])/, "[perl #125892]"); - -# RT #126181: \cX behaves strangely inside (?[]) -{ - no warnings qw(syntax regexp); - - eval { $_ = '/(?[(\c]) /'; qr/$_/ }; - like($@, qr/^Syntax error/, '/(?[(\c]) / should not panic'); - eval { $_ = '(?[\c#]' . "\n])"; qr/$_/ }; - like($@, qr/^Syntax error/, '/(?[(\c]) / should not panic'); - eval { $_ = '(?[(\c])'; qr/$_/ }; - like($@, qr/^Syntax error/, '/(?[(\c])/ should be a syntax error'); - eval { $_ = '(?[(\c]) ]\b'; qr/$_/ }; - like($@, qr/^Syntax error/, '/(?[(\c]) ]\b/ should be a syntax error'); - eval { $_ = '(?[\c[]](])'; qr/$_/ }; - like($@, qr/^Syntax error/, '/(?[\c[]](])/ should be a syntax error'); - like("\c#", qr/(?[\c#])/, '\c# should match itself'); - like("\c[", qr/(?[\c[])/, '\c[ should match itself'); - like("\c\ ", qr/(?[\c\])/, '\c\ should match itself'); - like("\c]", qr/(?[\c]])/, '\c] should match itself'); -} - -# RT #126481 !! with syntax error panics -{ - fresh_perl_like('no warnings "experimental::regex_sets"; qr/(?[ ! ! (\w])/', - qr/^Unmatched \(/, {}, - 'qr/(?[ ! ! (\w])/ doesnt panic'); - # The following didn't panic before, but easy to add this here with a - # paren between the !! - fresh_perl_like('no warnings "experimental::regex_sets";qr/(?[ ! ( ! (\w)])/', - qr/^Unmatched \(/, {}, - 'qr/qr/(?[ ! ( ! (\w)])/'); -} - done_testing(); 1; diff --git a/t/re/subst.t b/t/re/subst.t index 4c661a9..6963c42 100644 --- a/t/re/subst.t +++ b/t/re/subst.t @@ -8,7 +8,7 @@ BEGIN { require './charset_tools.pl'; } -plan( tests => 268 ); +plan( tests => 261 ); $_ = 'david'; $a = s/david/rules/r; @@ -1034,25 +1034,6 @@ SKIP: { is("$division$division$division" =~ s/\B/!/ugr, "!$division!$division!$division!", '\\B matches Latin1 before string, mid, and end, /u'); is("\x{2028}\x{2028}\x{2028}" =~ s/\B/!/ugr, "!\x{2028}!\x{2028}!\x{2028}!", '\\B matches above-Latin1 before string, mid, and end, /u'); - fresh_perl_like( '$_=""; /\b{gcb}/; s///g', qr/^$/, {}, - '[perl #126319: Segmentation fault in Perl_sv_catpvn_flags with \b{gcb}' - ); - fresh_perl_like( '$_=""; /\B{gcb}/; s///g', qr/^$/, {}, - '[perl #126319: Segmentation fault in Perl_sv_catpvn_flags with \b{gcb}' - ); - fresh_perl_like( '$_=""; /\b{wb}/; s///g', qr/^$/, {}, - '[perl #126319: Segmentation fault in Perl_sv_catpvn_flags with \b{wb}' - ); - fresh_perl_like( '$_=""; /\B{wb}/; s///g', qr/^$/, {}, - '[perl #126319: Segmentation fault in Perl_sv_catpvn_flags with \b{wb}' - ); - fresh_perl_like( '$_=""; /\b{sb}/; s///g', qr/^$/, {}, - '[perl #126319: Segmentation fault in Perl_sv_catpvn_flags with \b{sb}' - ); - fresh_perl_like( '$_=""; /\B{sb}/; s///g', qr/^$/, {}, - '[perl #126319: Segmentation fault in Perl_sv_catpvn_flags with \b{sb}' - ); - SKIP: { eval { require POSIX; POSIX->import("locale_h"); }; if ($@ || !eval { &POSIX::LC_ALL; 1 }) { @@ -1080,8 +1061,3 @@ SKIP: { $s1 =~ s/.?/$s1++/ge; is($s1, "01","RT #123954 s1"); } -{ - # RT #126602 double free if the value being modified is freed in the replacement - fresh_perl_is('s//*_=0;s|0||;00.y0/e; print qq(ok\n)', "ok\n", { stderr => 1 }, - "[perl #126602] s//*_=0;s|0||/e crashes"); -} diff --git a/t/run/locale.t b/t/run/locale.t index bd1a034..eb1202b 100644 --- a/t/run/locale.t +++ b/t/run/locale.t @@ -27,6 +27,9 @@ my @locales = eval { find_locales( [ &LC_ALL, &LC_CTYPE, &LC_NUMERIC ], ) }; skip_all("no locales available") unless @locales; +# reset the locale environment +local @ENV{'LANG', (grep /^LC_/, keys %ENV)}; + plan tests => &last; my $non_C_locale; @@ -58,9 +61,6 @@ EOF SKIP: { skip("Windows stores locale defaults in the registry", 1 ) if $^O eq 'MSWin32'; - local $ENV{LC_NUMERIC}; # So not taken as a default - local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC - local $ENV{LANG}; # So not taken as a default fresh_perl_is("for (qw(@locales)) {\n" . <<'EOF', use POSIX qw(locale_h); use locale; @@ -120,7 +120,6 @@ SKIP: { note("using the '$different' locale for LC_NUMERIC tests"); { local $ENV{LC_NUMERIC} = $different; - local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC fresh_perl_is(<<'EOF', "4.2", {}, format STDOUT = @@ -260,7 +259,6 @@ EOF { local $ENV{LC_NUMERIC} = $different; - local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC fresh_perl_is(<<'EOF', "$difference "x4, {}, use locale; use POSIX qw(locale_h); @@ -272,8 +270,6 @@ EOF { local $ENV{LC_NUMERIC} = $different; - local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC - local $ENV{LANG}; # so on Windows gets sys default locale fresh_perl_is(<<'EOF', "$difference "x4, {}, use locale; use POSIX qw(locale_h); @@ -348,7 +344,6 @@ EOF { local $ENV{LC_NUMERIC} = $different; - local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC fresh_perl_is(<<"EOF", use POSIX qw(locale_h); diff --git a/t/run/switchDx.t b/t/run/switchDx.t deleted file mode 100644 index acb2995..0000000 --- a/t/run/switchDx.t +++ /dev/null @@ -1,50 +0,0 @@ -#!./perl -w -BEGIN { - chdir 't' if -d 't'; - @INC = '../lib'; - require './test.pl'; - skip_all_if_miniperl(); -} - -use Config; - -my $perlio_log = "perlio$$.txt"; - -skip_all "DEBUGGING build required" - unless $::Config{ccflags} =~ /DEBUGGING/ - or $^O eq 'VMS' && $::Config{usedebugging_perl} eq 'Y'; - -plan tests => 8; - -END { - unlink $perlio_log; -} -{ - unlink $perlio_log; - local $ENV{PERLIO_DEBUG} = $perlio_log; - fresh_perl_is("print qq(hello\n)", "hello\n", - { stderr => 1 }, - "No perlio debug file without -Di..."); - ok(!-e $perlio_log, "...no perlio.txt found"); - fresh_perl_is("print qq(hello\n)", "\nEXECUTING...\n\nhello\n", - { stderr => 1, switches => [ "-Di" ] }, - "Perlio debug file with both -Di and PERLIO_DEBUG..."); - ok(-e $perlio_log, "... perlio debugging file found with -Di and PERLIO_DEBUG"); - - unlink $perlio_log; - fresh_perl_like("print qq(hello\n)", qr/define raw/, - { stderr => 1, switches => [ "-TDi" ] }, - "Perlio debug output to stderr with -TDi (with PERLIO_DEBUG)..."); - ok(!-e $perlio_log, "...no perlio debugging file found"); -} - -{ - local $ENV{PERLIO_DEBUG}; - fresh_perl_like("print qq(hello)", qr/define raw/, - { stderr => 1, switches => [ '-Di' ] }, - "-Di defaults to stderr"); - fresh_perl_like("print qq(hello)", qr/define raw/, - { stderr => 1, switches => [ '-TDi' ] }, - "Perlio debug output to STDERR with -TDi (no PERLIO_DEBUG)"); -} - diff --git a/t/win32/crypt.t b/t/win32/crypt.t deleted file mode 100644 index f0e89ab..0000000 --- a/t/win32/crypt.t +++ /dev/null @@ -1,41 +0,0 @@ -#!./perl - -BEGIN { - chdir 't' if -d 't'; - @INC = '../lib'; - require "./test.pl"; - eval 'use Errno'; - die $@ if $@ and !is_miniperl(); -} - -my @bad_salts = - ( - [ '', 'zero-length' ], - [ 'a', 'length 1' ], - [ '!a', 'bad first character' ], - [ 'a!', 'bad second character' ], - [ '@a', 'fencepost before A' ], - [ '[a', 'fencepost after Z' ], - [ '`a', 'fencepost before a' ], - [ '{a', 'fencepost after z' ], - [ '-a', 'fencepost before .' ], - [ ':a', 'fencepost after 9' ], - ); - -my @good_salts = qw(aa zz AA ZZ .. 99); - -plan tests => 2 * @bad_salts + 1 + @good_salts; - -for my $bad_salt (@bad_salts) { - my ($salt, $what) = @$bad_salt; - $! = 0; - is(crypt("abc", $salt), undef, "bad salt ($what)"); - is(0+$!, &Errno::EINVAL, "check errno ($what)"); -} - -is(crypt("abcdef", "ab"), "abDMWw5NL.afs", "sanity check result"); - -# just to check we're not rejecting any good salts -for my $good_salt (@good_salts) { - isnt(crypt("abcdef", $good_salt), undef, "good salt $good_salt"); -} diff --git a/toke.c b/toke.c index 8dfc128..4962521 100644 --- a/toke.c +++ b/toke.c @@ -1690,7 +1690,7 @@ S_incline(pTHX_ const char *s) } else { t = s; - while (*t && !isSPACE(*t)) + while (!isSPACE(*t)) t++; e = t; } @@ -6149,18 +6149,11 @@ Perl_yylex(pTHX) TOKEN('$'); case '@': - if (PL_expect == XPOSTDEREF) - POSTDEREF('@'); + if (PL_expect == XOPERATOR) + no_op("Array", s); + else if (PL_expect == XPOSTDEREF) POSTDEREF('@'); PL_tokenbuf[0] = '@'; s = scan_ident(s, PL_tokenbuf + 1, sizeof PL_tokenbuf - 1, FALSE); - if (PL_expect == XOPERATOR) { - d = s; - if (PL_bufptr > s) { - d = PL_bufptr-1; - PL_bufptr = PL_oldbufptr; - } - no_op("Array", d); - } pl_yylval.ival = 0; if (!PL_tokenbuf[1]) { PREREF('@'); @@ -6320,13 +6313,7 @@ Perl_yylex(pTHX) case '`': s = scan_str(s,FALSE,FALSE,FALSE,NULL); - DEBUG_T( { - if (s) - printbuf("### Saw backtick string before %s\n", s); - else - PerlIO_printf(Perl_debug_log, - "### Saw unterminated backtick string\n"); - } ); + DEBUG_T( { printbuf("### Saw backtick string before %s\n", s); } ); if (PL_expect == XOPERATOR) no_op("Backticks",s); if (!s) @@ -8042,13 +8029,7 @@ Perl_yylex(pTHX) if (*s == ':' && s[1] != ':') PL_expect = attrful; - else if ((*s != '{' && *s != '(') && key != KEY_format) { - assert(key == KEY_sub || key == KEY_AUTOLOAD || - key == KEY_DESTROY || key == KEY_BEGIN || - key == KEY_UNITCHECK || key == KEY_CHECK || - key == KEY_INIT || key == KEY_END || - key == KEY_my || key == KEY_state || - key == KEY_our); + else if ((*s != '{' && *s != '(') && key == KEY_sub) { if (!have_name) Perl_croak(aTHX_ "Illegal declaration of anonymous subroutine"); else if (*s != ';' && *s != '}') @@ -9330,10 +9311,9 @@ S_scan_heredoc(pTHX_ char *s) goto streaming; } } - else { /* eval or we've already hit EOF */ + else { /* eval */ s = (char*)memchr((void*)s, '\n', PL_bufend - s); - if (!s) - goto interminable; + assert(s); } linestr = shared->ls_linestr; bufend = SvEND(linestr); @@ -9387,14 +9367,12 @@ S_scan_heredoc(pTHX_ char *s) else { SV *linestr_save; - char *oldbufptr_save; streaming: sv_setpvs(tmpstr,""); /* avoid "uninitialized" warning */ term = PL_tokenbuf[1]; len--; linestr_save = PL_linestr; /* must restore this afterwards */ d = s; /* and this */ - oldbufptr_save = PL_oldbufptr; PL_linestr = newSVpvs(""); PL_bufend = SvPVX(PL_linestr); while (1) { @@ -9411,7 +9389,6 @@ S_scan_heredoc(pTHX_ char *s) restore PL_linestr. */ SvREFCNT_dec_NN(PL_linestr); PL_linestr = linestr_save; - PL_oldbufptr = oldbufptr_save; goto interminable; } CopLINE_set(PL_curcop, origline); @@ -9446,7 +9423,6 @@ S_scan_heredoc(pTHX_ char *s) PL_linestr = linestr_save; PL_linestart = SvPVX(linestr_save); PL_bufend = SvPVX(PL_linestr) + SvCUR(PL_linestr); - PL_oldbufptr = oldbufptr_save; s = d; break; } @@ -10047,7 +10023,6 @@ Perl_scan_num(pTHX_ const char *start, YYSTYPE* lvalp) * multiple fp operations. */ bool hexfp = FALSE; int total_bits = 0; - int significant_bits = 0; #if NVSIZE == 8 && defined(HAS_QUAD) && defined(Uquad_t) # define HEXFP_UQUAD Uquad_t hexfp_uquad = 0; @@ -10058,7 +10033,6 @@ Perl_scan_num(pTHX_ const char *start, YYSTYPE* lvalp) #endif NV hexfp_mult = 1.0; UV high_non_zero = 0; /* highest digit */ - int non_zero_integer_digits = 0; PERL_ARGS_ASSERT_SCAN_NUM; @@ -10211,9 +10185,6 @@ Perl_scan_num(pTHX_ const char *start, YYSTYPE* lvalp) if (high_non_zero == 0 && b > 0) high_non_zero = b; - if (high_non_zero) - non_zero_integer_digits++; - /* this could be hexfp, but peek ahead * to avoid matching ".." */ if (UNLIKELY(HEXFP_PEEK(s))) { @@ -10240,103 +10211,43 @@ Perl_scan_num(pTHX_ const char *start, YYSTYPE* lvalp) * detection will shortly be more thorough with the * underbar checks. */ const char* h = s; - significant_bits = non_zero_integer_digits * shift; #ifdef HEXFP_UQUAD hexfp_uquad = u; #else /* HEXFP_NV */ hexfp_nv = u; #endif - /* Ignore the leading zero bits of - * the high (first) non-zero digit. */ - if (high_non_zero) { - if (high_non_zero < 0x8) - significant_bits--; - if (high_non_zero < 0x4) - significant_bits--; - if (high_non_zero < 0x2) - significant_bits--; - } - if (*h == '.') { #ifdef HEXFP_NV - NV nv_mult = 1.0; + NV mult = 1 / 16.0; #endif - bool accumulate = TRUE; - for (h++; (isXDIGIT(*h) || *h == '_'); h++) { + h++; + while (isXDIGIT(*h) || *h == '_') { if (isXDIGIT(*h)) { U8 b = XDIGIT_VALUE(*h); - significant_bits += shift; + total_bits += shift; #ifdef HEXFP_UQUAD - if (accumulate) { - if (significant_bits < NV_MANT_DIG) { - /* We are in the long "run" of xdigits, - * accumulate the full four bits. */ - hexfp_uquad <<= shift; - hexfp_uquad |= b; - hexfp_frac_bits += shift; - } else { - /* We are at a hexdigit either at, - * or straddling, the edge of mantissa. - * We will try grabbing as many as - * possible bits. */ - int tail = - significant_bits - NV_MANT_DIG; - if (tail <= 0) - tail += shift; - hexfp_uquad <<= tail; - hexfp_uquad |= b >> (shift - tail); - hexfp_frac_bits += tail; - - /* Ignore the trailing zero bits - * of the last non-zero xdigit. - * - * The assumption here is that if - * one has input of e.g. the xdigit - * eight (0x8), there is only one - * bit being input, not the full - * four bits. Conversely, if one - * specifies a zero xdigit, the - * assumption is that one really - * wants all those bits to be zero. */ - if (b) { - if ((b & 0x1) == 0x0) { - significant_bits--; - if ((b & 0x2) == 0x0) { - significant_bits--; - if ((b & 0x4) == 0x0) { - significant_bits--; - } - } - } - } - - accumulate = FALSE; - } - } else { - /* Keep skipping the xdigits, and - * accumulating the significant bits, - * but do not shift the uquad - * (which would catastrophically drop - * high-order bits) or accumulate the - * xdigits anymore. */ - } + hexfp_uquad <<= shift; + hexfp_uquad |= b; + hexfp_frac_bits += shift; #else /* HEXFP_NV */ - if (accumulate) { - nv_mult /= 16.0; - if (nv_mult > 0.0) - hexfp_nv += b * nv_mult; - else - accumulate = FALSE; - } + hexfp_nv += b * mult; + mult /= 16.0; #endif } - if (significant_bits >= NV_MANT_DIG) - accumulate = FALSE; + h++; } } - if ((total_bits > 0 || significant_bits > 0) && - isALPHA_FOLD_EQ(*h, 'p')) { + if (total_bits >= 4) { + if (high_non_zero < 0x8) + total_bits--; + if (high_non_zero < 0x4) + total_bits--; + if (high_non_zero < 0x2) + total_bits--; + } + + if (total_bits > 0 && (isALPHA_FOLD_EQ(*h, 'p'))) { bool negexp = FALSE; h++; if (*h == '+') @@ -10352,21 +10263,23 @@ Perl_scan_num(pTHX_ const char *start, YYSTYPE* lvalp) hexfp_exp *= 10; hexfp_exp += *h - '0'; #ifdef NV_MIN_EXP - if (negexp - && -hexfp_exp < NV_MIN_EXP - 1) { + if (negexp && + -hexfp_exp < NV_MIN_EXP - 1) { Perl_ck_warner(aTHX_ packWARN(WARN_OVERFLOW), "Hexadecimal float: exponent underflow"); +#endif break; } -#endif + else { #ifdef NV_MAX_EXP - if (!negexp - && hexfp_exp > NV_MAX_EXP - 1) { - Perl_ck_warner(aTHX_ packWARN(WARN_OVERFLOW), + if (!negexp && + hexfp_exp > NV_MAX_EXP - 1) { + Perl_ck_warner(aTHX_ packWARN(WARN_OVERFLOW), "Hexadecimal float: exponent overflow"); - break; - } + break; + } #endif + } } h++; } @@ -10576,7 +10489,7 @@ Perl_scan_num(pTHX_ const char *start, YYSTYPE* lvalp) *d = '\0'; if (UNLIKELY(hexfp)) { # ifdef NV_MANT_DIG - if (significant_bits > NV_MANT_DIG) + if (total_bits > NV_MANT_DIG) Perl_ck_warner(aTHX_ packWARN(WARN_OVERFLOW), "Hexadecimal float: mantissa overflow"); # endif diff --git a/uconfig.h b/uconfig.h index f4f57dc..ce693a0 100644 --- a/uconfig.h +++ b/uconfig.h @@ -915,8 +915,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.22/unknown" / **/ -/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.22/unknown" / **/ +/*#define ARCHLIB "/usr/local/lib/perl5/5.23/unknown" / **/ +/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.23/unknown" / **/ /* ARCHNAME: * This symbol holds a string representing the architecture name. @@ -1932,10 +1932,8 @@ * LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN * LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN * LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN - * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE - * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE - * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE - * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE + * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN + * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN * LONG_DOUBLE_IS_UNKNOWN_FORMAT * It is only defined if the system supports long doubles. */ @@ -1949,14 +1947,9 @@ #define LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 2 #define LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN 3 #define LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN 4 -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE 5 -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE 6 -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE 7 -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE 8 +#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN 5 +#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN 6 #define LONG_DOUBLE_IS_UNKNOWN_FORMAT -1 -/* Backward compat. */ -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE #endif /* HAS_LONG_LONG: @@ -3082,8 +3075,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.22" /**/ -#define PRIVLIB_EXP "/usr/local/lib/perl5/5.22" /**/ +#define PRIVLIB "/usr/local/lib/perl5/5.23" /**/ +#define PRIVLIB_EXP "/usr/local/lib/perl5/5.23" /**/ /* CAN_PROTOTYPE: * If defined, this macro indicates that the C compiler can handle @@ -3226,8 +3219,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.22/unknown" / **/ -/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.22/unknown" / **/ +/*#define SITEARCH "/usr/local/lib/perl5/5.23/unknown" / **/ +/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.23/unknown" / **/ /* SITELIB: * This symbol contains the name of the private library for this package. @@ -3249,8 +3242,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.22" /**/ -#define SITELIB_EXP "/usr/local/lib/perl5/5.22" /**/ +#define SITELIB "/usr/local/lib/perl5/5.23" /**/ +#define SITELIB_EXP "/usr/local/lib/perl5/5.23" /**/ #define SITELIB_STEM "/usr/local/lib/perl5" /**/ /* Size_t_size: @@ -4809,6 +4802,53 @@ /*#define PERL_PRIeldbl "lle" / **/ /*#define PERL_SCNfldbl "llf" / **/ +/* DOUBLEINFBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes for the double precision infinity. + */ +/* DOUBLENANBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes (0xHH) for the double precision not-a-number. + */ +/* LONGDBLINFBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes for the long double precision infinity. + */ +/* LONGDBLNANBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes (0xHH) for the long double precision not-a-number. + */ +#define DOUBLEINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f /**/ +#define DOUBLENANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f /**/ +#define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /**/ +#define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /**/ + +/* DOUBLEMANTBITS: + * This symbol, if defined, tells how many mantissa bits + * there are in double precision floating point format. + * Note that this is usually DBL_MANT_DIG minus one, since + * with the standard IEEE 754 formats DBL_MANT_DIG includes + * the implicit bit, which doesn't really exist. + */ +#define DOUBLEMANTBITS 52 + +/* LONGDBLMANTBITS: + * This symbol, if defined, tells how many mantissa bits + * there are in long double precision floating point format. + * Note that this can be LDBL_MANT_DIG minus one, + * since LDBL_MANT_DIG can include the IEEE 754 implicit bit. + * The common x86-style 80-bit long double does not have + * an implicit bit. + */ +#define LONGDBLMANTBITS 64 + +/* NVMANTBITS: + * This symbol, if defined, tells how many mantissa bits + * (not including implicit bit) there are in a Perl NV. + * This depends on which floating point type was chosen. + */ +#define NVMANTBITS 52 /**/ + /* NEED_VA_COPY: * This symbol, if defined, indicates that the system stores * the variable argument list datatype, va_list, in a format @@ -5174,6 +5214,6 @@ #endif /* Generated from: - * 02c4c9c3e2a7fb7b5c1d2fd7e34acd5c6706d5fd7c40544a1e714355c2f2b264 config_h.SH - * 45fb46f69ab3d7fd8ea14fc29d490d044cbdd81e8a0111bc0b37aff4321d6182 uconfig.sh + * c784534c0c9ca4f445c518a18404c8fd0b3be9aac3de1ee4a94453807935584c config_h.SH + * 0ce9d24f6ed83c533882929bc7c0138fe345656c4b7070aad99bb103dbf3790a uconfig.sh * ex: set ro: */ diff --git a/uconfig.sh b/uconfig.sh index edd4719..bd889e3 100644 --- a/uconfig.sh +++ b/uconfig.sh @@ -6,8 +6,8 @@ afs='false' afsroot='/afs' alignbytes='4' aphostname='/bin/hostname' -archlib='/usr/local/lib/perl5/5.22/unknown' -archlibexp='/usr/local/lib/perl5/5.22/unknown' +archlib='/usr/local/lib/perl5/5.23/unknown' +archlibexp='/usr/local/lib/perl5/5.23/unknown' archname='unknown' asctime_r_proto='0' bin='/usr/local/bin' @@ -547,7 +547,10 @@ db_version_major='0' db_version_minor='0' db_version_patch='0' direntrytype='struct dirent' +doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f' doublekind='3' +doublemantbits='52' +doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f' doublesize='8' drand01="Perl_drand48()" drand48_r_proto='0' @@ -706,7 +709,10 @@ ivtype='long' ld_can_script='define' lib_ext='.a' localtime_r_proto='0' +longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' longdblkind=0 +longdblmantbits='64' +longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' longdblsize=8 longlongsize=8 longsize='4' @@ -731,6 +737,7 @@ nv_preserves_uv_bits='0' nveformat='"e"' nvfformat='"f"' nvgformat='"g"' +nvmantbits='52' nvsize='8' nvtype='double' o_nonblock='O_NONBLOCK' @@ -745,8 +752,8 @@ package='perl5' perl_static_inline='static' phostname='hostname' pidtype=int -privlib='/usr/local/lib/perl5/5.22' -privlibexp='/usr/local/lib/perl5/5.22' +privlib='/usr/local/lib/perl5/5.23' +privlibexp='/usr/local/lib/perl5/5.23' procselfexe='' prototype='undef' ptrsize='4' @@ -796,11 +803,11 @@ sig_name_init='0' sig_num_init='0' sig_size='1' signal_t=int -sitearch='/usr/local/lib/perl5/5.22/unknown' -sitearchexp='/usr/local/lib/perl5/5.22/unknown' -sitelib='/usr/local/lib/perl5/5.22' +sitearch='/usr/local/lib/perl5/5.23/unknown' +sitearchexp='/usr/local/lib/perl5/5.23/unknown' +sitelib='/usr/local/lib/perl5/5.23' sitelib_stem='/usr/local/lib/perl5' -sitelibexp='/usr/local/lib/perl5/5.22' +sitelibexp='/usr/local/lib/perl5/5.23' sizesize=4 sizetype='size_t' socksizetype='int' diff --git a/uconfig64.sh b/uconfig64.sh index b26f8fc..ec09c1e 100644 --- a/uconfig64.sh +++ b/uconfig64.sh @@ -7,8 +7,8 @@ afsroot='/afs' alignbytes='8' ansi2knr='' aphostname='/bin/hostname' -archlib='/usr/local/lib/perl5/5.22/unknown' -archlibexp='/usr/local/lib/perl5/5.22/unknown' +archlib='/usr/local/lib/perl5/5.23/unknown' +archlibexp='/usr/local/lib/perl5/5.23/unknown' archname='unknown64' asctime_r_proto='0' bin='/usr/local/bin' @@ -548,7 +548,10 @@ db_version_major='0' db_version_minor='0' db_version_patch='0' direntrytype='struct dirent' +doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f' doublekind='3' +doublemantbits='52' +doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f' doublesize='8' drand01="((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15))" drand48_r_proto='0' @@ -706,7 +709,10 @@ ivsize='8' ivtype='long' lib_ext='.a' localtime_r_proto='0' +longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' longdblkind=0 +longdblmantbits='64' +longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00' longdblsize=8 longlongsize=8 longsize='8' @@ -732,6 +738,7 @@ nv_preserves_uv_bits='0' nveformat='"e"' nvfformat='"f"' nvgformat='"g"' +nvmantbits='52' nvsize='8' nvtype='double' o_nonblock='O_NONBLOCK' @@ -746,8 +753,8 @@ package='perl5' perl_static_inline='static' phostname='hostname' pidtype=int -privlib='/usr/local/lib/perl5/5.22' -privlibexp='/usr/local/lib/perl5/5.22' +privlib='/usr/local/lib/perl5/5.23' +privlibexp='/usr/local/lib/perl5/5.23' procselfexe='' prototype='undef' ptrsize='8' @@ -797,11 +804,11 @@ sig_name_init='0' sig_num_init='0' sig_size='1' signal_t=int -sitearch='/usr/local/lib/perl5/5.22/unknown' -sitearchexp='/usr/local/lib/perl5/5.22/unknown' -sitelib='/usr/local/lib/perl5/5.22' +sitearch='/usr/local/lib/perl5/5.23/unknown' +sitearchexp='/usr/local/lib/perl5/5.23/unknown' +sitelib='/usr/local/lib/perl5/5.23' sitelib_stem='/usr/local/lib/perl5' -sitelibexp='/usr/local/lib/perl5/5.22' +sitelibexp='/usr/local/lib/perl5/5.23' sizesize=4 sizetype='size_t' socksizetype='int' diff --git a/unicode_constants.h b/unicode_constants.h index a7ddfeb..7da4eb3 100644 --- a/unicode_constants.h +++ b/unicode_constants.h @@ -171,7 +171,7 @@ #endif /* EBCDIC POSIX-BC */ /* The number of code points not matching \pC */ -#define NON_OTHER_COUNT_FOR_USE_ONLY_BY_REGCOMP_DOT_C 112806 +#define NON_OTHER_COUNT_FOR_USE_ONLY_BY_REGCOMP_DOT_C 120522 #endif /* H_UNICODE_CONSTANTS */ diff --git a/universal.c b/universal.c index 4b650c5..58b010b 100644 --- a/universal.c +++ b/universal.c @@ -205,7 +205,7 @@ Perl_sv_does_sv(pTHX_ SV *sv, SV *namesv, U32 flags) return FALSE; } - if (sv_isobject(sv)) { + if (SvROK(sv) && SvOBJECT(SvRV(sv))) { classname = sv_ref(NULL,SvRV(sv),TRUE); } else { classname = sv; diff --git a/util.c b/util.c index 457b013..990c083 100644 --- a/util.c +++ b/util.c @@ -2110,7 +2110,7 @@ Perl_my_setenv(pTHX_ const char *nam, const char *val) Configure doesn't test for that yet. For Solaris, setenv() and unsetenv() were introduced in Solaris 9, so testing for HAS UNSETENV is sufficient. */ -# if defined(__CYGWIN__)|| defined(__SYMBIAN32__) || defined(__riscos__) || (defined(__sun) && defined(HAS_UNSETENV)) || defined(PERL_DARWIN) +# if defined(__CYGWIN__)|| defined(__SYMBIAN32__) || defined(__riscos__) || (defined(__sun) && defined(HAS_UNSETENV)) # if defined(HAS_UNSETENV) if (val == NULL) { (void)unsetenv(nam); @@ -4884,8 +4884,6 @@ Perl_mem_log_alloc(const UV n, const UV typesize, const char *type_name, const char *filename, const int linenumber, const char *funcname) { - PERL_ARGS_ASSERT_MEM_LOG_ALLOC; - mem_log_common_if(MLT_ALLOC, n, typesize, type_name, NULL, NULL, newalloc, filename, linenumber, funcname); @@ -4898,8 +4896,6 @@ Perl_mem_log_realloc(const UV n, const UV typesize, const char *type_name, const char *filename, const int linenumber, const char *funcname) { - PERL_ARGS_ASSERT_MEM_LOG_REALLOC; - mem_log_common_if(MLT_REALLOC, n, typesize, type_name, NULL, oldalloc, newalloc, filename, linenumber, funcname); @@ -4911,8 +4907,6 @@ Perl_mem_log_free(Malloc_t oldalloc, const char *filename, const int linenumber, const char *funcname) { - PERL_ARGS_ASSERT_MEM_LOG_FREE; - mem_log_common_if(MLT_FREE, 0, 0, "", NULL, oldalloc, NULL, filename, linenumber, funcname); return oldalloc; @@ -6056,7 +6050,7 @@ static const char* atos_parse(const char* p, *source_name_size = source_name_end - p; if (grok_atoUV(source_number_start, &uv, &source_line_end) && source_line_end == close_paren - && uv <= PERL_INT_MAX + && uv <= MAX_STRLEN ) { *source_line = (STRLEN)uv; return p; @@ -6123,14 +6117,14 @@ static void atos_symbolize(atos_context* ctx, char out[1024]; UV cnt = fread(out, 1, sizeof(out), fp); if (cnt < sizeof(out)) { - const char* p = atos_parse(out + cnt - 1, out, + const char* p = atos_parse(out + cnt, out, source_name_size, source_line); if (p) { Newx(*source_name, - *source_name_size, char); + *source_name_size + 1, char); Copy(p, *source_name, - *source_name_size, char); + *source_name_size + 1, char); } } pclose(fp); @@ -6255,15 +6249,14 @@ Perl_get_c_backtrace(pTHX_ int depth, int skip) for (i = skip; i < try_depth; i++) { Dl_info* dl_info = &dl_infos[i]; - object_name_sizes[i] = 0; + total_bytes += sizeof(Perl_c_backtrace_frame); + source_names[i] = NULL; source_name_sizes[i] = 0; source_lines[i] = 0; /* Yes, zero from dladdr() is failure. */ if (dladdr(raw_frames[i], dl_info)) { - total_bytes += sizeof(Perl_c_backtrace_frame); - object_name_sizes[i] = dl_info->dli_fname ? strlen(dl_info->dli_fname) : 0; symbol_name_sizes[i] = diff --git a/utils/c2ph.PL b/utils/c2ph.PL index cef0b5c..13389ec 100644 --- a/utils/c2ph.PL +++ b/utils/c2ph.PL @@ -280,7 +280,6 @@ Anyway, here it is. Should run on perl v4 or greater. Maybe less. $RCSID = '$Id: c2ph,v 1.7 95/10/28 10:41:47 tchrist Exp Locker: tchrist $'; -BEGIN { pop @INC if $INC[-1] eq '.' } use File::Temp; ###################################################################### diff --git a/utils/h2ph.PL b/utils/h2ph.PL index 2523c0a..d082f22 100644 --- a/utils/h2ph.PL +++ b/utils/h2ph.PL @@ -36,8 +36,6 @@ $Config{startperl} print OUT <<'!NO!SUBS!'; -BEGIN { pop @INC if $INC[-1] eq '.' } - use strict; use Config; diff --git a/utils/h2xs.PL b/utils/h2xs.PL index 8fda87b..4cb0943 100644 --- a/utils/h2xs.PL +++ b/utils/h2xs.PL @@ -35,8 +35,6 @@ $Config{startperl} print OUT <<'!NO!SUBS!'; -BEGIN { pop @INC if $INC[-1] eq '.' } - use warnings; =head1 NAME diff --git a/utils/libnetcfg.PL b/utils/libnetcfg.PL index 26d2f99..59a2de8 100644 --- a/utils/libnetcfg.PL +++ b/utils/libnetcfg.PL @@ -97,7 +97,6 @@ Jarkko Hietaniemi, conversion into libnetcfg for inclusion into Perl 5.8. # $Id: Configure,v 1.8 1997/03/04 09:22:32 gbarr Exp $ -BEGIN { pop @INC if $INC[-1] eq '.' } use strict; use IO::File; use Getopt::Std; diff --git a/utils/perlbug.PL b/utils/perlbug.PL index ae8c343..885785a 100644 --- a/utils/perlbug.PL +++ b/utils/perlbug.PL @@ -57,7 +57,6 @@ print OUT <<'!NO!SUBS!'; my @patches = Config::local_patches(); my $patch_tags = join "", map /(\S+)/ ? "+$1 " : (), @patches; -BEGIN { pop @INC if $INC[-1] eq '.' } use warnings; use strict; use Config; diff --git a/utils/perldoc.PL b/utils/perldoc.PL index cd60bd4..e201de9 100644 --- a/utils/perldoc.PL +++ b/utils/perldoc.PL @@ -44,10 +44,7 @@ $Config{startperl} # This "$file" file was generated by "$0" require 5; -BEGIN { - \$^W = 1 if \$ENV{'PERLDOCDEBUG'}; - pop \@INC if \$INC[-1] eq '.'; -} +BEGIN { \$^W = 1 if \$ENV{'PERLDOCDEBUG'} } use Pod::Perldoc; exit( Pod::Perldoc->run() ); diff --git a/utils/perlivp.PL b/utils/perlivp.PL index e522913..c2f0a11 100644 --- a/utils/perlivp.PL +++ b/utils/perlivp.PL @@ -39,8 +39,6 @@ print OUT "\n# perlivp $^V\n"; print OUT <<'!NO!SUBS!'; -BEGIN { pop @INC if $INC[-1] eq '.' } - sub usage { warn "@_\n" if @_; print << " EOUSAGE"; diff --git a/utils/splain.PL b/utils/splain.PL index bbcdad6..9c70b61 100644 --- a/utils/splain.PL +++ b/utils/splain.PL @@ -38,12 +38,6 @@ $Config{startperl} if \$running_under_some_shell; !GROK!THIS! -print OUT <<'!NO!SUBS!'; - -BEGIN { pop @INC if $INC[-1] eq '.' } - -!NO!SUBS! - while () { print OUT unless /^package diagnostics/; } diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template index b8fea83..0e3e9b6 100644 --- a/vms/descrip_mms.template +++ b/vms/descrip_mms.template @@ -307,7 +307,7 @@ utils : $(utils1) $(utils2) $(utils3) $(utils4) $(utils5) extra.pods : miniperl @ @extra_pods.com -PERLDELTA_CURRENT = [.pod]perl5223delta.pod +PERLDELTA_CURRENT = [.pod]perl5230delta.pod $(PERLDELTA_CURRENT) : [.pod]perldelta.pod Copy/NoConfirm/Log $(MMS$SOURCE) $(PERLDELTA_CURRENT) diff --git a/vms/vms.c b/vms/vms.c index b6c6d12..953d8b8 100644 --- a/vms/vms.c +++ b/vms/vms.c @@ -1337,9 +1337,7 @@ prime_env_iter(void) if (!str$case_blind_compare(env_tables[i],&crtlenv)) { char *start; int j; - /* Start at the end, so if there is a duplicate we keep the first one. */ - for (j = 0; environ[j]; j++); - for (j--; j >= 0; j--) { + for (j = 0; environ[j]; j++) { if (!(start = strchr(environ[j],'='))) { if (ckWARN(WARN_INTERNAL)) Perl_warner(aTHX_ packWARN(WARN_INTERNAL),"Ill-formed CRTL environ value \"%s\"\n",environ[j]); diff --git a/win32/GNUmakefile b/win32/GNUmakefile new file mode 100644 index 0000000..27229a8 --- /dev/null +++ b/win32/GNUmakefile @@ -0,0 +1,1380 @@ +# +# Makefile to build perl on Windows using GNU make + gcc + MinGW. +# +# This is set up to build a perl.exe that runs off a shared library +# (perl523.dll). Also makes individual DLLs for the XS extensions. +# +# The easiest way to customize the build process is to use parameters like this: +# +# c:\dev\perlsrc\win32> gmake INST_TOP=c:\sw\perl CCHOME=c:\sw\mingw USE_64_BIT_INT=define + + +## +## Make sure you read README.win32 *before* you mess with anything here! +## + +# +# We set this to point to cmd.exe in case GNU Make finds sh.exe in the path. +# Comment this line out if necessary +# +SHELL := cmd.exe + +# define whether you want to use native gcc compiler or cross-compiler +# possible values: gcc +# i686-w64-mingw32-gcc +# x86_64-w64-mingw32-gcc +GCCBIN := gcc + +ifeq ($(GCCBIN),x86_64-w64-mingw32-gcc) +GCCCROSS := x86_64-w64-mingw32 +endif +ifeq ($(GCCBIN),i686-w64-mingw32-gcc) +GCCCROSS := i686-w64-mingw32 +endif + +GCCTARGET := $(shell $(GCCBIN) -dumpmachine) +GCCVER1 := $(shell for /f "delims=. tokens=1,2,3" %%i in ('gcc -dumpversion') do echo %%i) +GCCVER2 := $(shell for /f "delims=. tokens=1,2,3" %%i in ('gcc -dumpversion') do echo %%j) +GCCVER3 := $(shell for /f "delims=. tokens=1,2,3" %%i in ('gcc -dumpversion') do echo %%k) + +ifeq ($(GCCTARGET),x86_64-w64-mingw32) +WIN64 := define +ARCHITECTURE := x64 +endif +ifeq ($(GCCTARGET),i686-w64-mingw32) +WIN64 := undef +ARCHITECTURE := x86 +endif + +## +## Build configuration. Edit the values below to suit your needs. +## + +# +# Set these to wherever you want "gmake install" to put your +# newly built perl. +# +INST_DRV := c: +INST_TOP := $(INST_DRV)\perl + +# +# Comment this out if you DON'T want your perl installation to be versioned. +# This means that the new installation will overwrite any files from the +# old installation at the same INST_TOP location. Leaving it enabled is +# the safest route, as perl adds the extra version directory to all the +# locations it installs files to. If you disable it, an alternative +# versioned installation can be obtained by setting INST_TOP above to a +# path that includes an arbitrary version string. +# +#INST_VER := \5.23.0 + +# +# Comment this out if you DON'T want your perl installation to have +# architecture specific components. This means that architecture- +# specific files will be installed along with the architecture-neutral +# files. Leaving it enabled is safer and more flexible, in case you +# want to build multiple flavors of perl and install them together in +# the same location. Commenting it out gives you a simpler +# installation that is easier to understand for beginners. +# +#INST_ARCH := \$(ARCHNAME) + +# +# Uncomment this if you want perl to run +# $Config{sitelibexp}\sitecustomize.pl +# before anything else. This script can then be set up, for example, +# to add additional entries to @INC. +# +#USE_SITECUST := define + +# +# uncomment to enable multiple interpreters. This is needed for fork() +# emulation and for thread support, and is auto-enabled by USE_IMP_SYS +# and USE_ITHREADS below. +# +USE_MULTI := define + +# +# Interpreter cloning/threads; now reasonably complete. +# This should be enabled to get the fork() emulation. This needs (and +# will auto-enable) USE_MULTI above. +# +USE_ITHREADS := define + +# +# uncomment to enable the implicit "host" layer for all system calls +# made by perl. This is also needed to get fork(). This needs (and +# will auto-enable) USE_MULTI above. +# +USE_IMP_SYS := define + +# +# Comment out next assign to disable perl's I/O subsystem and use compiler's +# stdio for IO - depending on your compiler vendor and run time library you may +# then get a number of fails from make test i.e. bugs - complain to them not us ;-). +# You will also be unable to take full advantage of perl5.8's support for multiple +# encodings and may see lower IO performance. You have been warned. +# +USE_PERLIO := define + +# +# Comment this out if you don't want to enable large file support for +# some reason. Should normally only be changed to maintain compatibility +# with an older release of perl. +# +USE_LARGE_FILES := define + +# +# Uncomment this if you're building a 32-bit perl and want 64-bit integers. +# (If you're building a 64-bit perl then you will have 64-bit integers whether +# or not this is uncommented.) +# Note: This option is not supported in 32-bit MSVC60 builds. +# +#USE_64_BIT_INT := define + +# +# Uncomment this if you want to support the use of long doubles. +# +#USE_LONG_DOUBLE :=define + +# +# uncomment next line if you want debug version of perl (big,slow) +# If not enabled, we automatically try to use maximum optimization +# with all compilers that are known to have a working optimizer. +# +#CFG := Debug + +# +# uncomment to enable linking with setargv.obj under the Visual C +# compiler. Setting this options enables perl to expand wildcards in +# arguments, but it may be harder to use alternate methods like +# File::DosGlob that are more powerful. This option is supported only with +# Visual C. +# +#USE_SETARGV := define + +# +# set this if you wish to use perl's malloc +# WARNING: Turning this on/off WILL break binary compatibility with extensions +# you may have compiled with/without it. Be prepared to recompile all +# extensions if you change the default. Currently, this cannot be enabled +# if you ask for USE_IMP_SYS above. +# +#PERL_MALLOC := define + +# +# set this to enable debugging mstats +# This must be enabled to use the Devel::Peek::mstat() function. This cannot +# be enabled without PERL_MALLOC as well. +# +#DEBUG_MSTATS := define + +# +# set this to additionally provide a statically linked perl-static.exe. +# Note that dynamic loading will not work with this perl, so you must +# include required modules statically using the STATIC_EXT or ALL_STATIC +# variables below. A static library perl523s.lib will also be created. +# Ordinary perl.exe is not affected by this option. +# +#BUILD_STATIC := define + +# +# in addition to BUILD_STATIC the option ALL_STATIC makes *every* +# extension get statically built +# This will result in a very large perl executable, but the main purpose +# is to have proper linking set so as to be able to create miscellaneous +# executables with different built-in extensions +# +#ALL_STATIC := define + +# +# set the install locations of the compiler include/libraries +# Running VCVARS32.BAT is *required* when using Visual C. +# Some versions of Visual C don't define MSVCDIR in the environment, +# so you may have to set CCHOME explicitly (spaces in the path name should +# not be quoted) +# +CCHOME := C:\MinGW + +# +# Following sets $Config{incpath} and $Config{libpth} +# + +ifneq ($(GCCCROSS),) +CCINCDIR := $(CCHOME)\$(GCCCROSS)\include +CCLIBDIR := $(CCHOME)\$(GCCCROSS)\lib +CCDLLDIR := $(CCLIBDIR) +ARCHPREFIX := $(GCCCROSS)- +else +CCINCDIR := $(CCHOME)\include +CCLIBDIR := $(CCHOME)\lib +CCDLLDIR := $(CCHOME)\bin +ARCHPREFIX := +endif + +# +# Additional compiler flags can be specified here. +# +BUILDOPT := $(BUILDOPTEXTRA) + +# +# This should normally be disabled. Enabling it will disable the File::Glob +# implementation of CORE::glob. +# +#BUILDOPT += -DPERL_EXTERNAL_GLOB + +# +# Perl needs to read scripts in text mode so that the DATA filehandle +# works correctly with seek() and tell(), or around auto-flushes of +# all filehandles (e.g. by system(), backticks, fork(), etc). +# +# The current version on the ByteLoader module on CPAN however only +# works if scripts are read in binary mode. But before you disable text +# mode script reading (and break some DATA filehandle functionality) +# please check first if an updated ByteLoader isn't available on CPAN. +# +BUILDOPT += -DPERL_TEXTMODE_SCRIPTS + +# +# specify semicolon-separated list of extra directories that modules will +# look for libraries (spaces in path names need not be quoted) +# +EXTRALIBDIRS := + +# +# set this to your email address (perl will guess a value from +# from your loginname and your hostname, which may not be right) +# +#EMAIL := + +## +## Build configuration ends. +## + +##################### CHANGE THESE ONLY IF YOU MUST ##################### + +PERL_MALLOC ?= undef +DEBUG_MSTATS ?= undef + +USE_SITECUST ?= undef +USE_MULTI ?= undef +USE_ITHREADS ?= undef +USE_IMP_SYS ?= undef +USE_PERLIO ?= undef +USE_LARGE_FILES ?= undef +USE_64_BIT_INT ?= undef +USE_LONG_DOUBLE ?= undef + +ifeq ($(USE_IMP_SYS),define) +PERL_MALLOC = undef +endif + +ifeq ($(PERL_MALLOC),undef) +DEBUG_MSTATS = undef +endif + +ifeq ($(DEBUG_MSTATS),define) +BUILDOPT += -DPERL_DEBUGGING_MSTATS +endif + +ifeq ("$(USE_IMP_SYS) $(USE_MULTI)","define undef") +USE_MULTI = define +endif + +ifeq ("$(USE_ITHREADS) $(USE_MULTI)","define undef") +USE_MULTI = define +endif + +ifeq ($(USE_SITECUST),define) +BUILDOPT += -DUSE_SITECUSTOMIZE +endif + +ifneq ($(USE_MULTI),undef) +BUILDOPT += -DPERL_IMPLICIT_CONTEXT +endif + +ifneq ($(USE_IMP_SYS),undef) +BUILDOPT += -DPERL_IMPLICIT_SYS +endif + +ifeq ($(WIN64),define) +USE_64_BIT_INT = define +endif + +ifeq ($(USE_MULTI),define) +ARCHNAME = MSWin32-$(ARCHITECTURE)-multi +else +ifeq ($(USE_PERLIO),define) +ARCHNAME = MSWin32-$(ARCHITECTURE)-perlio +else +ARCHNAME = MSWin32-$(ARCHITECTURE) +endif +endif + +ifeq ($(USE_PERLIO),define) +BUILDOPT += -DUSE_PERLIO +endif + +ifeq ($(USE_ITHREADS),define) +ARCHNAME := $(ARCHNAME)-thread +endif + +ifneq ($(WIN64),define) +ifeq ($(USE_64_BIT_INT),define) +ARCHNAME := $(ARCHNAME)-64int +endif +endif + +ifeq ($(USE_LONG_DOUBLE),define) +ARCHNAME := $(ARCHNAME)-ld +endif + +ARCHDIR = ..\lib\$(ARCHNAME) +COREDIR = ..\lib\CORE +AUTODIR = ..\lib\auto +LIBDIR = ..\lib +EXTDIR = ..\ext +DISTDIR = ..\dist +CPANDIR = ..\cpan +PODDIR = ..\pod +HTMLDIR = .\html + +# +INST_SCRIPT = $(INST_TOP)$(INST_VER)\bin +INST_BIN = $(INST_SCRIPT)$(INST_ARCH) +INST_LIB = $(INST_TOP)$(INST_VER)\lib +INST_ARCHLIB = $(INST_LIB)$(INST_ARCH) +INST_COREDIR = $(INST_ARCHLIB)\CORE +INST_HTML = $(INST_TOP)$(INST_VER)\html + +# +# Programs to compile, build .lib files and link +# + +MINIBUILDOPT := + +CC = $(ARCHPREFIX)gcc +LINK32 = $(ARCHPREFIX)g++ +LIB32 = $(ARCHPREFIX)ar rc +IMPLIB = $(ARCHPREFIX)dlltool +RSC = $(ARCHPREFIX)windres + +ifeq ($(USE_LONG_DOUBLE),define) +BUILDOPT += -D__USE_MINGW_ANSI_STDIO +MINIBUILDOPT += -D__USE_MINGW_ANSI_STDIO +endif + +# If you are using GCC, 4.3 or later by default we add the -fwrapv option. +# See https://rt.perl.org/Ticket/Display.html?id=121505 +# +GCCWRAPV := $(shell if "$(GCCVER1)"=="4" (if "$(GCCVER2)" geq "3" echo define) else if "$(GCCVER1)" geq "5" (echo define)) + +ifeq ($(GCCWRAPV),define) +BUILDOPT += -fwrapv +MINIBUILDOPT += -fwrapv +endif + +i = .i +o = .o +a = .a + +# +# Options +# + +INCLUDES = -I.\include -I. -I.. -I$(COREDIR) +DEFINES = -DWIN32 +ifeq ($(WIN64),define) +DEFINES += -DWIN64 -DCONSERVATIVE +endif +LOCDEFS = -DPERLDLL -DPERL_CORE +SUBSYS = console +CXX_FLAG = -xc++ +LIBC = +LIBFILES = $(LIBC) \ + -lmoldname -lkernel32 -luser32 -lgdi32 \ + -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 \ + -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr \ + -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 + +ifeq ($(CFG),Debug) +OPTIMIZE = -g -O2 -DDEBUGGING +LINK_DBG = -g +else +OPTIMIZE = -s -O2 +LINK_DBG = -s +endif + +EXTRACFLAGS = +CFLAGS = $(EXTRACFLAGS) $(INCLUDES) $(DEFINES) $(LOCDEFS) $(OPTIMIZE) +LINK_FLAGS = $(LINK_DBG) -L"$(INST_COREDIR)" -L"$(CCLIBDIR)" +OBJOUT_FLAG = -o +EXEOUT_FLAG = -o +LIBOUT_FLAG = + +BUILDOPT += -fno-strict-aliasing -mms-bitfields +MINIBUILDOPT += -fno-strict-aliasing +CFLAGS_O = $(CFLAGS) $(BUILDOPT) + +# used to allow local linking flags that are not propogated into Config.pm, +# currently unused +# -- BKS, 12-12-1999 +PRIV_LINK_FLAGS = +BLINK_FLAGS = $(PRIV_LINK_FLAGS) $(LINK_FLAGS) + +#################### do not edit below this line ####################### +############# NO USER-SERVICEABLE PARTS BEYOND THIS POINT ############## + +%$(o): %.c + $(CC) -c -I$($@ + +%.c: %.y + $(NOOP) + +%.dll: %$(o) + $(LINK32) -o $@ $(BLINK_FLAGS) $< $(LIBFILES) + $(IMPLIB) --input-def $(*F).def --output-lib $(*F).a $@ + +%.res: %.rc + $(RSC) --use-temp-file --include-dir=. --include-dir=.. -O COFF -D INCLUDE_MANIFEST -i $< -o $@ + +# +# various targets +MINIPERL = ..\miniperl.exe +MINIDIR = mini +PERLEXE = ..\perl.exe +WPERLEXE = ..\wperl.exe +PERLEXESTATIC = ..\perl-static.exe +STATICDIR = .\static.tmp +GLOBEXE = ..\perlglob.exe +CONFIGPM = ..\lib\Config.pm ..\lib\Config_heavy.pl +GENUUDMAP = ..\generate_uudmap.exe +ifeq ($(BUILD_STATIC),define) +PERLSTATIC = static +else +ifeq ($(ALL_STATIC),define) +PERLSTATIC = static +else +PERLSTATIC = +endif +endif + +# Unicode data files generated by mktables +UNIDATAFILES = ..\lib\unicore\Decomposition.pl ..\lib\unicore\TestProp.pl \ + ..\lib\unicore\CombiningClass.pl ..\lib\unicore\Name.pl \ + ..\lib\unicore\UCD.pl ..\lib\unicore\Name.pm \ + ..\lib\unicore\Heavy.pl ..\lib\unicore\mktables.lst + +# Directories of Unicode data files generated by mktables +UNIDATADIR1 = ..\lib\unicore\To +UNIDATADIR2 = ..\lib\unicore\lib + +PERLEXE_MANIFEST= .\perlexe.manifest +PERLEXE_ICO = .\perlexe.ico +PERLEXE_RES = .\perlexe.res +PERLDLL_RES = + +# Nominate a target which causes extensions to be re-built +# This used to be $(PERLEXE), but at worst it is the .dll that they depend +# on and really only the interface - i.e. the .def file used to export symbols +# from the .dll +PERLDEP = perldll.def + + +PL2BAT = bin\pl2bat.pl + +UTILS = \ + ..\utils\h2ph \ + ..\utils\splain \ + ..\utils\perlbug \ + ..\utils\pl2pm \ + ..\utils\c2ph \ + ..\utils\pstruct \ + ..\utils\h2xs \ + ..\utils\perldoc \ + ..\utils\perlivp \ + ..\utils\libnetcfg \ + ..\utils\enc2xs \ + ..\utils\piconv \ + ..\utils\corelist \ + ..\utils\cpan \ + ..\utils\xsubpp \ + ..\utils\pod2html \ + ..\utils\prove \ + ..\utils\ptar \ + ..\utils\ptardiff \ + ..\utils\ptargrep \ + ..\utils\zipdetails \ + ..\utils\shasum \ + ..\utils\instmodsh \ + ..\utils\json_pp \ + bin\exetype.pl \ + bin\runperl.pl \ + bin\pl2bat.pl \ + bin\perlglob.pl \ + bin\search.pl + +CFGSH_TMPL = config.gc +CFGH_TMPL = config_H.gc +PERLIMPLIB = ..\libperl523$(a) +PERLSTATICLIB = ..\libperl523s$(a) +INT64 = long long + +# makedef.pl must be updated if this changes, and this should normally +# only change when there is an incompatible revision of the public API. +PERLDLL = ..\perl523.dll + +XCOPY = xcopy /f /r /i /d /y +RCOPY = xcopy /f /r /i /e /d /y +NOOP = @rem + +MICROCORE_SRC = \ + ..\av.c \ + ..\caretx.c \ + ..\deb.c \ + ..\doio.c \ + ..\doop.c \ + ..\dump.c \ + ..\globals.c \ + ..\gv.c \ + ..\mro_core.c \ + ..\hv.c \ + ..\locale.c \ + ..\keywords.c \ + ..\mathoms.c \ + ..\mg.c \ + ..\numeric.c \ + ..\op.c \ + ..\pad.c \ + ..\perl.c \ + ..\perlapi.c \ + ..\perly.c \ + ..\pp.c \ + ..\pp_ctl.c \ + ..\pp_hot.c \ + ..\pp_pack.c \ + ..\pp_sort.c \ + ..\pp_sys.c \ + ..\reentr.c \ + ..\regcomp.c \ + ..\regexec.c \ + ..\run.c \ + ..\scope.c \ + ..\sv.c \ + ..\taint.c \ + ..\toke.c \ + ..\universal.c \ + ..\utf8.c \ + ..\util.c + +EXTRACORE_SRC += perllib.c + +ifeq ($(PERL_MALLOC),define) +EXTRACORE_SRC += ..\malloc.c +endif + +EXTRACORE_SRC += ..\perlio.c + +WIN32_SRC = \ + .\win32.c \ + .\win32sck.c \ + .\win32thread.c \ + .\fcrypt.c + +# We need this for miniperl build unless we override canned +# config.h #define building mini\* +#ifeq ($(USE_PERLIO)" == "define" +WIN32_SRC += .\win32io.c +#endif + +CORE_NOCFG_H = \ + ..\av.h \ + ..\cop.h \ + ..\cv.h \ + ..\dosish.h \ + ..\embed.h \ + ..\form.h \ + ..\gv.h \ + ..\handy.h \ + ..\hv.h \ + ..\hv_func.h \ + ..\iperlsys.h \ + ..\mg.h \ + ..\nostdio.h \ + ..\op.h \ + ..\opcode.h \ + ..\perl.h \ + ..\perlapi.h \ + ..\perlsdio.h \ + ..\perly.h \ + ..\pp.h \ + ..\proto.h \ + ..\regcomp.h \ + ..\regexp.h \ + ..\scope.h \ + ..\sv.h \ + ..\thread.h \ + ..\unixish.h \ + ..\utf8.h \ + ..\util.h \ + ..\warnings.h \ + ..\XSUB.h \ + ..\EXTERN.h \ + ..\perlvars.h \ + ..\intrpvar.h \ + .\include\dirent.h \ + .\include\netdb.h \ + .\include\sys\errno2.h \ + .\include\sys\socket.h \ + .\win32.h + +CORE_H = $(CORE_NOCFG_H) .\config.h ..\git_version.h + +UUDMAP_H = ..\uudmap.h +BITCOUNT_H = ..\bitcount.h +MG_DATA_H = ..\mg_data.h +GENERATED_HEADERS = $(UUDMAP_H) $(BITCOUNT_H) $(MG_DATA_H) + +MICROCORE_OBJ = $(MICROCORE_SRC:.c=.o) +CORE_OBJ = $(MICROCORE_OBJ) $(EXTRACORE_SRC:.c=.o) +WIN32_OBJ = $(WIN32_SRC:.c=.o) + +MINICORE_OBJ = $(subst ..\,mini\,$(MICROCORE_OBJ)) \ + $(MINIDIR)\miniperlmain$(o) \ + $(MINIDIR)\perlio$(o) +MINIWIN32_OBJ = $(subst .\,mini\,$(WIN32_OBJ)) +MINI_OBJ = $(MINICORE_OBJ) $(MINIWIN32_OBJ) +DLL_OBJ = $(DYNALOADER) +GENUUDMAP_OBJ = $(GENUUDMAP:.exe=.o) + +PERLDLL_OBJ = $(CORE_OBJ) +PERLEXE_OBJ = perlmain$(o) +PERLEXEST_OBJ = perlmainst$(o) + +PERLDLL_OBJ += $(WIN32_OBJ) $(DLL_OBJ) + +ifneq ($(USE_SETARGV),) +SETARGV_OBJ = setargv$(o) +endif + +ifeq ($(ALL_STATIC),define) +# some exclusions, unfortunately, until fixed: +# - MakeMaker isn't capable enough for SDBM_File (small bug) +STATIC_EXT = * !SDBM_File +else +# specify static extensions here, for example: +# (be sure to include Win32CORE to load Win32 on demand) +#STATIC_EXT = Win32CORE Cwd Compress/Raw/Zlib +STATIC_EXT = Win32CORE +endif + +DYNALOADER = ..\DynaLoader$(o) + +# vars must be separated by "\t+~\t+", since we're using the tempfile +# version of config_sh.pl (we were overflowing someone's buffer by +# trying to fit them all on the command line) +# -- BKS 10-17-1999 +CFG_VARS = \ + "INST_TOP=$(INST_TOP)" \ + "INST_VER=$(INST_VER)" \ + "INST_ARCH=$(INST_ARCH)" \ + "archname=$(ARCHNAME)" \ + "cc=$(CC)" \ + "ld=$(LINK32)" \ + "ccflags=$(EXTRACFLAGS) $(OPTIMIZE) $(DEFINES) $(BUILDOPT)" \ + "cf_email=$(EMAIL)" \ + "d_mymalloc=$(PERL_MALLOC)" \ + "libs=$(LIBFILES)" \ + "incpath=$(CCINCDIR)" \ + "libperl=$(subst ..\,,$(PERLIMPLIB))" \ + "libpth=$(CCLIBDIR);$(EXTRALIBDIRS)" \ + "libc=$(LIBC)" \ + "make=$(MAKE)" \ + "_o=$(o)" \ + "obj_ext=$(o)" \ + "_a=$(a)" \ + "lib_ext=$(a)" \ + "static_ext=$(STATIC_EXT)" \ + "usethreads=$(USE_ITHREADS)" \ + "useithreads=$(USE_ITHREADS)" \ + "usemultiplicity=$(USE_MULTI)" \ + "useperlio=$(USE_PERLIO)" \ + "use64bitint=$(USE_64_BIT_INT)" \ + "uselongdouble=$(USE_LONG_DOUBLE)" \ + "uselargefiles=$(USE_LARGE_FILES)" \ + "usesitecustomize=$(USE_SITECUST)" \ + "LINK_FLAGS=$(LINK_FLAGS)" \ + "optimize=$(OPTIMIZE)" \ + "ARCHPREFIX=$(ARCHPREFIX)" \ + "WIN64=$(WIN64)" + +# +# Top targets +# + +.PHONY: all info + +all : info .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL) \ + $(CONFIGPM) $(UNIDATAFILES) MakePPPort \ + $(PERLEXE) Extensions Extensions_nonxs $(PERLSTATIC) + +info : + @echo # GCCBIN=$(GCCBIN) + @echo # GCCVER=$(GCCVER1).$(GCCVER2).$(GCCVER3) + @echo # GCCTARGET=$(GCCTARGET) + @echo # GCCCROSS=$(GCCCROSS) + @echo # WIN64=$(WIN64) + @echo # ARCHITECTURE=$(ARCHITECTURE) + @echo # ARCHNAME=$(ARCHNAME) + @echo # MAKE=$(MAKE) +ifeq ($(GCCTARGET),) + @echo Unable to detect gcc and/or architecture! + @exit 1 +endif + + +regnodes : ..\regnodes.h + +..\regcomp$(o) : ..\regnodes.h ..\regcharclass.h + +..\regexec$(o) : ..\regnodes.h ..\regcharclass.h + +reonly : regnodes .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL) \ + $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) \ + Extensions_reonly + +static: $(PERLEXESTATIC) + +#---------------------------------------------------------------- + +$(GLOBEXE) : perlglob$(o) + $(LINK32) $(BLINK_FLAGS) -mconsole -o $@ perlglob$(o) $(LIBFILES) + +perlglob$(o) : perlglob.c + +config.w32 : $(CFGSH_TMPL) + copy $(CFGSH_TMPL) config.w32 + +# +# Copy the template config.h and set configurables at the end of it +# as per the options chosen and compiler used. +# Note: This config.h is only used to build miniperl.exe anyway, but +# it's as well to have its options correct to be sure that it builds +# and so that it's "-V" options are correct for use by makedef.pl. The +# real config.h used to build perl.exe is generated from the top-level +# config_h.SH by config_h.PL (run by miniperl.exe). +# +.\config.h : $(CFGH_TMPL) $(CORE_NOCFG_H) + -del /f config.h + copy $(CFGH_TMPL) config.h + @echo.>>$@ + @echo #ifndef _config_h_footer_>>$@ + @echo #define _config_h_footer_>>$@ + @echo #undef Off_t>>$@ + @echo #undef LSEEKSIZE>>$@ + @echo #undef Off_t_size>>$@ + @echo #undef PTRSIZE>>$@ + @echo #undef SSize_t>>$@ + @echo #undef HAS_ATOLL>>$@ + @echo #undef HAS_STRTOLL>>$@ + @echo #undef HAS_STRTOULL>>$@ + @echo #undef Size_t_size>>$@ + @echo #undef IVTYPE>>$@ + @echo #undef UVTYPE>>$@ + @echo #undef IVSIZE>>$@ + @echo #undef UVSIZE>>$@ + @echo #undef NV_PRESERVES_UV>>$@ + @echo #undef NV_PRESERVES_UV_BITS>>$@ + @echo #undef IVdf>>$@ + @echo #undef UVuf>>$@ + @echo #undef UVof>>$@ + @echo #undef UVxf>>$@ + @echo #undef UVXf>>$@ + @echo #undef USE_64_BIT_INT>>$@ + @echo #undef Gconvert>>$@ + @echo #undef HAS_FREXPL>>$@ + @echo #undef HAS_ISNANL>>$@ + @echo #undef HAS_MODFL>>$@ + @echo #undef HAS_MODFL_PROTO>>$@ + @echo #undef HAS_SQRTL>>$@ + @echo #undef HAS_STRTOLD>>$@ + @echo #undef PERL_PRIfldbl>>$@ + @echo #undef PERL_PRIgldbl>>$@ + @echo #undef PERL_PRIeldbl>>$@ + @echo #undef PERL_SCNfldbl>>$@ + @echo #undef NVTYPE>>$@ + @echo #undef NVSIZE>>$@ + @echo #undef LONG_DOUBLESIZE>>$@ + @echo #undef NV_OVERFLOWS_INTEGERS_AT>>$@ + @echo #undef NVef>>$@ + @echo #undef NVff>>$@ + @echo #undef NVgf>>$@ + @echo #undef USE_LONG_DOUBLE>>$@ +ifeq ($(USE_LARGE_FILES),define) + @echo #define Off_t $(INT64)>>$@ + @echo #define LSEEKSIZE ^8>>$@ + @echo #define Off_t_size ^8>>$@ +else + @echo #define Off_t long>>$@ + @echo #define LSEEKSIZE ^4>>$@ + @echo #define Off_t_size ^4>>$@ +endif +ifeq ($(WIN64),define) + @echo #define PTRSIZE ^8>>$@ + @echo #define SSize_t $(INT64)>>$@ + @echo #define HAS_ATOLL>>$@ + @echo #define HAS_STRTOLL>>$@ + @echo #define HAS_STRTOULL>>$@ + @echo #define Size_t_size ^8>>$@ +else + @echo #define PTRSIZE ^4>>$@ + @echo #define SSize_t int>>$@ + @echo #undef HAS_ATOLL>>$@ + @echo #undef HAS_STRTOLL>>$@ + @echo #undef HAS_STRTOULL>>$@ + @echo #define Size_t_size ^4>>$@ +endif +ifeq ($(USE_64_BIT_INT),define) + @echo #define IVTYPE $(INT64)>>$@ + @echo #define UVTYPE unsigned $(INT64)>>$@ + @echo #define IVSIZE ^8>>$@ + @echo #define UVSIZE ^8>>$@ +ifeq ($(USE_LONG_DOUBLE),define) + @echo #define NV_PRESERVES_UV>>$@ + @echo #define NV_PRESERVES_UV_BITS 64>>$@ +else + @echo #undef NV_PRESERVES_UV>>$@ + @echo #define NV_PRESERVES_UV_BITS 53>>$@ +endif + @echo #define IVdf "I64d">>$@ + @echo #define UVuf "I64u">>$@ + @echo #define UVof "I64o">>$@ + @echo #define UVxf "I64x">>$@ + @echo #define UVXf "I64X">>$@ + @echo #define USE_64_BIT_INT>>$@ +else + @echo #define IVTYPE long>>$@ + @echo #define UVTYPE unsigned long>>$@ + @echo #define IVSIZE ^4>>$@ + @echo #define UVSIZE ^4>>$@ + @echo #define NV_PRESERVES_UV>>$@ + @echo #define NV_PRESERVES_UV_BITS 32>>$@ + @echo #define IVdf "ld">>$@ + @echo #define UVuf "lu">>$@ + @echo #define UVof "lo">>$@ + @echo #define UVxf "lx">>$@ + @echo #define UVXf "lX">>$@ + @echo #undef USE_64_BIT_INT>>$@ +endif +ifeq ($(USE_LONG_DOUBLE),define) + @echo #define Gconvert(x,n,t,b) sprintf((b),"%%.*""Lg",(n),(x))>>$@ + @echo #define HAS_FREXPL>>$@ + @echo #define HAS_ISNANL>>$@ + @echo #define HAS_MODFL>>$@ + @echo #define HAS_MODFL_PROTO>>$@ + @echo #define HAS_SQRTL>>$@ + @echo #define HAS_STRTOLD>>$@ + @echo #define PERL_PRIfldbl "Lf">>$@ + @echo #define PERL_PRIgldbl "Lg">>$@ + @echo #define PERL_PRIeldbl "Le">>$@ + @echo #define PERL_SCNfldbl "Lf">>$@ + @echo #define NVTYPE long double>>$@ +ifeq ($(WIN64),define) + @echo #define NVSIZE ^16>>$@ + @echo #define LONG_DOUBLESIZE ^16>>$@ +else + @echo #define NVSIZE ^12>>$@ + @echo #define LONG_DOUBLESIZE ^12>>$@ +endif + @echo #define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0>>$@ + @echo #define NVef "Le">>$@ + @echo #define NVff "Lf">>$@ + @echo #define NVgf "Lg">>$@ + @echo #define USE_LONG_DOUBLE>>$@ +else + @echo #define Gconvert(x,n,t,b) sprintf((b),"%%.*g",(n),(x))>>$@ + @echo #undef HAS_FREXPL>>$@ + @echo #undef HAS_ISNANL>>$@ + @echo #undef HAS_MODFL>>$@ + @echo #undef HAS_MODFL_PROTO>>$@ + @echo #undef HAS_SQRTL>>$@ + @echo #undef HAS_STRTOLD>>$@ + @echo #undef PERL_PRIfldbl>>$@ + @echo #undef PERL_PRIgldbl>>$@ + @echo #undef PERL_PRIeldbl>>$@ + @echo #undef PERL_SCNfldbl>>$@ + @echo #define NVTYPE double>>$@ + @echo #define NVSIZE ^8>>$@ + @echo #define LONG_DOUBLESIZE ^8>>$@ + @echo #define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0>>$@ + @echo #define NVef "e">>$@ + @echo #define NVff "f">>$@ + @echo #define NVgf "g">>$@ + @echo #undef USE_LONG_DOUBLE>>$@ +endif + @echo #endif>>$@ + +..\git_version.h : $(MINIPERL) ..\make_patchnum.pl + cd .. && miniperl -Ilib make_patchnum.pl + +# make sure that we recompile perl.c if the git version changes +..\perl$(o) : ..\git_version.h + +..\config.sh : config.w32 $(MINIPERL) config_sh.PL FindExt.pm + $(MINIPERL) -I..\lib config_sh.PL $(CFG_VARS) config.w32 > ..\config.sh + +# This target is for when changes to the main config.sh happen. +# Edit config.gc, then make perl using GCC in a minimal configuration (i.e. +# with MULTI, ITHREADS, IMP_SYS, LARGE_FILES and PERLIO off), then make +# this target to regenerate config_H.gc. +regen_config_h: + $(MINIPERL) -I..\lib config_sh.PL $(CFG_VARS)) $(CFGSH_TMPL) > ..\config.sh + $(MINIPERL) -I..\lib ..\configpm --chdir=.. + -del /f $(CFGH_TMPL) + -$(MINIPERL) -I..\lib config_h.PL "ARCHPREFIX=$(ARCHPREFIX)" + rename config.h $(CFGH_TMPL) + +$(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL + $(MINIPERL) -I..\lib ..\configpm --chdir=.. + if exist lib\* $(RCOPY) "lib\*.*" ..\lib\$(NULL) + $(XCOPY) "..\*.h" $(COREDIR)\$(NULL) + $(XCOPY) "*.h" $(COREDIR)\$(NULL) + $(RCOPY) include $(COREDIR)\$(NULL) + $(MINIPERL) -I..\lib config_h.PL "ARCHPREFIX=$(ARCHPREFIX)" \ + || $(MAKE) $(MAKEMACROS) $(CONFIGPM) $(MAKEFILE) + +# See the comment in Makefile.SH explaining this seemingly cranky ordering +$(MINIPERL) : ..\lib\buildcustomize.pl + +..\lib\buildcustomize.pl : $(MINIDIR) $(MINI_OBJ) $(CRTIPMLIBS) ..\write_buildcustomize.pl + $(LINK32) -mconsole -o $(MINIPERL) $(BLINK_FLAGS) $(MINI_OBJ) $(LIBFILES) + $(MINIPERL) -I..\lib -f ..\write_buildcustomize.pl .. + +$(MINIDIR) : + if not exist "$(MINIDIR)" mkdir "$(MINIDIR)" + +$(MINICORE_OBJ) : $(CORE_NOCFG_H) + $(CC) -c $(CFLAGS) $(MINIBUILDOPT) -DPERL_EXTERNAL_GLOB -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ ..\$(*F).c + +$(MINIWIN32_OBJ) : $(CORE_NOCFG_H) + $(CC) -c $(CFLAGS) $(MINIBUILDOPT) -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ $(*F).c + +# -DPERL_IMPLICIT_SYS needs C++ for perllib.c +# rules wrapped in .IFs break Win9X build (we end up with unbalanced []s unless +# unless the .IF is true), so instead we use a else with the default. +# This is the only file that depends on perlhost.h, vmem.h, and vdir.h + +perllib$(o) : perllib.c .\perlhost.h .\vdir.h .\vmem.h +ifeq ($(USE_IMP_SYS),define) + $(CC) -c -I. $(CFLAGS_O) $(CXX_FLAG) $(OBJOUT_FLAG)$@ perllib.c +else + $(CC) -c -I. $(CFLAGS_O) $(OBJOUT_FLAG)$@ perllib.c +endif + +# 1. we don't want to rebuild miniperl.exe when config.h changes +# 2. we don't want to rebuild miniperl.exe with non-default config.h +# 3. we can't have miniperl.exe depend on git_version.h, as miniperl creates it +$(MINI_OBJ) : $(CORE_NOCFG_H) + +$(WIN32_OBJ) : $(CORE_H) + +$(CORE_OBJ) : $(CORE_H) + +$(DLL_OBJ) : $(CORE_H) + +perldll.def : $(MINIPERL) $(CONFIGPM) ..\embed.fnc ..\makedef.pl create_perllibst_h.pl + $(MINIPERL) -I..\lib create_perllibst_h.pl + $(MINIPERL) -I..\lib -w ..\makedef.pl PLATFORM=win32 $(OPTIMIZE) $(DEFINES) \ + $(BUILDOPT) CCTYPE=GCC TARG_DIR=..\ > perldll.def + +$(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static + $(LINK32) -mdll -o $@ -Wl,--base-file -Wl,perl.base $(BLINK_FLAGS) \ + $(PERLDLL_OBJ) $(shell type Extensions_static) $(LIBFILES) + $(IMPLIB) --output-lib $(PERLIMPLIB) \ + --dllname $(PERLDLL) \ + --def perldll.def \ + --base-file perl.base \ + --output-exp perl.exp + $(LINK32) -mdll -o $@ $(BLINK_FLAGS) \ + $(PERLDLL_OBJ) $(shell type Extensions_static) $(LIBFILES) perl.exp + $(XCOPY) $(PERLIMPLIB) $(COREDIR) + +$(PERLSTATICLIB): $(PERLDLL_OBJ) Extensions_static + $(LIB32) $(LIB_FLAGS) $@ $(PERLDLL_OBJ) + if exist $(STATICDIR) rmdir /s /q $(STATICDIR) + for %%i in ($(shell type Extensions_static)) do \ + @mkdir $(STATICDIR) && cd $(STATICDIR) && \ + $(ARCHPREFIX)ar x ..\%%i && \ + $(ARCHPREFIX)ar q ..\$@ *$(o) && \ + cd .. && rmdir /s /q $(STATICDIR) + $(XCOPY) $(PERLSTATICLIB) $(COREDIR) + +$(PERLEXE_RES): perlexe.rc $(PERLEXE_MANIFEST) $(PERLEXE_ICO) + +$(MINIDIR)\globals$(o) : $(GENERATED_HEADERS) + +$(UUDMAP_H) $(MG_DATA_H) : $(BITCOUNT_H) + +$(BITCOUNT_H) : $(GENUUDMAP) + $(GENUUDMAP) $(GENERATED_HEADERS) + +$(GENUUDMAP_OBJ) : ..\mg_raw.h + +$(GENUUDMAP) : $(GENUUDMAP_OBJ) + $(LINK32) -o $@ $(BLINK_FLAGS) $(GENUUDMAP_OBJ) $(LIBFILES) + +perlmain.c : runperl.c + copy runperl.c perlmain.c + +perlmain$(o) : perlmain.c + $(CC) $(subst -DPERLDLL,-UPERLDLL,$(CFLAGS_O)) $(OBJOUT_FLAG)$@ -c perlmain.c + +perlmainst.c : runperl.c + copy runperl.c perlmainst.c + +perlmainst$(o) : perlmainst.c + $(CC) $(CFLAGS_O) $(OBJOUT_FLAG)$@ -c perlmainst.c + +$(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES) + $(LINK32) -mconsole -o $@ $(BLINK_FLAGS) \ + $(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB) $(LIBFILES) + copy $(PERLEXE) $(WPERLEXE) + $(MINIPERL) -I..\lib bin\exetype.pl $(WPERLEXE) WINDOWS + +$(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES) + $(LINK32) -mconsole -o $@ $(BLINK_FLAGS) \ + $(PERLEXEST_OBJ) $(PERLEXE_RES) $(PERLSTATICLIB) $(LIBFILES) + +MakePPPort: $(MINIPERL) $(CONFIGPM) Extensions_nonxs + $(MINIPERL) -I..\lib ..\mkppport + +#------------------------------------------------------------------------------- +# There's no direct way to mark a dependency on +# DynaLoader.pm, so this will have to do +Extensions : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER) + $(XCOPY) "..\*.h" $(COREDIR)\$(NULL) + $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic + +Extensions_reonly : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER) + $(XCOPY) "..\*.h" $(COREDIR)\$(NULL) + $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic +re + +Extensions_static : ..\make_ext.pl ..\lib\buildcustomize.pl list_static_libs.pl $(PERLDEP) $(CONFIGPM) Extensions_nonxs + $(XCOPY) "..\*.h" $(COREDIR)\$(NULL) + $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --static + $(MINIPERL) -I..\lib list_static_libs.pl > Extensions_static + +Extensions_nonxs : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) ..\pod\perlfunc.pod + $(XCOPY) "..\*.h" $(COREDIR)\$(NULL) + $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --nonxs + +$(DYNALOADER) : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) Extensions_nonxs + $(XCOPY) "..\*.h" $(COREDIR)\$(NULL) + $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --dynaloader + +Extensions_clean : + -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=clean + +Extensions_realclean : + -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=realclean + +#------------------------------------------------------------------------------- + +doc: $(PERLEXE) ..\pod\perltoc.pod + $(PERLEXE) -I..\lib ..\installhtml --podroot=.. --htmldir=$(HTMLDIR) \ + --podpath=pod:lib:utils --htmlroot="file://$(subst :,|,$(INST_HTML))"\ + --recurse + +..\utils\Makefile: $(CONFIGPM) ..\utils\Makefile.PL + $(MINIPERL) -I..\lib ..\utils\Makefile.PL .. + +# Note that this next section is parsed (and regenerated) by pod/buildtoc +# so please check that script before making structural changes here +utils: $(PERLEXE) ..\utils\Makefile + cd ..\utils && $(MAKE) PERL=$(MINIPERL) + copy ..\README.aix ..\pod\perlaix.pod + copy ..\README.amiga ..\pod\perlamiga.pod + copy ..\README.android ..\pod\perlandroid.pod + copy ..\README.bs2000 ..\pod\perlbs2000.pod + copy ..\README.ce ..\pod\perlce.pod + copy ..\README.cn ..\pod\perlcn.pod + copy ..\README.cygwin ..\pod\perlcygwin.pod + copy ..\README.dos ..\pod\perldos.pod + copy ..\README.freebsd ..\pod\perlfreebsd.pod + copy ..\README.haiku ..\pod\perlhaiku.pod + copy ..\README.hpux ..\pod\perlhpux.pod + copy ..\README.hurd ..\pod\perlhurd.pod + copy ..\README.irix ..\pod\perlirix.pod + copy ..\README.jp ..\pod\perljp.pod + copy ..\README.ko ..\pod\perlko.pod + copy ..\README.linux ..\pod\perllinux.pod + copy ..\README.macos ..\pod\perlmacos.pod + copy ..\README.macosx ..\pod\perlmacosx.pod + copy ..\README.netware ..\pod\perlnetware.pod + copy ..\README.openbsd ..\pod\perlopenbsd.pod + copy ..\README.os2 ..\pod\perlos2.pod + copy ..\README.os390 ..\pod\perlos390.pod + copy ..\README.os400 ..\pod\perlos400.pod + copy ..\README.plan9 ..\pod\perlplan9.pod + copy ..\README.qnx ..\pod\perlqnx.pod + copy ..\README.riscos ..\pod\perlriscos.pod + copy ..\README.solaris ..\pod\perlsolaris.pod + copy ..\README.symbian ..\pod\perlsymbian.pod + copy ..\README.synology ..\pod\perlsynology.pod + copy ..\README.tru64 ..\pod\perltru64.pod + copy ..\README.tw ..\pod\perltw.pod + copy ..\README.vos ..\pod\perlvos.pod + copy ..\README.win32 ..\pod\perlwin32.pod + copy ..\pod\perldelta.pod ..\pod\perl5230delta.pod + $(PERLEXE) $(PL2BAT) $(UTILS) + $(MINIPERL) -I..\lib ..\autodoc.pl .. + $(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q .. + +..\pod\perltoc.pod: $(PERLEXE) Extensions Extensions_nonxs + $(PERLEXE) -f ..\pod\buildtoc -q + +# Note that the pod cleanup in this next section is parsed (and regenerated +# by pod/buildtoc so please check that script before making changes here + +distclean: realclean + -del /f $(MINIPERL) $(PERLEXE) $(PERLDLL) $(GLOBEXE) \ + $(PERLIMPLIB) ..\miniperl$(a) $(PERLEXESTATIC) $(PERLSTATICLIB) + -del /f $(LIBDIR)\Encode.pm $(LIBDIR)\encoding.pm $(LIBDIR)\Errno.pm + -del /f $(LIBDIR)\Config.pod $(LIBDIR)\POSIX.pod $(LIBDIR)\threads.pm + -del /f $(LIBDIR)\.exists $(LIBDIR)\attributes.pm $(LIBDIR)\DynaLoader.pm + -del /f $(LIBDIR)\Fcntl.pm $(LIBDIR)\IO.pm $(LIBDIR)\Opcode.pm + -del /f $(LIBDIR)\ops.pm $(LIBDIR)\Safe.pm + -del /f $(LIBDIR)\SDBM_File.pm $(LIBDIR)\Socket.pm $(LIBDIR)\POSIX.pm + -del /f $(LIBDIR)\B.pm $(LIBDIR)\O.pm $(LIBDIR)\re.pm + -del /f $(LIBDIR)\File\Glob.pm + -del /f $(LIBDIR)\Storable.pm + -del /f $(LIBDIR)\Sys\Hostname.pm + -del /f $(LIBDIR)\Time\HiRes.pm + -del /f $(LIBDIR)\Unicode\Normalize.pm + -del /f $(LIBDIR)\Math\BigInt\FastCalc.pm + -del /f $(LIBDIR)\Win32.pm + -del /f $(LIBDIR)\Win32CORE.pm + -del /f $(LIBDIR)\Win32API\File.pm + -del /f $(LIBDIR)\Win32API\File\cFile.pc + -del /f $(LIBDIR)\buildcustomize.pl + -del /f $(DISTDIR)\XSLoader\XSLoader.pm + -del /f *.def *.map + -if exist $(LIBDIR)\App rmdir /s /q $(LIBDIR)\App + -if exist $(LIBDIR)\Archive rmdir /s /q $(LIBDIR)\Archive + -if exist $(LIBDIR)\Attribute rmdir /s /q $(LIBDIR)\Attribute + -if exist $(LIBDIR)\autodie rmdir /s /q $(LIBDIR)\autodie + -if exist $(LIBDIR)\Carp rmdir /s /q $(LIBDIR)\Carp + -if exist $(LIBDIR)\Compress rmdir /s /q $(LIBDIR)\Compress + -if exist $(LIBDIR)\Config\Perl rmdir /s /q $(LIBDIR)\Config\Perl + -if exist $(LIBDIR)\CPAN rmdir /s /q $(LIBDIR)\CPAN + -if exist $(LIBDIR)\Data rmdir /s /q $(LIBDIR)\Data + -if exist $(LIBDIR)\Devel rmdir /s /q $(LIBDIR)\Devel + -if exist $(LIBDIR)\Digest rmdir /s /q $(LIBDIR)\Digest + -if exist $(LIBDIR)\Encode rmdir /s /q $(LIBDIR)\Encode + -if exist $(LIBDIR)\encoding rmdir /s /q $(LIBDIR)\encoding + -if exist $(LIBDIR)\Exporter rmdir /s /q $(LIBDIR)\Exporter + -if exist $(LIBDIR)\ExtUtils\CBuilder rmdir /s /q $(LIBDIR)\ExtUtils\CBuilder + -if exist $(LIBDIR)\ExtUtils\Command rmdir /s /q $(LIBDIR)\ExtUtils\Command + -if exist $(LIBDIR)\ExtUtils\Constant rmdir /s /q $(LIBDIR)\ExtUtils\Constant + -if exist $(LIBDIR)\ExtUtils\Liblist rmdir /s /q $(LIBDIR)\ExtUtils\Liblist + -if exist $(LIBDIR)\ExtUtils\MakeMaker rmdir /s /q $(LIBDIR)\ExtUtils\MakeMaker + -if exist $(LIBDIR)\ExtUtils\ParseXS rmdir /s /q $(LIBDIR)\ExtUtils\ParseXS + -if exist $(LIBDIR)\ExtUtils\Typemaps rmdir /s /q $(LIBDIR)\ExtUtils\Typemaps + -if exist $(LIBDIR)\File\Spec rmdir /s /q $(LIBDIR)\File\Spec + -if exist $(LIBDIR)\Filter rmdir /s /q $(LIBDIR)\Filter + -if exist $(LIBDIR)\Hash rmdir /s /q $(LIBDIR)\Hash + -if exist $(LIBDIR)\HTTP rmdir /s /q $(LIBDIR)\HTTP + -if exist $(LIBDIR)\I18N rmdir /s /q $(LIBDIR)\I18N + -if exist $(LIBDIR)\IO rmdir /s /q $(LIBDIR)\IO + -if exist $(LIBDIR)\IPC rmdir /s /q $(LIBDIR)\IPC + -if exist $(LIBDIR)\JSON rmdir /s /q $(LIBDIR)\JSON + -if exist $(LIBDIR)\List rmdir /s /q $(LIBDIR)\List + -if exist $(LIBDIR)\Locale rmdir /s /q $(LIBDIR)\Locale + -if exist $(LIBDIR)\Math rmdir /s /q $(LIBDIR)\Math + -if exist $(LIBDIR)\Memoize rmdir /s /q $(LIBDIR)\Memoize + -if exist $(LIBDIR)\MIME rmdir /s /q $(LIBDIR)\MIME + -if exist $(LIBDIR)\Module rmdir /s /q $(LIBDIR)\Module + -if exist $(LIBDIR)\Net\FTP rmdir /s /q $(LIBDIR)\Net\FTP + -if exist $(LIBDIR)\Params rmdir /s /q $(LIBDIR)\Params + -if exist $(LIBDIR)\Parse rmdir /s /q $(LIBDIR)\Parse + -if exist $(LIBDIR)\Perl rmdir /s /q $(LIBDIR)\Perl + -if exist $(LIBDIR)\PerlIO rmdir /s /q $(LIBDIR)\PerlIO + -if exist $(LIBDIR)\Pod\Perldoc rmdir /s /q $(LIBDIR)\Pod\Perldoc + -if exist $(LIBDIR)\Pod\Simple rmdir /s /q $(LIBDIR)\Pod\Simple + -if exist $(LIBDIR)\Pod\Text rmdir /s /q $(LIBDIR)\Pod\Text + -if exist $(LIBDIR)\Scalar rmdir /s /q $(LIBDIR)\Scalar + -if exist $(LIBDIR)\Search rmdir /s /q $(LIBDIR)\Search + -if exist $(LIBDIR)\Sub rmdir /s /q $(LIBDIR)\Sub + -if exist $(LIBDIR)\Sys rmdir /s /q $(LIBDIR)\Sys + -if exist $(LIBDIR)\TAP rmdir /s /q $(LIBDIR)\TAP + -if exist $(LIBDIR)\Term rmdir /s /q $(LIBDIR)\Term + -if exist $(LIBDIR)\Test rmdir /s /q $(LIBDIR)\Test + -if exist $(LIBDIR)\Text rmdir /s /q $(LIBDIR)\Text + -if exist $(LIBDIR)\Thread rmdir /s /q $(LIBDIR)\Thread + -if exist $(LIBDIR)\threads rmdir /s /q $(LIBDIR)\threads + -if exist $(LIBDIR)\Tie\Hash rmdir /s /q $(LIBDIR)\Tie\Hash + -if exist $(LIBDIR)\Unicode\Collate rmdir /s /q $(LIBDIR)\Unicode\Collate + -if exist $(LIBDIR)\Unicode\Collate\Locale rmdir /s /q $(LIBDIR)\Unicode\Collate\Locale + -if exist $(LIBDIR)\version rmdir /s /q $(LIBDIR)\version + -if exist $(LIBDIR)\VMS rmdir /s /q $(LIBDIR)\VMS + -if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API + -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS + -cd $(PODDIR) && del /f *.html *.bat roffitall \ + perl5230delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ + perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \ + perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \ + perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \ + perllinux.pod perlmacos.pod perlmacosx.pod perlmodlib.pod \ + perlnetware.pod perlopenbsd.pod perlos2.pod perlos390.pod \ + perlos400.pod perlplan9.pod perlqnx.pod perlriscos.pod \ + perlsolaris.pod perlsymbian.pod perlsynology.pod perltoc.pod \ + perltru64.pod perltw.pod perluniprops.pod perlvos.pod \ + perlwin32.pod + -cd ..\utils && del /f h2ph splain perlbug pl2pm c2ph pstruct h2xs \ + perldoc perlivp libnetcfg enc2xs piconv cpan *.bat \ + xsubpp pod2html instmodsh json_pp prove ptar ptardiff ptargrep shasum corelist zipdetails + -del /f ..\config.sh perlmain.c dlutils.c config.h.new \ + perlmainst.c + -del /f $(CONFIGPM) + -del /f ..\lib\Config_git.pl + -del /f "bin\*.bat" + -del /f perllibst.h + -del /f $(PERLEXE_RES) perl.base + -cd .. && del /s *$(a) *.map *.pdb *.ilk *.bs *$(o) .exists pm_to_blib ppport.h + -cd $(EXTDIR) && del /s *.def Makefile Makefile.old + -cd $(DISTDIR) && del /s *.def Makefile Makefile.old + -cd $(CPANDIR) && del /s *.def Makefile Makefile.old + -del /s ..\utils\Makefile + -if exist $(AUTODIR) rmdir /s /q $(AUTODIR) + -if exist $(COREDIR) rmdir /s /q $(COREDIR) + -if exist pod2htmd.tmp del pod2htmd.tmp + -if exist $(HTMLDIR) rmdir /s /q $(HTMLDIR) + -del /f ..\t\test_state + +install : all installbare installhtml + +installbare : utils ..\pod\perltoc.pod + $(PERLEXE) ..\installperl + if exist $(WPERLEXE) $(XCOPY) $(WPERLEXE) $(INST_BIN)\$(NULL) + if exist $(PERLEXESTATIC) $(XCOPY) $(PERLEXESTATIC) $(INST_BIN)\$(NULL) + $(XCOPY) $(GLOBEXE) $(INST_BIN)\$(NULL) + if exist ..\perl*.pdb $(XCOPY) ..\perl*.pdb $(INST_BIN)\$(NULL) + $(XCOPY) "bin\*.bat" $(INST_SCRIPT)\$(NULL) + +installhtml : doc + $(RCOPY) $(HTMLDIR)\*.* $(INST_HTML)\$(NULL) + +inst_lib : $(CONFIGPM) + $(RCOPY) ..\lib $(INST_LIB)\$(NULL) + +$(UNIDATAFILES) ..\pod\perluniprops.pod .UPDATEALL : $(MINIPERL) $(CONFIGPM) ..\lib\unicore\mktables Extensions_nonxs + cd ..\lib\unicore && \ + ..\$(MINIPERL) -I.. -I..\..\dist\Cwd\lib -I..\..\dist\Cwd mktables -P ..\..\pod -maketest -makelist -p + +minitest : $(MINIPERL) $(GLOBEXE) $(CONFIGPM) $(UNIDATAFILES) utils + $(XCOPY) $(MINIPERL) ..\t\$(NULL) + if exist ..\t\perl.exe del /f ..\t\perl.exe + rename ..\t\miniperl.exe perl.exe + $(XCOPY) $(GLOBEXE) ..\t\$(NULL) + attrib -r "..\t\*.*" + cd ..\t && \ + $(MINIPERL) -I..\lib harness base/*.t comp/*.t cmd/*.t io/*.t opbasic/*.t op/*.t pragma/*.t + +test-prep : all utils ..\pod\perltoc.pod + $(XCOPY) $(PERLEXE) ..\t\$(NULL) + $(XCOPY) $(PERLDLL) ..\t\$(NULL) + $(XCOPY) $(GLOBEXE) ..\t\$(NULL) +# If building with gcc versions 4.x.x or greater, then +# the GCC helper DLL will also need copied to the test directory. +# The name of the dll can change, depending upon which vendor has supplied +# your compiler, and upon the values of "x". +# libstdc++-6.dll is copied if it exists as it, too, may then be needed. +# Without this copying, the op/taint.t test script will fail. + if exist $(CCDLLDIR)\libgcc_s_seh-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_seh-1.dll ..\t\$(NULL) + if exist $(CCDLLDIR)\libgcc_s_sjlj-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_sjlj-1.dll ..\t\$(NULL) + if exist $(CCDLLDIR)\libgcc_s_dw2-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_dw2-1.dll ..\t\$(NULL) + if exist $(CCDLLDIR)\libstdc++-6.dll $(XCOPY) $(CCDLLDIR)\libstdc++-6.dll ..\t\$(NULL) + if exist $(CCDLLDIR)\libwinpthread-1.dll $(XCOPY) $(CCDLLDIR)\libwinpthread-1.dll ..\t\$(NULL) + +test : test-prep + set PERL_STATIC_EXT=$(STATIC_EXT) && \ + cd ..\t && $(PERLEXE) -I..\lib harness $(TEST_SWITCHES) $(TEST_FILES) + +test_porting : test-prep + set PERL_STATIC_EXT=$(STATIC_EXT) && \ + cd ..\t && $(PERLEXE) -I..\lib harness $(TEST_SWITCHES) porting\*.t ..\lib\diagnostics.t + +test-reonly : reonly utils + $(XCOPY) $(PERLEXE) ..\t\$(NULL) + $(XCOPY) $(PERLDLL) ..\t\$(NULL) + $(XCOPY) $(GLOBEXE) ..\t\$(NULL) + cd ..\t && \ + $(PERLEXE) -I..\lib harness $(OPT) -re \bpat\\/ $(EXTRA) && \ + cd ..\win32 + +regen : + cd .. && regen.pl && cd win32 + +test-notty : test-prep + set PERL_STATIC_EXT=$(STATIC_EXT) && \ + set PERL_SKIP_TTY_TEST=1 && \ + cd ..\t && $(PERLEXE) -I.\lib harness $(TEST_SWITCHES) $(TEST_FILES) + +_test : + $(XCOPY) $(PERLEXE) ..\t\$(NULL) + $(XCOPY) $(PERLDLL) ..\t\$(NULL) + $(XCOPY) $(GLOBEXE) ..\t\$(NULL) + set PERL_STATIC_EXT=$(STATIC_EXT) && \ + cd ..\t && $(PERLEXE) -I..\lib harness $(TEST_SWITCHES) $(TEST_FILES) + +_clean : + -@erase miniperlmain$(o) + -@erase $(MINIPERL) + -@erase perlglob$(o) + -@erase perlmain$(o) + -@erase perlmainst$(o) + -@erase config.w32 + -@erase /f config.h + -@erase /f ..\git_version.h + -@erase $(GLOBEXE) + -@erase $(PERLEXE) + -@erase $(WPERLEXE) + -@erase $(PERLEXESTATIC) + -@erase $(PERLSTATICLIB) + -@erase $(PERLDLL) + -@erase $(CORE_OBJ) + -@erase $(GENUUDMAP) $(GENUUDMAP_OBJ) $(GENERATED_HEADERS) + -if exist $(MINIDIR) rmdir /s /q $(MINIDIR) + -if exist $(UNIDATADIR1) rmdir /s /q $(UNIDATADIR1) + -if exist $(UNIDATADIR2) rmdir /s /q $(UNIDATADIR2) + -@erase $(UNIDATAFILES) + -@erase $(WIN32_OBJ) + -@erase $(DLL_OBJ) + -@erase ..\*$(o) ..\*$(a) ..\*.exp *$(o) *$(a) *.exp *.res + -@erase ..\t\*.exe ..\t\*.dll ..\t\*.bat + -@erase *.ilk + -@erase *.pdb + -@erase Extensions_static + +clean : Extensions_clean _clean + +realclean : Extensions_realclean _clean + +# Handy way to run perlbug -ok without having to install and run the +# installed perlbug. We don't re-run the tests here - we trust the user. +# Please *don't* use this unless all tests pass. +# If you want to report test failures, use "gmake nok" instead. +ok: utils + $(PERLEXE) -I..\lib ..\utils\perlbug -ok -s "(UNINSTALLED)" + +okfile: utils + $(PERLEXE) -I..\lib ..\utils\perlbug -ok -s "(UNINSTALLED)" -F perl.ok + +nok: utils + $(PERLEXE) -I..\lib ..\utils\perlbug -nok -s "(UNINSTALLED)" + +nokfile: utils + $(PERLEXE) -I..\lib ..\utils\perlbug -nok -s "(UNINSTALLED)" -F perl.nok diff --git a/win32/Makefile b/win32/Makefile index 922dc15..95028b4 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -5,7 +5,7 @@ # Windows SDK 64-bit compiler and tools # # This is set up to build a perl.exe that runs off a shared library -# (perl522.dll). Also makes individual DLLs for the XS extensions. +# (perl523.dll). Also makes individual DLLs for the XS extensions. # ## @@ -38,7 +38,7 @@ INST_TOP = $(INST_DRV)\perl # versioned installation can be obtained by setting INST_TOP above to a # path that includes an arbitrary version string. # -#INST_VER = \5.22.3 +#INST_VER = \5.23.0 # # Comment this out if you DON'T want your perl installation to have @@ -185,7 +185,7 @@ CCTYPE = MSVC60 # set this to additionally provide a statically linked perl-static.exe. # Note that dynamic loading will not work with this perl, so you must # include required modules statically using the STATIC_EXT or ALL_STATIC -# variables below. A static library perl522s.lib will also be created. +# variables below. A static library perl523s.lib will also be created. # Ordinary perl.exe is not affected by this option. # #BUILD_STATIC = define @@ -441,7 +441,6 @@ INCLUDES = -I$(COREDIR) -I.\include -I. -I.. #PCHFLAGS = -Fpc:\temp\vcmoduls.pch -YX DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT LOCDEFS = -DPERLDLL -DPERL_CORE -SUBSYS = console CXX_FLAG = -TP -EHsc LIBC = msvcrt.lib @@ -553,6 +552,24 @@ LINK_FLAGS = $(LINK_FLAGS) "/manifestdependency:type='Win32' name='Microsoft.Win RSC_FLAGS = -DINCLUDE_MANIFEST !ENDIF +# For XP support in >= 2013, subsystem is always in Config.pm LINK_FLAGS +# else subsystem is only needed for EXE building, not XS DLL building +# Console vs GUI makes no difference for DLLs, so use default for cleaner +# building cmd lines +!IF "$(CCTYPE)" == "MSVC120" || "$(CCTYPE)" == "MSVC120FREE" \ + || "$(CCTYPE)" == "MSVC150" || "$(CCTYPE)" == "MSVC150FREE" +! IF "$(WIN64)" == "define" +LINK_FLAGS = $(LINK_FLAGS) -subsystem:console,"5.02" +! ELSE +LINK_FLAGS = $(LINK_FLAGS) -subsystem:console,"5.01" +! ENDIF +PRIV_LINK_FLAGS = + +!ELSE +PRIV_LINK_FLAGS = -subsystem:console +!ENDIF + +BLINK_FLAGS = $(PRIV_LINK_FLAGS) $(LINK_FLAGS) #################### do not edit below this line ####################### ############# NO USER-SERVICEABLE PARTS BEYOND THIS POINT ############## @@ -578,8 +595,8 @@ o = .obj $(NOOP) $(o).dll: - $(LINK32) -dll -subsystem:windows -implib:$(*B).lib -def:$(*B).def \ - -out:$@ $(LINK_FLAGS) $(LIBFILES) $< $(LIBPERL) + $(LINK32) -dll -implib:$(*B).lib -def:$(*B).def \ + -out:$@ $(BLINK_FLAGS) $(LIBFILES) $< $(LIBPERL) $(EMBED_DLL_MANI) .rc.res: @@ -590,9 +607,9 @@ $(o).dll: # makedef.pl must be updated if this changes, and this should normally # only change when there is an incompatible revision of the public API. -PERLIMPLIB = ..\perl522.lib -PERLSTATICLIB = ..\perl522s.lib -PERLDLL = ..\perl522.dll +PERLIMPLIB = ..\perl523.lib +PERLSTATICLIB = ..\perl523s.lib +PERLDLL = ..\perl523.dll MINIPERL = ..\miniperl.exe MINIDIR = .\mini @@ -867,7 +884,7 @@ static: $(PERLEXESTATIC) #------------------------------------------------------------ $(GLOBEXE) : perlglob$(o) - $(LINK32) $(LINK_FLAGS) $(LIBFILES) -out:$@ -subsystem:$(SUBSYS) \ + $(LINK32) $(BLINK_FLAGS) $(LIBFILES) -out:$@ \ perlglob$(o) setargv$(o) $(EMBED_EXE_MANI) @@ -1003,8 +1020,8 @@ $(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL $(MINIPERL) : ..\lib\buildcustomize.pl ..\lib\buildcustomize.pl : $(MINIDIR) $(MINI_OBJ) ..\write_buildcustomize.pl - $(LINK32) -subsystem:console -out:$(MINIPERL) @<< - $(LINK_FLAGS) $(DELAYLOAD) $(LIBFILES) $(MINI_OBJ) + $(LINK32) -out:$(MINIPERL) @<< + $(BLINK_FLAGS) $(DELAYLOAD) $(LIBFILES) $(MINI_OBJ) << $(EMBED_EXE_MANI:..\lib\buildcustomize.pl=..\miniperl.exe) $(MINIPERL) -I..\lib -f ..\write_buildcustomize.pl .. @@ -1041,7 +1058,7 @@ perldll.def : $(MINIPERL) $(CONFIGPM) ..\embed.fnc ..\makedef.pl create_perllibs $(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static $(LINK32) -dll -def:perldll.def -base:0x28000000 -out:$@ @Extensions_static @<< - $(LINK_FLAGS) $(DELAYLOAD) $(LIBFILES) $(PERLDLL_OBJ) $(PERLDLL_RES) + $(BLINK_FLAGS) $(DELAYLOAD) $(LIBFILES) $(PERLDLL_OBJ) $(PERLDLL_RES) << $(EMBED_DLL_MANI) $(XCOPY) $(PERLIMPLIB) $(COREDIR) @@ -1064,8 +1081,8 @@ $(BITCOUNT_H) : $(GENUUDMAP) $(GENUUDMAP_OBJ) : ..\mg_raw.h $(GENUUDMAP) : $(GENUUDMAP_OBJ) - $(LINK32) -subsystem:console -out:$@ @<< - $(LINK_FLAGS) $(LIBFILES) $(GENUUDMAP_OBJ) + $(LINK32) -out:$@ @<< + $(BLINK_FLAGS) $(LIBFILES) $(GENUUDMAP_OBJ) << $(EMBED_EXE_MANI) @@ -1082,14 +1099,14 @@ perlmainst$(o) : perlmainst.c $(CC) $(CFLAGS_O) $(OBJOUT_FLAG)$@ -c perlmainst.c $(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES) - $(LINK32) -subsystem:console -out:$@ $(LINK_FLAGS) \ + $(LINK32) -out:$@ $(BLINK_FLAGS) \ $(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB) $(LIBFILES) $(SETARGV_OBJ) $(EMBED_EXE_MANI) copy $(PERLEXE) $(WPERLEXE) $(MINIPERL) -I..\lib bin\exetype.pl $(WPERLEXE) WINDOWS $(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES) - $(LINK32) -subsystem:console -out:$@ $(LINK_FLAGS) \ + $(LINK32) -out:$@ $(BLINK_FLAGS) \ $(PERLEXEST_OBJ) $(PERLEXE_RES) $(PERLSTATICLIB) $(LIBFILES) $(SETARGV_OBJ) $(EMBED_EXE_MANI) @@ -1176,7 +1193,7 @@ utils: $(PERLEXE) ..\utils\Makefile copy ..\README.tw ..\pod\perltw.pod copy ..\README.vos ..\pod\perlvos.pod copy ..\README.win32 ..\pod\perlwin32.pod - copy ..\pod\perldelta.pod ..\pod\perl5223delta.pod + copy ..\pod\perldelta.pod ..\pod\perl5230delta.pod cd ..\win32 $(PERLEXE) $(PL2BAT) $(UTILS) $(MINIPERL) -I..\lib ..\autodoc.pl .. @@ -1272,7 +1289,7 @@ distclean: realclean -if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS -cd $(PODDIR) && del /f *.html *.bat roffitall \ - perl5223delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ + perl5230delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \ perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \ perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \ diff --git a/win32/Makefile.ce b/win32/Makefile.ce index 089d5cb..67d43c9 100644 --- a/win32/Makefile.ce +++ b/win32/Makefile.ce @@ -5,7 +5,7 @@ # SRCDIR = .. -PV = 522 +PV = 523 # INSTALL_ROOT specifies a path where this perl will be installed on CE device INSTALL_ROOT=/netzwerk/sprache/perl diff --git a/win32/config.ce b/win32/config.ce index c0c7452..3c10d77 100644 --- a/win32/config.ce +++ b/win32/config.ce @@ -599,7 +599,10 @@ db_version_patch='0' direntrytype='struct direct' dlext='dll' dlsrc='dl_win32.xs' +doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f' doublekind='3' +doublemantbits='52' +doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f' doublesize='8' drand01='Perl_drand48()' drand48_r_proto='0' @@ -819,7 +822,10 @@ lns='copy' localtime_r_proto='0' locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include' loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib' +longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f' longdblkind='3' +longdblmantbits='64' +longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f' longdblsize='10' longlongsize='8' longsize='4' @@ -871,6 +877,7 @@ nv_preserves_uv_bits='32' nveformat='"e"' nvfformat='"f"' nvgformat='"g"' +nvmantbits='52' nvsize='8' nvtype='double' o_nonblock='O_NONBLOCK' diff --git a/win32/config.gc b/win32/config.gc index 758e02d..e0eb238 100644 --- a/win32/config.gc +++ b/win32/config.gc @@ -601,7 +601,10 @@ direntrytype='struct direct' dlext='dll' dlltool='~ARCHPREFIX~dlltool' dlsrc='dl_win32.xs' +doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f' doublekind='3' +doublemantbits='52' +doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f' doublesize='8' drand01='Perl_drand48()' drand48_r_proto='0' @@ -846,7 +849,10 @@ lns='copy' localtime_r_proto='0' locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include' loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib' +longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00' longdblkind='3' +longdblmantbits='64' +longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00' longdblsize='12' longlongsize='8' longsize='4' @@ -900,6 +906,7 @@ nv_preserves_uv_bits='32' nveformat='"e"' nvfformat='"f"' nvgformat='"g"' +nvmantbits='52' nvsize='8' nvtype='double' o_nonblock='O_NONBLOCK' diff --git a/win32/config.vc b/win32/config.vc index ecfe970..b4efd32 100644 --- a/win32/config.vc +++ b/win32/config.vc @@ -600,7 +600,10 @@ db_version_patch='0' direntrytype='struct direct' dlext='dll' dlsrc='dl_win32.xs' +doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f' doublekind='3' +doublemantbits='52' +doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f' doublesize='8' drand01='Perl_drand48()' drand48_r_proto='0' @@ -845,7 +848,10 @@ lns='copy' localtime_r_proto='0' locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include' loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib' +longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f' longdblkind='0' +longdblmantbits='52' +longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f' longdblsize='8' longlongsize='8' longsize='4' @@ -899,6 +905,7 @@ nv_preserves_uv_bits='32' nveformat='"e"' nvfformat='"f"' nvgformat='"g"' +nvmantbits='52' nvsize='8' nvtype='double' o_nonblock='O_NONBLOCK' diff --git a/win32/config_H.ce b/win32/config_H.ce index 196f419..1766a95 100644 --- a/win32/config_H.ce +++ b/win32/config_H.ce @@ -2716,6 +2716,46 @@ */ #define DOUBLESIZE 8 /**/ +/* DOUBLEINFBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes for the double precision infinity. + */ +/* DOUBLENANBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes (0xHH) for the double precision not-a-number. + */ +/* LONGDBLINFBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes for the long double precision infinity. + */ +/* LONGDBLNANBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes (0xHH) for the long double precision not-a-number. + */ +#define DOUBLEINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f /**/ +#define DOUBLENANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f /**/ +#define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f /**/ +#define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f /**/ + +/* DOUBLEMANTBITS: + * This symbol, if defined, tells how many mantissa bits + * there are in double precision floating point format. + * Note that this is usually DBL_MANT_DIG minus one, since + * with the standard IEEE 754 formats DBL_MANT_DIG includes + * the implicit bit, which doesn't really exist. + */ +#define DOUBLEMANTBITS 52 + +/* LONGDBLMANTBITS: + * This symbol, if defined, tells how many mantissa bits + * there are in long double precision floating point format. + * Note that this can be LDBL_MANT_DIG minus one, + * since LDBL_MANT_DIG can include the IEEE 754 implicit bit. + * The common x86-style 80-bit long double does not have + * an implicit bit. + */ +#define LONGDBLMANTBITS 52 + /* EBCDIC: * This symbol, if defined, indicates that this system uses * EBCDIC encoding. @@ -3382,7 +3422,7 @@ * in programs that are not prepared to deal with ~ expansion at run-time. */ #define PRIVLIB "\\Storage Card\\perl58m\\lib" /**/ -#define PRIVLIB_EXP (win32_get_privlib(PERL_VERSION_STRING, NULL)) /**/ +#define PRIVLIB_EXP (PerlEnv_lib_path(PERL_VERSION_STRING, NULL)) /**/ /* PTRSIZE: * This symbol contains the size of a pointer, so that the C preprocessor @@ -3513,7 +3553,7 @@ * be tacked onto this variable to generate a list of directories to search. */ #define SITELIB "\\Storage Card\\perl58m\\site\\lib" /**/ -#define SITELIB_EXP (win32_get_sitelib(PERL_VERSION_STRING, NULL)) /**/ +#define SITELIB_EXP (PerlEnv_sitelib_path(PERL_VERSION_STRING, NULL)) /**/ #define SITELIB_STEM "" /**/ /* Size_t_size: diff --git a/win32/config_H.gc b/win32/config_H.gc index 796eec9..a9c6162 100644 --- a/win32/config_H.gc +++ b/win32/config_H.gc @@ -1918,10 +1918,8 @@ * LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN * LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN * LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN - * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE - * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE - * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE - * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE + * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN + * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN * LONG_DOUBLE_IS_UNKNOWN_FORMAT * It is only defined if the system supports long doubles. */ @@ -1935,10 +1933,8 @@ #define LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 2 #define LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN 3 #define LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN 4 -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE 5 -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE 6 -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE 7 -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE 8 +#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN 5 +#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN 6 #define LONG_DOUBLE_IS_UNKNOWN_FORMAT -1 #endif @@ -2675,6 +2671,46 @@ */ #define DOUBLESIZE 8 /**/ +/* DOUBLEINFBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes for the double precision infinity. + */ +/* DOUBLENANBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes (0xHH) for the double precision not-a-number. + */ +/* LONGDBLINFBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes for the long double precision infinity. + */ +/* LONGDBLNANBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes (0xHH) for the long double precision not-a-number. + */ +#define DOUBLEINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f /**/ +#define DOUBLENANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f /**/ +#define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00 /**/ +#define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00 /**/ + +/* DOUBLEMANTBITS: + * This symbol, if defined, tells how many mantissa bits + * there are in double precision floating point format. + * Note that this is usually DBL_MANT_DIG minus one, since + * with the standard IEEE 754 formats DBL_MANT_DIG includes + * the implicit bit, which doesn't really exist. + */ +#define DOUBLEMANTBITS 52 + +/* LONGDBLMANTBITS: + * This symbol, if defined, tells how many mantissa bits + * there are in long double precision floating point format. + * Note that this can be LDBL_MANT_DIG minus one, + * since LDBL_MANT_DIG can include the IEEE 754 implicit bit. + * The common x86-style 80-bit long double does not have + * an implicit bit. + */ +#define LONGDBLMANTBITS 64 + /* EBCDIC: * This symbol, if defined, indicates that this system uses * EBCDIC encoding. @@ -3068,7 +3104,7 @@ * in programs that are not prepared to deal with ~ expansion at run-time. */ #define PRIVLIB "c:\\perl\\lib" /**/ -#define PRIVLIB_EXP (win32_get_privlib(PERL_VERSION_STRING, NULL)) /**/ +#define PRIVLIB_EXP (PerlEnv_lib_path(PERL_VERSION_STRING, NULL)) /**/ /* CAN_PROTOTYPE: * If defined, this macro indicates that the C compiler can handle @@ -3235,7 +3271,7 @@ * be tacked onto this variable to generate a list of directories to search. */ #define SITELIB "c:\\perl\\site\\lib" /**/ -#define SITELIB_EXP (win32_get_sitelib(PERL_VERSION_STRING, NULL)) /**/ +#define SITELIB_EXP (PerlEnv_sitelib_path(PERL_VERSION_STRING, NULL)) /**/ #define SITELIB_STEM "" /**/ /* Size_t_size: diff --git a/win32/config_H.vc b/win32/config_H.vc index 2a839ef..e945b3f 100644 --- a/win32/config_H.vc +++ b/win32/config_H.vc @@ -1912,10 +1912,8 @@ * LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN * LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN * LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN - * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE - * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE - * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE - * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE + * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN + * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN * LONG_DOUBLE_IS_UNKNOWN_FORMAT * It is only defined if the system supports long doubles. */ @@ -1929,10 +1927,8 @@ #define LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 2 #define LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN 3 #define LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN 4 -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE 5 -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE 6 -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE 7 -#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE 8 +#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN 5 +#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN 6 #define LONG_DOUBLE_IS_UNKNOWN_FORMAT -1 #endif @@ -2667,6 +2663,46 @@ */ #define DOUBLESIZE 8 /**/ +/* DOUBLEINFBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes for the double precision infinity. + */ +/* DOUBLENANBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes (0xHH) for the double precision not-a-number. + */ +/* LONGDBLINFBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes for the long double precision infinity. + */ +/* LONGDBLNANBYTES: + * This symbol, if defined, is a comma-separated list of + * hexadecimal bytes (0xHH) for the long double precision not-a-number. + */ +#define DOUBLEINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f /**/ +#define DOUBLENANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f /**/ +#define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f /**/ +#define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f /**/ + +/* DOUBLEMANTBITS: + * This symbol, if defined, tells how many mantissa bits + * there are in double precision floating point format. + * Note that this is usually DBL_MANT_DIG minus one, since + * with the standard IEEE 754 formats DBL_MANT_DIG includes + * the implicit bit, which doesn't really exist. + */ +#define DOUBLEMANTBITS 52 + +/* LONGDBLMANTBITS: + * This symbol, if defined, tells how many mantissa bits + * there are in long double precision floating point format. + * Note that this can be LDBL_MANT_DIG minus one, + * since LDBL_MANT_DIG can include the IEEE 754 implicit bit. + * The common x86-style 80-bit long double does not have + * an implicit bit. + */ +#define LONGDBLMANTBITS 52 + /* EBCDIC: * This symbol, if defined, indicates that this system uses * EBCDIC encoding. @@ -3060,7 +3096,7 @@ * in programs that are not prepared to deal with ~ expansion at run-time. */ #define PRIVLIB "c:\\perl\\lib" /**/ -#define PRIVLIB_EXP (win32_get_privlib(PERL_VERSION_STRING, NULL)) /**/ +#define PRIVLIB_EXP (PerlEnv_lib_path(PERL_VERSION_STRING, NULL)) /**/ /* CAN_PROTOTYPE: * If defined, this macro indicates that the C compiler can handle @@ -3227,7 +3263,7 @@ * be tacked onto this variable to generate a list of directories to search. */ #define SITELIB "c:\\perl\\site\\lib" /**/ -#define SITELIB_EXP (win32_get_sitelib(PERL_VERSION_STRING, NULL)) /**/ +#define SITELIB_EXP (PerlEnv_sitelib_path(PERL_VERSION_STRING, NULL)) /**/ #define SITELIB_STEM "" /**/ /* Size_t_size: diff --git a/win32/config_h.PL b/win32/config_h.PL index 03dddb3..1280655 100644 --- a/win32/config_h.PL +++ b/win32/config_h.PL @@ -63,7 +63,12 @@ while () s#(.)/\*\*/#$1/ **/# if(/^\/\*/); #avoid "/*" inside comments if (/^\s*#define\s+(PRIVLIB|SITELIB|VENDORLIB)_EXP/) { - $_ = "#define ". $1 . "_EXP (win32_get_". lc($1) . "(PERL_VERSION_STRING, NULL))\t/**/\n"; + $_ = '#define '. $1 . '_EXP ('.( + $1 eq 'PRIVLIB' ? 'PerlEnv_lib_path' : + $1 eq 'SITELIB' ? 'PerlEnv_sitelib_path' : + $1 eq 'VENDORLIB' ? 'PerlEnv_vendorlib_path' : + die "unknown *LIB_EXP define \"$1\"" + ). "(PERL_VERSION_STRING, NULL))\t/**/\n"; } # incpush() handles archlibs, so disable them elsif (/^\s*#define\s+(ARCHLIB|SITEARCH|VENDORARCH)_EXP/) diff --git a/win32/config_sh.PL b/win32/config_sh.PL index 74e5f0d..98255a8 100644 --- a/win32/config_sh.PL +++ b/win32/config_sh.PL @@ -198,19 +198,6 @@ else { $opt{uvxformat} = '"lx"'; } -unless ($opt{cc} =~ /\bcl/) { - if ($opt{WIN64} eq 'define') { - $opt{longdblsize} = 16; - $opt{longdblinfbytes} = '0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'; - $opt{longdblnanbytes} = '0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'; - } - else { - $opt{longdblsize} = 12; - $opt{longdblinfbytes} = '0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00'; - $opt{longdblnanbytes} = '0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00'; - } -} - # set long double options if ($opt{uselongdouble} eq 'define') { $opt{d_Gconvert} = 'sprintf((b),"%.*""Lg",(n),(x))'; @@ -227,7 +214,14 @@ if ($opt{uselongdouble} eq 'define') { $opt{d_PRIfldbl} = 'define'; $opt{d_PRIgldbl} = 'define'; $opt{d_SCNfldbl} = 'define'; - $opt{nvsize} = $opt{longdblsize}; + if ($opt{WIN64} eq 'define') { + $opt{longdblsize} = 16; + $opt{nvsize} = 16; + } + else { + $opt{longdblsize} = 12; + $opt{nvsize} = 12; + } $opt{nvtype} = 'long double'; $opt{nv_overflows_integers_at} = '256.0*256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0'; $opt{nvEUformat} = '"LE"'; @@ -236,8 +230,6 @@ if ($opt{uselongdouble} eq 'define') { $opt{nveformat} = '"Le"'; $opt{nvfformat} = '"Lf"'; $opt{nvgformat} = '"Lg"'; - $opt{longdblkind} = 3; - $opt{longdblmantbits} = 64; } else { $opt{d_Gconvert} = 'sprintf((b),"%.*g",(n),(x))'; @@ -254,6 +246,7 @@ else { $opt{d_PRIfldbl} = 'undef'; $opt{d_PRIgldbl} = 'undef'; $opt{d_SCNfldbl} = 'undef'; + $opt{longdblsize} = 8; $opt{nvsize} = 8; $opt{nvtype} = 'double'; $opt{nv_overflows_integers_at} = '256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'; diff --git a/win32/fcrypt.c b/win32/fcrypt.c index 4433e68..fd42d75 100644 --- a/win32/fcrypt.c +++ b/win32/fcrypt.c @@ -1,7 +1,6 @@ /* fcrypt.c */ /* Copyright (C) 1993 Eric Young - see README for more details */ #include -#include /* Eric Young. * This version of crypt has been developed from my MIT compatable @@ -465,14 +464,6 @@ unsigned const char cov_2char[64]={ 0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A }; -/* the salt for classic DES crypt (which is all we implement here) - permits [./0-9A-Za-z], since '.' and '/' immediately preceed - '0' we don't need individual checks for '.' and '/' -*/ -#define good_for_salt(c) \ - ((c) >= '.' && (c) <= '9' || (c) >= 'A' && (c) <= 'Z' || \ - (c) >= 'a' && (c) <= 'z') - char * des_fcrypt(const char *buf, const char *salt, char *buff) { @@ -485,11 +476,6 @@ des_fcrypt(const char *buf, const char *salt, char *buff) unsigned char *b=bb; unsigned char c,u; - if (!good_for_salt(salt[0]) || !good_for_salt(salt[1])) { - errno = EINVAL; - return NULL; - } - /* eay 25/08/92 * If you call crypt("pwd","*") as often happens when you * have * as the pwd field in /etc/passwd, the function diff --git a/win32/makefile.mk b/win32/makefile.mk index 7b97ce5..07ba8b6 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -6,7 +6,7 @@ # Windows SDK 64-bit compiler and tools # # This is set up to build a perl.exe that runs off a shared library -# (perl522.dll). Also makes individual DLLs for the XS extensions. +# (perl523.dll). Also makes individual DLLs for the XS extensions. # ## @@ -44,7 +44,7 @@ INST_TOP *= $(INST_DRV)\perl # versioned installation can be obtained by setting INST_TOP above to a # path that includes an arbitrary version string. # -#INST_VER *= \5.22.3 +#INST_VER *= \5.23.0 # # Comment this out if you DON'T want your perl installation to have @@ -205,7 +205,7 @@ CCTYPE *= GCC # set this to additionally provide a statically linked perl-static.exe. # Note that dynamic loading will not work with this perl, so you must # include required modules statically using the STATIC_EXT or ALL_STATIC -# variables below. A static library perl522s.lib will also be created. +# variables below. A static library perl523s.lib will also be created. # Ordinary perl.exe is not affected by this option. # #BUILD_STATIC *= define @@ -474,7 +474,6 @@ DEFINES = -DWIN32 DEFINES += -DWIN64 -DCONSERVATIVE .ENDIF LOCDEFS = -DPERLDLL -DPERL_CORE -SUBSYS = console CXX_FLAG = -xc++ # Current releases of MinGW 5.1.4 (as of 11-Aug-2009) will fail to link @@ -560,7 +559,6 @@ INCLUDES = -I$(COREDIR) -I.\include -I. -I.. #PCHFLAGS = -Fpc:\temp\vcmoduls.pch -YX DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT LOCDEFS = -DPERLDLL -DPERL_CORE -SUBSYS = console CXX_FLAG = -TP -EHsc LIBC = msvcrt.lib @@ -673,10 +671,23 @@ RSC_FLAGS = -DINCLUDE_MANIFEST .ENDIF -# used to allow local linking flags that are not propogated into Config.pm, -# currently unused -# -- BKS, 12-12-1999 -PRIV_LINK_FLAGS *= +# For XP support in >= 2013, subsystem is always in Config.pm LINK_FLAGS +# else subsystem is only needed for EXE building, not XS DLL building +# Console vs GUI makes no difference for DLLs, so use default for cleaner +# building cmd lines +.IF "$(CCTYPE)" == "MSVC120" || "$(CCTYPE)" == "MSVC120FREE" \ + || "$(CCTYPE)" == "MSVC150" || "$(CCTYPE)" == "MSVC150FREE" +.IF "$(WIN64)" == "define" +LINK_FLAGS += -subsystem:console,"5.02" +.ELSE +LINK_FLAGS += -subsystem:console,"5.01" +.ENDIF +PRIV_LINK_FLAGS = + +.ELIF "$(CCTYPE)" != "GCC" +PRIV_LINK_FLAGS = -subsystem:console +.ENDIF + BLINK_FLAGS = $(PRIV_LINK_FLAGS) $(LINK_FLAGS) #################### do not edit below this line ####################### @@ -719,7 +730,7 @@ $(o).dll: $(LINK32) -o $@ $(BLINK_FLAGS) $< $(LIBFILES) $(IMPLIB) --input-def $(*B).def --output-lib $(*B).a $@ .ELSE - $(LINK32) -dll -subsystem:windows -implib:$(*B).lib -def:$(*B).def \ + $(LINK32) -dll -implib:$(*B).lib -def:$(*B).def \ -out:$@ $(BLINK_FLAGS) $(LIBFILES) $< $(LIBPERL) $(EMBED_DLL_MANI) .ENDIF @@ -808,8 +819,8 @@ UTILS = \ CFGSH_TMPL = config.gc CFGH_TMPL = config_H.gc -PERLIMPLIB = ..\libperl522$(a) -PERLSTATICLIB = ..\libperl522s$(a) +PERLIMPLIB = ..\libperl523$(a) +PERLSTATICLIB = ..\libperl523s$(a) INT64 = long long .ELSE @@ -822,9 +833,9 @@ INT64 = __int64 # makedef.pl must be updated if this changes, and this should normally # only change when there is an incompatible revision of the public API. -PERLIMPLIB *= ..\perl522$(a) -PERLSTATICLIB *= ..\perl522s$(a) -PERLDLL = ..\perl522.dll +PERLIMPLIB *= ..\perl523$(a) +PERLSTATICLIB *= ..\perl523s$(a) +PERLDLL = ..\perl523.dll XCOPY = xcopy /f /r /i /d /y RCOPY = xcopy /f /r /i /e /d /y @@ -1037,8 +1048,7 @@ $(GLOBEXE) : perlglob$(o) .IF "$(CCTYPE)" == "GCC" $(LINK32) $(BLINK_FLAGS) -mconsole -o $@ perlglob$(o) $(LIBFILES) .ELSE - $(LINK32) $(BLINK_FLAGS) $(LIBFILES) -out:$@ -subsystem:$(SUBSYS) \ - perlglob$(o) setargv$(o) + $(LINK32) $(BLINK_FLAGS) $(LIBFILES) -out:$@ perlglob$(o) setargv$(o) $(EMBED_EXE_MANI) .ENDIF @@ -1250,7 +1260,7 @@ $(MINIPERL) : ..\lib\buildcustomize.pl $(LINK32) -v -mconsole -o $(MINIPERL) $(BLINK_FLAGS) \ $(mktmp $(LKPRE) $(MINI_OBJ) $(LIBFILES) $(LKPOST)) .ELSE - $(LINK32) -subsystem:console -out:$(MINIPERL) $(BLINK_FLAGS) \ + $(LINK32) -out:$(MINIPERL) $(BLINK_FLAGS) \ @$(mktmp $(DELAYLOAD) $(LIBFILES) $(MINI_OBJ)) $(EMBED_EXE_MANI:s/$@/$(MINIPERL)/) .ENDIF @@ -1348,8 +1358,7 @@ $(GENUUDMAP) : $(GENUUDMAP_OBJ) $(LINK32) -v -o $@ $(BLINK_FLAGS) \ $(mktmp $(LKPRE) $(GENUUDMAP_OBJ) $(LIBFILES) $(LKPOST)) .ELSE - $(LINK32) -subsystem:console -out:$@ $(BLINK_FLAGS) \ - @$(mktmp $(LIBFILES) $(GENUUDMAP_OBJ)) + $(LINK32) -out:$@ $(BLINK_FLAGS) @$(mktmp $(LIBFILES) $(GENUUDMAP_OBJ)) $(EMBED_EXE_MANI) .ENDIF @@ -1370,7 +1379,7 @@ $(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES) $(LINK32) -mconsole -o $@ $(BLINK_FLAGS) \ $(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB) $(LIBFILES) .ELSE - $(LINK32) -subsystem:console -out:$@ $(BLINK_FLAGS) \ + $(LINK32) -out:$@ $(BLINK_FLAGS) \ $(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB) $(LIBFILES) $(SETARGV_OBJ) $(EMBED_EXE_MANI) .ENDIF @@ -1382,7 +1391,7 @@ $(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES) $(LINK32) -mconsole -o $@ $(BLINK_FLAGS) \ $(PERLEXEST_OBJ) $(PERLEXE_RES) $(PERLSTATICLIB) $(LIBFILES) .ELSE - $(LINK32) -subsystem:console -out:$@ $(BLINK_FLAGS) \ + $(LINK32) -out:$@ $(BLINK_FLAGS) \ $(PERLEXEST_OBJ) $(PERLEXE_RES) $(PERLSTATICLIB) $(LIBFILES) $(SETARGV_OBJ) $(EMBED_EXE_MANI) .ENDIF @@ -1468,7 +1477,7 @@ utils: $(PERLEXE) ..\utils\Makefile copy ..\README.tw ..\pod\perltw.pod copy ..\README.vos ..\pod\perlvos.pod copy ..\README.win32 ..\pod\perlwin32.pod - copy ..\pod\perldelta.pod ..\pod\perl5223delta.pod + copy ..\pod\perldelta.pod ..\pod\perl5230delta.pod $(PERLEXE) $(PL2BAT) $(UTILS) $(MINIPERL) -I..\lib ..\autodoc.pl .. $(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q .. @@ -1563,7 +1572,7 @@ distclean: realclean -if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS -cd $(PODDIR) && del /f *.html *.bat roffitall \ - perl5223delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ + perl5230delta.pod perlaix.pod perlamiga.pod perlandroid.pod \ perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \ perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \ perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \ diff --git a/win32/perlexe.manifest b/win32/perlexe.manifest index be9a9c8..24ee19d 100644 --- a/win32/perlexe.manifest +++ b/win32/perlexe.manifest @@ -15,18 +15,4 @@ processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> - - - - - - - - - - - - - - diff --git a/win32/perlhost.h b/win32/perlhost.h index b1c6c80..7a0c3b3 100644 --- a/win32/perlhost.h +++ b/win32/perlhost.h @@ -26,9 +26,6 @@ #endif START_EXTERN_C -extern char * g_win32_get_privlib(const char *pl, STRLEN *const len); -extern char * g_win32_get_sitelib(const char *pl, STRLEN *const len); -extern char * g_win32_get_vendorlib(const char *pl, STRLEN *const len); extern char * g_getlogin(void); END_EXTERN_C @@ -519,20 +516,20 @@ PerlEnvOsId(struct IPerlEnv* piPerl) char* PerlEnvLibPath(struct IPerlEnv* piPerl, const char *pl, STRLEN *const len) { - return g_win32_get_privlib(pl, len); + return win32_get_privlib(pl, len); } char* PerlEnvSiteLibPath(struct IPerlEnv* piPerl, const char *pl, STRLEN *const len) { - return g_win32_get_sitelib(pl, len); + return win32_get_sitelib(pl, len); } char* PerlEnvVendorLibPath(struct IPerlEnv* piPerl, const char *pl, STRLEN *const len) { - return g_win32_get_vendorlib(pl, len); + return win32_get_vendorlib(pl, len); } void diff --git a/win32/pod.mak b/win32/pod.mak index 820dd92..bdea85e 100644 --- a/win32/pod.mak +++ b/win32/pod.mak @@ -39,11 +39,8 @@ POD = perl.pod \ perl5200delta.pod \ perl5201delta.pod \ perl5202delta.pod \ - perl5203delta.pod \ perl5220delta.pod \ - perl5221delta.pod \ - perl5222delta.pod \ - perl5223delta.pod \ + perl5230delta.pod \ perl561delta.pod \ perl56delta.pod \ perl581delta.pod \ @@ -177,11 +174,8 @@ MAN = perl.man \ perl5200delta.man \ perl5201delta.man \ perl5202delta.man \ - perl5203delta.man \ perl5220delta.man \ - perl5221delta.man \ - perl5222delta.man \ - perl5223delta.man \ + perl5230delta.man \ perl561delta.man \ perl56delta.man \ perl581delta.man \ @@ -315,11 +309,8 @@ HTML = perl.html \ perl5200delta.html \ perl5201delta.html \ perl5202delta.html \ - perl5203delta.html \ perl5220delta.html \ - perl5221delta.html \ - perl5222delta.html \ - perl5223delta.html \ + perl5230delta.html \ perl561delta.html \ perl56delta.html \ perl581delta.html \ @@ -453,11 +444,8 @@ TEX = perl.tex \ perl5200delta.tex \ perl5201delta.tex \ perl5202delta.tex \ - perl5203delta.tex \ perl5220delta.tex \ - perl5221delta.tex \ - perl5222delta.tex \ - perl5223delta.tex \ + perl5230delta.tex \ perl561delta.tex \ perl56delta.tex \ perl581delta.tex \ diff --git a/win32/vdir.h b/win32/vdir.h index b5c6bc6..42c306b 100644 --- a/win32/vdir.h +++ b/win32/vdir.h @@ -15,7 +15,6 @@ * and one additional slot for a UNC name */ const int driveCount = ('Z'-'A')+1+1; -const int driveLetterCount = ('Z'-'A')+1; class VDir { @@ -384,7 +383,6 @@ char *VDir::MapPathA(const char *pInName) * possiblities -- relative path or absolute path with or without drive letter * OR UNC name */ - int driveIndex; char szBuffer[(MAX_PATH+1)*2]; char szlBuf[MAX_PATH+1]; int length = strlen(pInName); @@ -404,18 +402,15 @@ char *VDir::MapPathA(const char *pInName) } /* strlen(pInName) is now <= MAX_PATH */ - if (length > 1 && pInName[1] == ':') { + if (pInName[1] == ':') { /* has drive letter */ - if (length > 2 && IsPathSep(pInName[2])) { + if (IsPathSep(pInName[2])) { /* absolute with drive letter */ DoGetFullPathNameA((char*)pInName, sizeof(szLocalBufferA), szLocalBufferA); } else { /* relative path with drive letter */ - driveIndex = DriveIndex(*pInName); - if (driveIndex < 0 || driveIndex >= driveLetterCount) - return (char *)pInName; - strcpy(szBuffer, GetDirA(driveIndex)); + strcpy(szBuffer, GetDirA(DriveIndex(*pInName))); strcat(szBuffer, &pInName[2]); if(strlen(szBuffer) > MAX_PATH) szBuffer[MAX_PATH] = '\0'; @@ -425,7 +420,7 @@ char *VDir::MapPathA(const char *pInName) } else { /* no drive letter */ - if (length > 1 && IsPathSep(pInName[1]) && IsPathSep(pInName[0])) { + if (IsPathSep(pInName[1]) && IsPathSep(pInName[0])) { /* UNC name */ DoGetFullPathNameA((char*)pInName, sizeof(szLocalBufferA), szLocalBufferA); } @@ -616,7 +611,6 @@ WCHAR* VDir::MapPathW(const WCHAR *pInName) * possiblities -- relative path or absolute path with or without drive letter * OR UNC name */ - int driveIndex; WCHAR szBuffer[(MAX_PATH+1)*2]; WCHAR szlBuf[MAX_PATH+1]; int length = wcslen(pInName); @@ -636,7 +630,7 @@ WCHAR* VDir::MapPathW(const WCHAR *pInName) } /* strlen(pInName) is now <= MAX_PATH */ - if (length > 1 && pInName[1] == ':') { + if (pInName[1] == ':') { /* has drive letter */ if (IsPathSep(pInName[2])) { /* absolute with drive letter */ @@ -644,10 +638,7 @@ WCHAR* VDir::MapPathW(const WCHAR *pInName) } else { /* relative path with drive letter */ - driveIndex = DriveIndex(*pInName); - if (driveIndex < 0 || driveIndex >= driveLetterCount) - return (WCHAR *)pInName; - wcscpy(szBuffer, GetDirW(driveIndex)); + wcscpy(szBuffer, GetDirW(DriveIndex((char)*pInName))); wcscat(szBuffer, &pInName[2]); if(wcslen(szBuffer) > MAX_PATH) szBuffer[MAX_PATH] = '\0'; @@ -657,7 +648,7 @@ WCHAR* VDir::MapPathW(const WCHAR *pInName) } else { /* no drive letter */ - if (length > 1 && IsPathSep(pInName[1]) && IsPathSep(pInName[0])) { + if (IsPathSep(pInName[1]) && IsPathSep(pInName[0])) { /* UNC name */ DoGetFullPathNameW((WCHAR*)pInName, (sizeof(szLocalBufferW)/sizeof(WCHAR)), szLocalBufferW); } diff --git a/win32/win32.c b/win32/win32.c index 879b613..0bb0348 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -89,12 +89,6 @@ END_EXTERN_C #define EXECF_SPAWN_NOWAIT 3 #if defined(PERL_IMPLICIT_SYS) -# undef win32_get_privlib -# define win32_get_privlib g_win32_get_privlib -# undef win32_get_sitelib -# define win32_get_sitelib g_win32_get_sitelib -# undef win32_get_vendorlib -# define win32_get_vendorlib g_win32_get_vendorlib # undef getlogin # define getlogin g_getlogin #endif @@ -3372,7 +3366,7 @@ win32_rmdir(const char *dir) DllExport int win32_chdir(const char *dir) { - if (!dir) { + if (!dir || !*dir) { errno = ENOENT; return -1; } diff --git a/win32/win32.h b/win32/win32.h index daefeb8..3b35b6c 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -60,9 +60,6 @@ # ifdef PERL_GLOBAL_STRUCT # error PERL_GLOBAL_STRUCT cannot be defined with PERL_IMPLICIT_SYS # endif -# define win32_get_privlib PerlEnv_lib_path -# define win32_get_sitelib PerlEnv_sitelib_path -# define win32_get_vendorlib PerlEnv_vendorlib_path #endif #ifdef __GNUC__ @@ -636,14 +633,6 @@ EXTERN_C _CRTIMP ioinfo* __pioinfo[]; #endif #define PERLIO_NOT_STDIO 0 -#include "perlio.h" - -/* - * This provides a layer of functions and macros to ensure extensions will - * get to use the same RTL functions as the core. - */ -#include "win32iop.h" - #define EXEC_ARGV_CAST(x) ((const char *const *) x) DllExport void *win32_signal_context(void); diff --git a/win32/wince.c b/win32/wince.c index 61eeecb..b3c5b52 100644 --- a/win32/wince.c +++ b/win32/wince.c @@ -52,12 +52,6 @@ #define EXECF_SPAWN_NOWAIT 3 #if defined(PERL_IMPLICIT_SYS) -# undef win32_get_privlib -# define win32_get_privlib g_win32_get_privlib -# undef win32_get_sitelib -# define win32_get_sitelib g_win32_get_sitelib -# undef win32_get_vendorlib -# define win32_get_vendorlib g_win32_get_vendorlib # undef do_spawn # define do_spawn g_do_spawn # undef getlogin -- 2.7.4